Sha256: cfae6215dc357471d2765b05c354248f41eaa1218b492cf4499b5ba2a3f015b3
Contents?: true
Size: 669 Bytes
Versions: 2
Compression:
Stored size: 669 Bytes
Contents
# More magic: handle recursive rules Treetop.load_from_string <<-GRAMMAR module Lists grammar Grammar rule lists (list [\n])+ <node(:lists)> end rule list "[" whitespace* number ("," whitespace* number)* "]" <node(:list)> end rule number [1-9] [0-9]* <node(:number)> end rule whitespace [ ] end end end GRAMMAR module Lists module AST include TireSwing::NodeDefinition node :lists, :elements, :lists => extract(:list) node :list, :elements, :numbers => array_of(:number) { |num| num.text_value.to_i } node :number # placeholder end TireSwing.parses_grammar(Grammar, AST) end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
aniero-tire_swing-0.0.5 | spec/grammars/lists.rb |
aniero-tire_swing-0.0.6 | spec/grammars/lists.rb |