所以,我解析Hayes调制解调器AT命令。不从文件中读取,而是以char *的形式传递(我正在使用C)。在Lexer/Parser中处理无效输入
1)如果我得到了我完全不认识的东西,会发生什么?我该如何处理? 2)如果我有像
my_token: "cmd param=" ("value_1" | "value_2");
和接收“参数”无效值?
我看到一些建议,让后端程序(在C中)处理它,但这对我来说是违背谷物的。尽可能早地捕捉问题,是我的座右铭。
是否有任何方法来捕捉词法分析器/解析器规则中的“其他”条件?
在此先感谢...
现在,这更像是它。当然,除了Java之外。 当我看着生成的C代码,我看到
的问题是,当然,我从来没有想编辑生成的C代码的情况下,我找到一个词法或语法分析规则中的错误,重新生成代码失去我的改变。 这就是为什么我想在ANTLR的文件类似 – Mawg 2009-12-12 03:59:29的例子说
但我怎么能实现呢?对于有效输入有一个规则,其次是我通配符的地方? 感谢您的helk到目前为止,你让我接近它... – Mawg 2009-12-12 04:01:20或者我应该重写recoverFromMismatchedToken(()? – Mawg 2009-12-12 04:03:16