Sha256: ed8eae2d6d3d373bb33f8259dd3d0f1dd417f52441c7f51ffca36bc34fd50c9f

Contents?: true

Size: 1.06 KB

Versions: 1

Compression:

Stored size: 1.06 KB

Contents

module Treetop
  class Protometagrammar < Grammar
    def initialize
      super
      build do
        rule :grammar, GrammarExpressionBuilder.new
        rule :parsing_rule_sequence, ParsingRuleSequenceExpressionBuilder.new        
        rule :parsing_rule, ParsingRuleExpressionBuilder.new
        rule :ordered_choice, OrderedChoiceExpressionBuilder.new
        rule :sequence, SequenceExpressionBuilder.new
        rule :primary, PrimaryExpressionBuilder.new
        rule :prefix, PrefixExpressionBuilder.new
        rule :suffix, SuffixExpressionBuilder.new
        rule :nonterminal_symbol, NonterminalSymbolExpressionBuilder.new  
        rule :terminal_symbol, TerminalSymbolExpressionBuilder.new
        rule :character_class, CharacterClassExpressionBuilder.new
        rule :anything_symbol, AnythingSymbolExpressionBuilder.new
        rule :block, BlockExpressionBuilder.new
        rule :trailing_block, TrailingBlockExpressionBuilder.new
        rule :space, one_or_more(char_class(" \t\n\r"))
        rule :keyword, choice('rule', 'end')
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
treetop-0.1.0 lib/treetop/protometagrammar/protometagrammar.rb