我需要编写2个lexer规则(或1)来区分有效的XML字符串和有效的通用字符串(不是注释或双引号)。这是我的规则。
XMLTEXT : ~[<&]+ ;
STRINGTEXT : ~["\\] ;
当我传递一个字符串,它是XML体的一部分,如下所示 antlr4
它符合上述规则,我想匹配单个规则。有什么方法可以更好地编写上述2条规则吗?
答案 0 :(得分:0)
不,那不会奏效。
如果没有现实生活中的例子,除了指向词汇模式之外,很难给出更具体的答案:https://github.com/antlr/antlr4/blob/master/doc/lexer-rules.md#lexical-modes
另请参阅ANTLR4的repo中的示例XML语法中如何使用词法模式:https://github.com/antlr/grammars-v4/blob/master/xml/XMLLexer.g4