Sha256: 01d88ba2c64b3b0e9b72a98766e21c353d32aab003526895e39504688b9e4e94

Contents?: true

Size: 545 Bytes

Versions: 1

Compression:

Stored size: 545 Bytes

Contents

module Treetop
  class Protometagrammar
    class CharacterClassExpressionBuilder < ParsingExpressionBuilder
      def build
        character_class
      end
  
      def character_class
        seq('[', one_or_more(char_class_char), ']')  do
          def value(grammar = nil)
            CharacterClass.new(characters)
          end
      
          def characters
            elements[1].text_value
          end
        end
      end
  
      def char_class_char
        seq(notp(']'), choice(escaped(']'), any))
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

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