在有关编译器的书籍章节中,有以下语法定义和示例代码。
...
statement: whileStatement
| ifStatement
| ... // Other statement possibilities
| '{' statementSequence '}'
whileStatement: 'while' '(' expression ')' statement
ifStatement: ... // Definition of "if"
statementSequence: '' // empty sequence (null)
| statement ';' statementSequence
expression: ... // Definition of "expression"
... // More definitions follow
while (expression) {
statement;
statement;
while (expression) {
while(expression)
statement;
statement;
}
}
如果没有 ,代码的最内层while
循环如何有效{
}
?在我看来,语句定义需要它们。这是书中的错误还是我误解了语法?
[编辑]对于任何歧义,我深表歉意。上面输入的所有内容都是书中逐字记录的。遗漏不是我做的。