Sha256: d9d27ec04a46c751419237591fc8f32174333748ae1556fa06eb21739eb7b39a

Contents?: true

Size: 380 Bytes

Versions: 3

Compression:

Stored size: 380 Bytes

Contents

# frozen_string_literal: true

module Basic101

  class Parser < Parslet::Parser

    rule(:print_statement) do
      str('PRINT').as(:print) >> print_arguments.as(:print_arguments)
    end

    rule(:print_arguments) do
      (space? >> (expression | print_separator)).repeat(0)
    end

    rule(:print_separator) do
      match('[;,]').as(:print_separator)
    end

  end

end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
basic101-1.0.2 lib/basic101/parser/print_statement.rb
basic101-1.0.1 lib/basic101/parser/print_statement.rb
basic101-1.0.0 lib/basic101/parser/print_statement.rb