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