实验指导 step8:循环语句
step8 我们要增加对循环语句,以及 break/continue 的支持:
statement : 'return' expression ';' | expression? ';' | 'if' '(' expression ')' statement ('else' statement)? | compound_statement| 'for' '(' expression? ';' expression? ';' expression? ')' statement | 'for' '(' declaration expression? ';' expression? ')' statement | 'while' '(' expression ')' statement | 'do' statement 'while' '(' expression ')' ';' | 'break' ';' | 'continue' ';'
循环语句的语义和 C 的也相同,并且我们要检查 break/continue 不能出现在循环外。