我已经定义了一些语句,后跟我的编译器中的表达式列表。我正在使用Menhir进行解析。通常当lexing EOL
执行此操作时:
| eol { incr_linenum lexbuf; read lexbuf }
但是,我希望能够解析这个:
stmt;
stmt;
stmt;
expr
expr
expr
stmt定义如下:
stmt :
| ...
| stmt SEMICOLON
和我的程序:
prog :
| stmt; expr list
我希望将expr
解释为expr
的列表。有没有办法做到这一点?或者我的列表是否必须由其他字符分隔?