Method: Interrotron#parse

Defined in:
lib/interrotron.rb

#parse(tokens) ⇒ Object



161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
# File 'lib/interrotron.rb', line 161

def parse(tokens)
  return [] if !tokens || tokens.empty?
  
  expr = []
  while !tokens.empty?
    t = tokens.shift
    case t.type
    when :lpar
      expr << parse(tokens)
    when :rpar
      return expr
    else
      expr << t
    end
  end
  expr
end