Module: TireSwing::ParserExtension

Defined in:
lib/tire_swing/parser_extension.rb

Instance Method Summary collapse

Instance Method Details

#ast(io) ⇒ Object



5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# File 'lib/tire_swing/parser_extension.rb', line 5

def ast(io)
  parser = new
  result = parser.parse(io)
  if result
    result.build
  else
    raise ParseError.new(
      [
        parser.failure_reason,
        parser.input.split("\n")[parser.failure_line-1],
        " " * parser.failure_index + "^"
      ].join("\n"),
      parser
    )
  end
end