module Namarara

Constants

VERSION

Public Class Methods

parse_string(line, vars, debug = false) click to toggle source
# File lib/namarara.rb, line 16
def self.parse_string(line, vars, debug = false)
  parser = Parser.new(Lexer.new)
  parser.names = vars
  parser_bet = parser.parse(line.chomp, debug)
  parser.check_grammar line, parser_bet

  {
    expr: line,
    tree: parser_bet.to_s,
    errors: parser_bet&.errors&.map { |e| e.message },
    result: parser_bet&.compute
  }
end