0
我有一個ANTLR語法,可以解析和評估簡單表達式,如1 + 2 * 4等。 我想要做的是評估像2 + $ a- $ b/4這樣的表達式$變量是動態變量,來自外部來源並不斷更新。ANTLR,動態變量
有沒有關於如何使用ANTLR,最佳實踐等的任何設計模式?
- 要我 「串」 在$一個更新後的值($ A - > 4.34)
- 一個更好的方式來做到這一點?
THX
我有一個ANTLR語法,可以解析和評估簡單表達式,如1 + 2 * 4等。 我想要做的是評估像2 + $ a- $ b/4這樣的表達式$變量是動態變量,來自外部來源並不斷更新。ANTLR,動態變量
有沒有關於如何使用ANTLR,最佳實踐等的任何設計模式?
THX
實際上有一個例子爲這個在ANTLR書(ANTLR權威參考。)的圖案是解析變量值並將其添加到在目標語言的字典:
@members { var dict = new Dictionary<string, int>(); }
decl: v=ID '=' v=expr { dict[$e.Text] = int.Parse($v.Value); };
ID : '$' ('a'..'z'|'A'..'Z')+;
其中「expr」可以是任何有效的表達式(包括含有變量的表達式)。