2016-02-22 83 views
0

我在X-Text中有一個很大的語法,它有一些含糊之處。我完全意識到這會造成的問題,但我希望能夠在考慮優化它之前測試語法。XText正確打開回溯

我一直試圖在X-Text工作流程中打開原路返回,並且似乎無法管理它。我有我的mwe2文件下面的代碼,主要項目下:

language = StandardLanguage { 
     fragment=parser.antlr.XtextAntlrGeneratorFragment2 auto-inject{ 
      options = { 
       backtrack= true 
      } 
     } 
     fragment=idea.parser.antlr.XtextAntlrIDEAGeneratorFragment auto-inject{ 
      options={ 
       backtrack=true 
      } 
     } 
... 

但是我還是形式的錯誤:

error(211): ../org.xtext.example.CSPTest/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1183:2: [fatal] rule ruleAny has non-LL(*) decision due to recursive rule invocations reachable from alts 1,2. Resolve by left-factoring or using syntactic predicates or using backtrack=true option. 

我怎樣才能正確地打開原路返回,以防止這個?

回答

3

對於新產生正確的設置是:

parserGenerator = { 
    options = { 
    backtrack = true 
    } 
} 
+0

優秀,非常感謝你。 – alexp82539