1*b1cdbd2cSJim Jagielski#!/usr/bin/env python
2*b1cdbd2cSJim Jagielski# *************************************************************
3*b1cdbd2cSJim Jagielski#
4*b1cdbd2cSJim Jagielski#  Licensed to the Apache Software Foundation (ASF) under one
5*b1cdbd2cSJim Jagielski#  or more contributor license agreements.  See the NOTICE file
6*b1cdbd2cSJim Jagielski#  distributed with this work for additional information
7*b1cdbd2cSJim Jagielski#  regarding copyright ownership.  The ASF licenses this file
8*b1cdbd2cSJim Jagielski#  to you under the Apache License, Version 2.0 (the
9*b1cdbd2cSJim Jagielski#  "License"); you may not use this file except in compliance
10*b1cdbd2cSJim Jagielski#  with the License.  You may obtain a copy of the License at
11*b1cdbd2cSJim Jagielski#
12*b1cdbd2cSJim Jagielski#    http://www.apache.org/licenses/LICENSE-2.0
13*b1cdbd2cSJim Jagielski#
14*b1cdbd2cSJim Jagielski#  Unless required by applicable law or agreed to in writing,
15*b1cdbd2cSJim Jagielski#  software distributed under the License is distributed on an
16*b1cdbd2cSJim Jagielski#  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
17*b1cdbd2cSJim Jagielski#  KIND, either express or implied.  See the License for the
18*b1cdbd2cSJim Jagielski#  specific language governing permissions and limitations
19*b1cdbd2cSJim Jagielski#  under the License.
20*b1cdbd2cSJim Jagielski#
21*b1cdbd2cSJim Jagielski# *************************************************************
22*b1cdbd2cSJim Jagielski
23*b1cdbd2cSJim Jagielski
24*b1cdbd2cSJim Jagielskiimport sys
25*b1cdbd2cSJim Jagielskiimport expression
26*b1cdbd2cSJim Jagielski
27*b1cdbd2cSJim Jagielskidef run (exp):
28*b1cdbd2cSJim Jagielski    tokens = exp.split()
29*b1cdbd2cSJim Jagielski    expparser = expression.ExpParser(tokens)
30*b1cdbd2cSJim Jagielski    expparser.build()
31*b1cdbd2cSJim Jagielski    expparser.dumpTree()
32*b1cdbd2cSJim Jagielski
33*b1cdbd2cSJim Jagielskidef main ():
34*b1cdbd2cSJim Jagielski    run("6 + 34")
35*b1cdbd2cSJim Jagielski    run("6 + 34 - 10")
36*b1cdbd2cSJim Jagielski    run("6 + 34 - 10 + 200")
37*b1cdbd2cSJim Jagielski    run("6 + 34 - 10 * 200")
38*b1cdbd2cSJim Jagielski    run("6 + 34 - 10 * 200 + 18")
39*b1cdbd2cSJim Jagielski    run("6 + 34 - 10 * 200 + 18 / 2")
40*b1cdbd2cSJim Jagielski
41*b1cdbd2cSJim Jagielski    run("6 * ( ( 10 + 2 ) - 10 ) * 33")
42*b1cdbd2cSJim Jagielski
43*b1cdbd2cSJim Jagielskiif __name__ == '__main__':
44*b1cdbd2cSJim Jagielski    main()
45