如何在Antlr4中编写Lexer规则以区分具有共同字符的2个字符串



我有编写2个lexer规则(或1)以区分有效XML字符串和有效的常规字符串(这不是注释或双重引用)。。

XMLTEXT : ~[<&]+ ;
STRINGTEXT :  ~["\] ;

当我经过XML主体的一部分时,如下antlr4

它匹配以上规则,我想与单个规则匹配。有什么办法可以更好地编写上述两个规则?

否,那将行不通。

没有真实的例子,除了将您指向词汇模式外,很难给出更具体的答案:https://github.com/antlr/antlr4/antlr4/blob/blob/master/master/doc/doc/lexer-rules.md#lex #lexicalical-modes

还可以查看示例中如何使用Antlr4 repo的XML语法中的词汇模式:https://github.com/antlr/grammars-v4/grammars-v4/blob/master/master/xml/xml/xmllex.g4

/div>

相关内容

  • 没有找到相关文章

最新更新