当发送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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top