class Lex::State
Attributes
lexemes[R]
name[R]
Public Class Methods
new(name, lexemes = [])
click to toggle source
# File lib/lex/state.rb, line 9 def initialize(name, lexemes = []) @name = name @lexemes = lexemes end
Public Instance Methods
<<(lexeme)
click to toggle source
# File lib/lex/state.rb, line 18 def <<(lexeme) @lexemes << lexeme end
==(other)
click to toggle source
# File lib/lex/state.rb, line 28 def ==(other) @name == other.name && @lexemes == other.lexemes end
clone()
click to toggle source
# File lib/lex/state.rb, line 33 def clone self.class.new(@name, @lexemes.map(&:clone)) end
each(&block)
click to toggle source
# File lib/lex/state.rb, line 14 def each(&block) @lexemes.each(&block) end
update(values)
click to toggle source
# File lib/lex/state.rb, line 22 def update(values) values.each do |lexeme| lexemes << lexeme unless lexemes.include?(lexeme) end end