# -*- coding: utf-8 -*-
+require 'builder/expression_tree'
require 'builder/mint_expression_parser'
module Mint
class << self
def build(expression)
- normalized = parser.parse(expression)
- Expression.new(expression, :normalized => normalized)
+ 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