У меня есть большая грамматика в X-Text, и в ней есть некоторые неясности. Я полностью осознаю проблемы, которые это вызовет, но я хотел бы иметь возможность протестировать грамматику, прежде чем заняться ее оптимизацией.
Я пытался включить откат в рабочем процессе 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.
Как я могу правильно включить возврат, чтобы предотвратить это?