我使用antlr 2.7.4来创建词法分析器。我被困在以下情况:
如果冒号(':')后跟C1类中的字符,则应发出COLON令牌,然后发出令牌C1
如果冒号后面跟着来自字符类C2的字符,冒号应该作为C2的一部分,并且应该发出令牌C2。
假设C1类是{1,2,3}而C2类是{A,B,C}那么:13应该被标记为COLON,然后是C1。但是:AB应该被标记为C2。
更具体地说,我的语法有两种结构:
一些例子:
后续问题:是否可以检查某个前瞻字符是否属于某个令牌类? 任何建议将非常感谢。
我想我是antlrv2的唯一用户。我很乐意在antlrv3中找到一个解决方案,看看我是否可以在antlrv2中破解它。