class Mlc::ParserState

Attributes

lvars[R]
parent[R]

Public Class Methods

new(parent = nil, inherit = true) click to toggle source
# File lib/mlc/parserstate.rb, line 6
def initialize(parent = nil, inherit = true)
  @tmpid = -1
  @lvars = []
  @parent = parent
  @inherit = inherit
end

Public Instance Methods

add_lvar(name) click to toggle source
# File lib/mlc/parserstate.rb, line 17
def add_lvar(name)
  unless knows_lvar? name
    @lvars << name
  end
end
knows_lvar?(name) click to toggle source
# File lib/mlc/parserstate.rb, line 23
def knows_lvar?(name)
  @lvars.include? name || (@inherit && @parent && @parent.knows_lvar?(name))
end
lvars_define() click to toggle source
# File lib/mlc/parserstate.rb, line 27
def lvars_define
  @lvars.map{|el| 'l' + el.to_s}.join(', ')
end
tmpvar() click to toggle source
# File lib/mlc/parserstate.rb, line 13
def tmpvar
  "__tmp_#{@tmpid += 1}"
end