diff options
author | ptmcg <ptmcg@9bf210a0-9d2d-494c-87cf-cfb32e7dff7b> | 2016-08-09 21:50:19 +0000 |
---|---|---|
committer | ptmcg <ptmcg@9bf210a0-9d2d-494c-87cf-cfb32e7dff7b> | 2016-08-09 21:50:19 +0000 |
commit | 0b19bb71ba5a4afa84e673a8239935426fa0db23 (patch) | |
tree | e9abae9c616fdfdfebd9a8a0931d8f21824f30d2 /trunk/src/examples/simpleArith.py | |
parent | b2c3ade75384efe76b8774b607e17fe98fab92ef (diff) | |
download | pyparsing_2.1.6.tar.gz |
Remove incorrect tag directorypyparsing_2.1.6
git-svn-id: svn://svn.code.sf.net/p/pyparsing/code/tags/pyparsing_2.1.6@405 9bf210a0-9d2d-494c-87cf-cfb32e7dff7b
Diffstat (limited to 'trunk/src/examples/simpleArith.py')
-rw-r--r-- | trunk/src/examples/simpleArith.py | 67 |
1 files changed, 0 insertions, 67 deletions
diff --git a/trunk/src/examples/simpleArith.py b/trunk/src/examples/simpleArith.py deleted file mode 100644 index 825956b..0000000 --- a/trunk/src/examples/simpleArith.py +++ /dev/null @@ -1,67 +0,0 @@ -#
-# simpleArith.py
-#
-# Example of defining an arithmetic expression parser using
-# the infixNotation helper method in pyparsing.
-#
-# Copyright 2006, by Paul McGuire
-#
-
-from pyparsing import *
-
-integer = Word(nums).setParseAction(lambda t:int(t[0]))
-variable = Word(alphas,exact=1)
-operand = integer | variable
-
-expop = Literal('^')
-signop = oneOf('+ -')
-multop = oneOf('* /')
-plusop = oneOf('+ -')
-factop = Literal('!')
-
-# To use the infixNotation helper:
-# 1. Define the "atom" operand term of the grammar.
-# For this simple grammar, the smallest operand is either
-# and integer or a variable. This will be the first argument
-# to the infixNotation method.
-# 2. Define a list of tuples for each level of operator
-# precendence. Each tuple is of the form
-# (opExpr, numTerms, rightLeftAssoc, parseAction), where
-# - opExpr is the pyparsing expression for the operator;
-# may also be a string, which will be converted to a Literal
-# - numTerms is the number of terms for this operator (must
-# be 1 or 2)
-# - rightLeftAssoc is the indicator whether the operator is
-# right or left associative, using the pyparsing-defined
-# constants opAssoc.RIGHT and opAssoc.LEFT.
-# - parseAction is the parse action to be associated with
-# expressions matching this operator expression (the
-# parse action tuple member may be omitted)
-# 3. Call infixNotation passing the operand expression and
-# the operator precedence list, and save the returned value
-# as the generated pyparsing expression. You can then use
-# this expression to parse input strings, or incorporate it
-# into a larger, more complex grammar.
-#
-expr = infixNotation( operand,
- [("!", 1, opAssoc.LEFT),
- ("^", 2, opAssoc.RIGHT),
- (signop, 1, opAssoc.RIGHT),
- (multop, 2, opAssoc.LEFT),
- (plusop, 2, opAssoc.LEFT),]
- )
-
-test = ["9 + 2 + 3",
- "9 + 2 * 3",
- "(9 + 2) * 3",
- "(9 + -2) * 3",
- "(9 + -2) * 3^2^2",
- "(9! + -2) * 3^2^2",
- "M*X + B",
- "M*(X + B)",
- "1+2*-3^4*5+-+-6",]
-for t in test:
- print(t)
- print(expr.parseString(t))
- print('')
-
|