Sha256: 91bd785de0a4a14838f01b66b0936cd934101c8827dd717da8b7cef8151bf64f

Contents?: true

Size: 777 Bytes

Versions: 1

Compression:

Stored size: 777 Bytes

Contents

module Lrama
  class Lexer
    class Token
      class Parameterizing < Token
        attr_accessor :args

        def initialize(s_value: nil, alias_name: nil, location: nil, args: [])
          super s_value: s_value, alias_name: alias_name, location: location
          @args = args
        end

        def option?
          %w(option ?).include?(self.s_value)
        end

        def nonempty_list?
          %w(nonempty_list +).include?(self.s_value)
        end

        def list?
          %w(list *).include?(self.s_value)
        end

        def separated_nonempty_list?
          %w(separated_nonempty_list).include?(self.s_value)
        end

        def separated_list?
          %w(separated_list).include?(self.s_value)
        end
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
lrama-0.5.10 lib/lrama/lexer/token/parameterizing.rb