2009-12-03 46 views
0

發送AT命令時,它通常以\ r \ n結尾,但事實上,這些實際上是兩個「寄存器變量」S3和S4。運行時動態更新規則

默認情況下S3 ==「\ r」和S4 ==「\ n」,但用戶可以在運行時使用的命令ATSx =

如何我在ANTLR的詞法/語法分析器處理這種改變這些?

每個命令的格式爲AT [參數] S3S4,如果用戶更改S3或S4的值,該如何處理?

在此先感謝您的幫助......

+0

沒有人知道嗎? Heeeeelp !!!!請... – Mawg 2009-12-07 02:26:33

回答

1

沒有,有沒有這樣的選項,可以動態改變lexer-或解析器規則AFAIK。當然,也有變通辦法可能像在改變寄存器變量重新創建詞法分析器/分析器,但它不會是漂亮,我猜...


編輯

mawg寫道

重新創建LEXR & poarser(當然,只有詞法分析,我猜) - 你可以leaborate上那?

重寫原始語法文件(只有正確提到的詞法分析器規則)並在運行中重新編譯它。請參閱:http://java.sun.com/javase/6/docs/api/javax/tools/JavaCompiler.html

+0

重新創建lexr& poarser(呃,只有詞法分析器,我猜) - 你可以在這方面做文章嗎? – Mawg 2009-12-09 12:49:05

+0

我解析Hayes調制解調器AT命令集。 AT命令定義良好,我可以用詞法分析器/解析器規則完全覆蓋它們。 正如我所說的,每行通常以\ r \ n結尾,但是這些位於用戶可以更改的寄存器S3和S4中。除了「空白」和\ n之外,我從未見過任何東西,但從理論上講,它們可以是任何東西...... – Mawg 2009-12-09 12:57:04