0
考慮下面的例子輸入:如何解析嵌入SQL中ANTLR4
namespace Client
{
sql FindByQuery
{
SELECT * FROM client_Profile
WHERE 1 = 1
#ifNotEmpty(City, sql{ AND `City` = @City })
#ifNotEmpty(Zipcode, sql{ AND `Zipcode` = @Zipcode })
#ifNotEqual(State, "NY", sql{ AND `State` = @State })
#ifEqual(IsReactive, 1 , sql{ AND `WONum` LIKE CONCAT('B%', @WONum) })
#include(CommonOrderBy)
}
}
有在代碼中兩個獨立的語言:
- 任何原始文本,包括空格,只要不以「#開頭'並以'}'結尾(SQL語句)
- 我的控制塊(名稱空間/ sql)和宏('#....')。
如何解析內部SQL語句爲原始文本並處理宏以'#'開頭正確?
或者是否有任何例子?
你到目前爲止嘗試過的任何東西? – cantSleepNow
通過使用ANTLR4詞法分析器模式,我成功解析了它。 – user2905258
好,所以也許可以添加答案然後接受,所以大家都知道這個問題是回答。 – cantSleepNow