【发布时间】:2011-09-16 09:48:24
【问题描述】:
我正在尝试将 ANTLR 定义的语法集成到 NetBeans 中,到目前为止,有效的语法工作正常。但是,目前如果您在某处输入任何未在该语言中定义的字符(例如,“?”字符),自定义编辑器会立即崩溃,因为它无法找到该字符的规则。
在 ANTLR 中是否有一种方法可以捕获并跳过每个与规则不匹配的字符(并可能输出错误消息),而不会导致整个词法分析器崩溃和烧毁?我只想标记无效字符,跳过它们,然后继续进行词法分析,例如:
//some rules + tokens
invalidCharacter
: <<catch all other characters>>
{System.out.println("undefined character entered!")}
;
如有任何帮助,将不胜感激。
【问题讨论】:
标签: antlr grammar character lexer