我看到了这么多的帖子,并与的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)? ')';
但这是行不通的,我有点困惑,为什么,这也是不能说明的情况。名称(预告片),其中预告片是另一个。名称
有什么想法?
中有没有左递归规则。你应该分享更多的语法。 –