我已經使用antlr和javacc/freecc一段時間了。 現在我需要用antlr語法編寫一堆解析器,但這些解析器需要用ruby語言編寫。哪個是ANTLR在ruby中創建解析器的最佳對應方法?
我使用Google搜索,但沒有找到。有沒有任何ruby語法分析器生成器需要antlr語法並創建解析器?如果有很多,你認爲哪一個最好?
TIA 保羅
我已經使用antlr和javacc/freecc一段時間了。 現在我需要用antlr語法編寫一堆解析器,但這些解析器需要用ruby語言編寫。哪個是ANTLR在ruby中創建解析器的最佳對應方法?
我使用Google搜索,但沒有找到。有沒有任何ruby語法分析器生成器需要antlr語法並創建解析器?如果有很多,你認爲哪一個最好?
TIA 保羅
您也可以使用ANTLR for Java或C生成解析器,並使用JRuby或FFI從Ruby程序中調用它。
這應該也會給你提升性能,如果你有很多解析輸入,這可能是一個很大的優勢。
爲什麼不使用ANTLR紅寶石:http://www.antlr.org/wiki/display/ANTLR3/Antlr3RubyTarget(http://split-s.blogspot.com/2005/12/antlr-for-ruby.html)
也有一些測試版在這裏:http://rubyforge.org/projects/antlr3/
對我感到羞恥。我沒有先檢查適當的地方......寶石社區。非常感謝你:-) – 2010-06-15 08:20:46
請注意,ANTLR 3.4附帶的Ruby目標非常糟糕。如果這個寶石有任何問題,GitHub上的項目的頭版修正似乎正常工作:https://github.com/ohboyohboyohboy/antlr3 – 2012-10-17 05:10:21
ahe,這正是我選擇做的。我啓動了一個關於解析源代碼的所有東西的新項目(http://github.com/thesp0nge/mirage)。我會用antlr寫C語言,然後從Ruby中調用它。 對於任何有興趣的人來說,這是對Owasp Orizon項目的一個重要改寫,我正在寫一個靜態源代碼分析器(http://github.com/thesp0nge/owasp-orizon/) – 2010-06-17 07:17:18