题
当发送AT命令,它通常是由\ r \ n结束,但是,实际上,这些都是真的两个“寄存器变量” S3和S4。
默认情况下S3 == '\ r' 和S4 == '\ n',但是用户可以在运行时该命令改变这些ATSx =
我该如何处理这在我的ANTLR的词法/语法分析器?
每个命令的形式为AT [参数] S3S4,如何能处理,如果用户改变S3或S4的值?
在此先感谢您的帮助...
解决方案
没有,没有这样的选项,以动态地改变lexer-或解析器规则AFAIK。当然,也有变通办法可能像在改变寄存器变量重新创建词法分析器/分析器,但它不会是漂亮,我猜...
修改强>
<强> mawg写 强>
重新创建LEXR&poarser(当然,只有词法分析,我猜) - 你可以leaborate对的
改写原有的语法文件(仅词法规则,你正确地提到),并重新编译它的飞行。请参阅: http://java.sun.com/ JavaSE的/ 6 /文档/ API /的javax /工具/ JavaCompiler.html
不隶属于 StackOverflow