我有以下语法:
stmt : var_decl
| expr ';'
;
var_decl : 'lazy' IDENTIFIER '=' EXPR ';'
;
expr : expr '=' prefix_expr
| prefix_expr
;
prefix_expr : 'lazy' prefix_expr
| term_expr
;
term_expr : IDENTIFIER
;
但是,以下输入将不明确:
lazy x = y;
因为它有两个有效的解析:
lazy x
和y
之间的比较。我希望解析器更喜欢var_decl
解析。这可能吗?我可以对AST进行后期处理,但我更愿意让解析器为我处理这个问题。