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