Antlr 在XText lexer中重新排序令牌流

Antlr 在XText lexer中重新排序令牌流,antlr,xtext,Antlr,Xtext,我正在尝试使用XText对现有语言进行lex/parse。我已经决定我将使用一个定制的ANTLRv3词法分析器,因为该语言不能以上下文无关的方式进行词法分析。幸运的是,我不需要解析器信息;仅仅是前面遇到的标记就足以决定词法分析模式 目标语言有一个InputSection,可以如下描述:InputSection:INPUT\u SECTION A=IDB=ID。但是,它可以用两种不同的方式指定 ; The canonical way $InputSection Foo Bar $SomeOther

我正在尝试使用XText对现有语言进行lex/parse。我已经决定我将使用一个定制的ANTLRv3词法分析器,因为该语言不能以上下文无关的方式进行词法分析。幸运的是,我不需要解析器信息;仅仅是前面遇到的标记就足以决定词法分析模式

目标语言有一个InputSection,可以如下描述:
InputSection:INPUT\u SECTION A=IDB=ID。但是,它可以用两种不同的方式指定

; The canonical way
$InputSection Foo Bar
$SomeOtherSection Fonzie

; The haphazard way
$InputSection Foo
$SomeOtherSection Fonzie
$InputSection Bar

在将其传递给解析器之前,我是否可以使用TokenStreamRewriter以规范的方式对所有令牌重新排序?或者这会在以后的XText中产生问题吗?

经过大量调查,我得出结论,编辑器工具本身确实不适合这种类型的问题

如果要开始键入一条规则,则必须考虑后续章节中的AST上下文,以了解如何自动完成。同时,这会让用户非常困惑

因此,我最终不会支持该语言的这一模糊特征。相反,AST的构造将使在两个部分之间(合理地)划分的部分仍然能够正确解析