![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/3b65faedbd0cd98a5592fae2338e8a3c.png)
1.概述
我想使用Antlr4读取表示式并且其進行一些修改。
例如,如果语法是算术运算,我將修改表示式,表示
2 * (3 + 1)
與
2 * 4
然後用
8
這是“計算”或“簡化”。要執行此操作,我將建立一些樹結構,第一個想法是使用由Antlr建立的相同的樹。
不幸的是,我沒有看到任何針對兒童的二傳手。
如何完成?我真的應該用自己的樹來複制Antlr樹以表達邏輯嗎?
解決辦法
解
您不應該複製或修改ANTRL樹。您應該通過使用樹訪問者和偵聽器模式來使用。
語法
首先,我們將為算術表示式準備簡單的語法。
grammar expr;
WS