module Atomy::Parser

Public Instance Methods

parse_file(file) click to toggle source
# File lib/atomy/parser.rb, line 7
def parse_file(file)
  parse_string(File.read(file))
end
parse_string(source) click to toggle source
# File lib/atomy/parser.rb, line 11
def parse_string(source)
  grammar = Atomy::Grammar.new(source)

  grammar.raise_error unless grammar.parse

  grammar.result
rescue KPeg::CompiledParser::ParseError => e
  raise SyntaxError, e.to_s
end