diff options
Diffstat (limited to 'trunk/src/examples/indentedGrammarExample.py')
-rw-r--r-- | trunk/src/examples/indentedGrammarExample.py | 54 |
1 files changed, 0 insertions, 54 deletions
diff --git a/trunk/src/examples/indentedGrammarExample.py b/trunk/src/examples/indentedGrammarExample.py deleted file mode 100644 index 442e6a4..0000000 --- a/trunk/src/examples/indentedGrammarExample.py +++ /dev/null @@ -1,54 +0,0 @@ -# indentedGrammarExample.py
-#
-# Copyright (c) 2006,2016 Paul McGuire
-#
-# A sample of a pyparsing grammar using indentation for
-# grouping (like Python does).
-#
-# Updated to use indentedBlock helper method.
-#
-
-from pyparsing import *
-
-data = """\
-def A(z):
- A1
- B = 100
- G = A2
- A2
- A3
-B
-def BB(a,b,c):
- BB1
- def BBA():
- bba1
- bba2
- bba3
-C
-D
-def spam(x,y):
- def eggs(z):
- pass
-"""
-
-
-indentStack = [1]
-stmt = Forward()
-suite = indentedBlock(stmt, indentStack)
-
-identifier = Word(alphas, alphanums)
-funcDecl = ("def" + identifier + Group( "(" + Optional( delimitedList(identifier) ) + ")" ) + ":")
-funcDef = Group( funcDecl + suite )
-
-rvalue = Forward()
-funcCall = Group(identifier + "(" + Optional(delimitedList(rvalue)) + ")")
-rvalue << (funcCall | identifier | Word(nums))
-assignment = Group(identifier + "=" + rvalue)
-stmt << ( funcDef | assignment | identifier )
-
-module_body = OneOrMore(stmt)
-
-print(data)
-parseTree = module_body.parseString(data)
-parseTree.pprint()
-
|