在语法制导翻译中,空返产生式的作用(M->e)
时间: 2023-11-27 22:55:34 浏览: 216
空返产生式是一类语法制导翻译中常用的产生式,它的作用是允许翻译器在遇到某些语法结构时不产生任何代码或者值。
具体来说,当语法分析器遇到一个空返产生式时,它会将该产生式所对应的语法结构解释为一个空值,而不会生成任何代码或值。这样,翻译器就可以通过空返产生式来处理一些不需要生成代码或值的语法结构,比如空语句、空语句块等等。
举个例子,考虑下面这个简单的语法制导翻译产生式:
```
stmt → if (exp) stmt
| if (exp) stmt else stmt
| other_stmt
```
其中,第三个产生式 `other_stmt → ...` 可以被翻译为一个空返产生式 `other_stmt → e`,表示如果语法分析器遇到一个非 if 语句,则不需要生成任何代码或值。这样,翻译器就可以通过空返产生式来处理 if 语句和非 if 语句的情况。
总之,空返产生式在语法制导翻译中扮演着很重要的角色,它可以帮助翻译器处理一些不需要生成任何代码或值的语法结构,从而简化翻译器的实现。
阅读全文