开发者

Which is the best counterpart to ANTLR to create parsers in ruby?

开发者 https://www.devze.com 2023-01-03 06:43 出处:网络
I\'ve used antlr and javacc/freecc for a while. Now I need to write a bunch of parsers using antlr grammars but such parsers need to be written in ruby lang.

I've used antlr and javacc/freecc for a while. Now I need to write a bunch of parsers using antlr grammars but such parsers need to be written in ruby lang.

I googled but nothing found. Is开发者_JAVA百科 there any ruby parser generator that takes antlr grammars and create a parser? If there are many, which is the best one in your opinion?

TIA Paolo


  1. You might get away easy by using JRuby and keeping your ANTLR parsers in java.
  2. If PEGs are enough for your job, treetop and the newer citrus are common tools used by rubyists.
  3. Other parsers I dug while researching for a project are: peggy, Kanocc, Racc.

For my project I chosed treetop (citrus was not born yet).


Why not to use ANTLR Ruby: http://www.antlr.org/wiki/display/ANTLR3/Antlr3RubyTarget (http://split-s.blogspot.com/2005/12/antlr-for-ruby.html)

There is also some beta here: http://rubyforge.org/projects/antlr3/


You could also generate the parser with ANTLR for Java or C and call it from your Ruby program with JRuby or FFI.

This should also give you a performance boost which might be a big advantage if you have a lot of input to parse.

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号