我想用ANTLR4解析一個數學公式到LaTeX的一個子集。例如,它應該將(a+4)/(b*10)
解析爲\frac{a+4}{b\cdot 10}
。使用ANTLR4解析一個公式
我簡單的語法創建一個樹是這樣的:
現在我想實現解析樹聽衆以某種方式構建LaTeX的字符串,而樹進行遍歷。在這裏,我失敗了,因爲要構建像\frac{}{}
這樣的字符串,它必須遞歸構建。然而,解析樹漫步者依次訪問一個樹節點(據我所知,以廣度優先的方式)。
我讀過關於解析樹訪問者這可能是我需要的。但是我無法找到一些這些訪問者如何應用的例子。
您能否提供一個例子來說明在這種特定情況下如何解析樹聽者/訪問者?你認爲我的解析器使用ANTLR的方法首先是有意義的嗎?
這個很好用,謝謝!我現在正在使用Antlrworks,就像你所建議的那樣(我之前在命令行中編譯過語法),現在'* Visitor'類已經正確創建。 – Mouagip 2014-10-20 16:46:22
@Mouagip你仍然可以在命令行中做到這一點,只需使用'-visitor'參數!請參閱:https://theantlrguy.atlassian.net/wiki/display/ANTLR4/ANTLR+Tool+Command+Line+Options – Mephy 2014-10-20 16:47:56
感謝您指出。但是直接使用Antlrworks作爲NetBeans插件現在更方便;-)儘管如此,命令行仍然是可能的構建腳本的一個選項。 – Mouagip 2014-10-20 16:52:27