# -*- coding: utf-8 -*-
-require 'builder/expression_parser'
+require 'builder/expression_tree'
+require 'builder/mint_expression_parser'
module Mint
class << self
def build(expression)
- parser = ExpressionParser.new
+ if expression.nil? || expression.empty?
+ return NullExpression.new
+ end
+ parser.instance_variable_set(:@yydebug, true)
parser.parse(expression)
rescue
- raise InvalidExpressionError
+ raise InvalidExpressionError, expression
+ end
+
+ def parser
+ @@parser ||= MintExpressionParser.new
end
end
end