[英]parsing ambiguity in antlr4
我试图识别列表推导表达式,例如a for b in c for d in e
并且我有以下语法:
iter : 'for' ID 'in' expr ;
expr : ID
| expr iter+ # listcomp
| ID + ID # binary
;
但是给定a for b in c for d in e
被解析为:
(a for b in (c for d in e))
即, listcomp
的listcomp
而不是:
(a (for b in c) (for d in e))
即,一个带有两个iter
的listcomp
。 我应该如何改变语法以获得这种效果?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.