Choices for lexing and parsing in Ruby
Strictly for Ruby. Not really included: Handwritten lexer/parser.
Lexers:
- Rex/Rexical
- Ragel
- piotrmurach/lex
- Handwritten (e.g. with
StringScanner
) - re2c with bindings to Ruby
Parsers requiring lexer:
- Racc
- Yacc/Byacc/Bison/Lemon with bindings to Ruby
PEG:
Parser combinators:
All-in-one solutions: