【发布时间】:2014-02-10 02:03:41
【问题描述】:
我在 Xtext 中遇到了递归规则问题。简化版如下:
grammar my.mavenized.HeroLanguage with org.eclipse.xtext.common.Terminals
generate heroLanguage "http://www.mavenized.my/HeroLanguage"
Atomic:
Map |
FunctionCall |
value=ID;
Map:
'map' '{'
(entries+=MapEntry)+
'}';
MapEntry:
'(' key=Atomic ')' '=>' value=Atomic;
FunctionCall:
name=ID '(' arg=Atomic ')';
Xtext 给了我这个错误信息:
[fatal] rule ruleAtomic has non-LL(*) decision due to recursive rule invocations reachable from alts 2,3. Resolve by left-factoring or using syntactic predicates or using backtrack=true option.
但我找不到左递归问题。 Xtext中是否有一些关于左递归的隐含规则?
谢谢。
【问题讨论】:
标签: recursion antlr grammar xtext