如何在antlr4中编写词法分析规则来区分具有共同字符的2个字符串?

时间:2016-12-05 01:47:13

标签: string antlr4 lexer

我需要编写2个lexer规则(或1)来区分有效的XML字符串和有效的通用字符串(不是注释或双引号)。这是我的规则。

XMLTEXT : ~[<&]+ ;

STRINGTEXT :  ~["\\] ;

当我传递一个字符串,它是XML体的一部分,如下所示 antlr4

它符合上述规则,我想匹配单个规则。有什么方法可以更好地编写上述2条规则吗?

1 个答案:

答案 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