我看到了這麼多的帖子,並與的Xtext在https://eclipse.org/Xtext/documentation/307_special_languages.html閱讀解析表達式,以及https://typefox.io/parsing-expressions-with-xtext去除XTEXT左遞歸
然而,我無法消除我的LL遞歸誤差:
我的語法是:
能夠解決所有,但一個問題
Trailer:
'[' (index+=Expr)?']'|
'(' (params+=Expr_list)? ')'|
'.' name=id(trailer+=Trailer)* //TODO fix left recusion
;
試過以下
Trailer:
TerminalTrailer |
'.' name=id (trailer+=TerminalTrailer)* //TODO fix left recusion
TerminalTrailer returns Trailer:
'[' (index+=Expr)?']'|
'(' (params+=Expr_list)? ')';
但這是行不通的,我有點困惑,爲什麼,這也是不能說明的情況。名稱(預告片),其中預告片是另一個。名稱
有什麼想法?
中有沒有左遞歸規則。你應該分享更多的語法。 –