0
在ANTLR中實現宏定義的最簡單(或最好)的方法是什麼? 我要的是一個類似於存在於C/C++語言的機制:ANTLR,C風格的宏定義
#define FUNCTION(a, b) a+b
#define PI 3.1415
如何以及什麼時候應該進行更換?
在ANTLR中實現宏定義的最簡單(或最好)的方法是什麼? 我要的是一個類似於存在於C/C++語言的機制:ANTLR,C風格的宏定義
#define FUNCTION(a, b) a+b
#define PI 3.1415
如何以及什麼時候應該進行更換?
如果你正在做C風格的預處理器,那麼你會想要做一個單獨的第一遍預處理(這是這個術語的意思 - 在你的標準語法分析過程之前的處理過程)。
到底你想要做通是由你 - 你可以通過你的輸入文本到一個語法ANTLR,拍攝效果和其交給另一個語法等
或者你也可以創建單獨的程序,可以輸入stdin
並輸出到stdout
,或者在管道之間傳遞文本等。
一旦你找到了你的關鍵字,就很簡單了。檢查您看到的#define
s表中的每個標記,如果匹配,則將其替換爲您擁有的定義。您還必須能夠解析函數參數,但這不應該增加太多的工作量。
爲什麼不使用M4等現有預處理器? – 2010-07-31 23:39:38