Sha256: 85284e68865214c79b2d7301ede1b07078626d69f211580e63f31531392cf1f4

Contents?: true

Size: 634 Bytes

Versions: 1

Compression:

Stored size: 634 Bytes

Contents

module Treetop
  class Protometagrammar
    class TrailingBlockExpressionBuilder < ParsingExpressionBuilder
      def build
        choice(trailing_block, nothing)
      end
    
      def trailing_block
        seq(:space, :block) do
          def value(parsing_expression)
            parsing_expression.node_class_eval(block.value)
            return parsing_expression
          end

          def block
            elements[1]
          end
        end
      end
    
      def nothing
        exp('') do
          def value(parsing_expression)
            parsing_expression
          end
        end
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

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