rubyx/lib/parser
2014-04-27 21:12:24 +03:00
..
basic_types.rb more basic types (untested) 2014-04-27 18:12:32 +03:00
composed.rb using new modules 2014-04-27 18:13:10 +03:00
copied_parser.rb created own directory for parser 2014-04-27 15:38:07 +03:00
keywords.rb add keyword and operators as seperate parser modules 2014-04-27 21:12:24 +03:00
operators.rb add keyword and operators as seperate parser modules 2014-04-27 21:12:24 +03:00
README.markdown created own directory for parser 2014-04-27 15:38:07 +03:00
tokens.rb adds tokens as own parser module 2014-04-27 18:12:04 +03:00
transform.rb adjusted code and tests to use renamed and rearranged parser bits 2014-04-27 18:13:34 +03:00

Parser

This includes the parser and generated ast.

Parslet is really great in that it:

  • does not generate code but instean gives a clean dsl to define a grammar
  • uses ruby modules so one can split the grammars up
  • has a seperate tranform stage to generate an ast layer

Especially the last point is great. Since it is seperate it does not clutter up the actual grammar. And it can generate a layer that has no links to the actual parser anymore, thus saving/automating a complete tranformation process.