我有编写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>