[英]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.