# File lib/ruby_parser_extras.rb, line 969 def initialize(name) @name = name @stack = [false] end
# File lib/ruby_parser_extras.rb, line 974 def inspect "StackState(#{@name}, #{@stack.inspect})" end
# File lib/ruby_parser_extras.rb, line 978 def is_in_state @stack.last end
# File lib/ruby_parser_extras.rb, line 982 def lexpop raise if @stack.size == 0 a = @stack.pop b = @stack.pop @stack.push(a || b) end
# File lib/ruby_parser_extras.rb, line 989 def pop r = @stack.pop @stack.push false if @stack.size == 0 r end
# File lib/ruby_parser_extras.rb, line 995 def push val @stack.push val end