OSDN Git Service

Merge branch 'master' of git.sourceforge.jp:/gitroot/mint/mint-lib
[mint/mint-lib.git] / lib / mint / builder.rb
1 # -*- coding: utf-8 -*-
2
3 require 'builder/expression_tree'
4 require 'builder/mint_expression_parser'
5
6 module Mint
7
8   class InvalidExpressionError < StandardError; end
9
10   module Builder
11
12     class << self
13       def build(expression)
14         maxima = parser.parse(expression)
15         Expression.new(expression, :maxima => maxima)
16       rescue
17         raise InvalidExpressionError
18       end
19
20       def parser
21         @@parser ||= MintExpressionParser.new
22       end
23     end
24   end
25 end
26