From b2c3ade75384efe76b8774b607e17fe98fab92ef Mon Sep 17 00:00:00 2001 From: ptmcg Date: Tue, 9 Aug 2016 00:23:49 +0000 Subject: TagTag for 2.1.6 release git-svn-id: svn://svn.code.sf.net/p/pyparsing/code/tags/pyparsing_2.1.6@402 9bf210a0-9d2d-494c-87cf-cfb32e7dff7b --- trunk/src/examples/matchPreviousDemo.py | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 trunk/src/examples/matchPreviousDemo.py (limited to 'trunk/src/examples/matchPreviousDemo.py') diff --git a/trunk/src/examples/matchPreviousDemo.py b/trunk/src/examples/matchPreviousDemo.py new file mode 100644 index 0000000..f0812e9 --- /dev/null +++ b/trunk/src/examples/matchPreviousDemo.py @@ -0,0 +1,33 @@ +# +# matchPreviousDemo.py +# + +from pyparsing import * + +src = """ +class a +... +end a; + +class b +... +end b; + +class c +... +end d;""" + + +identifier = Word(alphas) + +classIdent = identifier("classname") # note that this also makes a copy of identifier +classHead = "class" + classIdent +classBody = "..." +classEnd = "end" + matchPreviousLiteral(classIdent) + ';' +classDefn = classHead + classBody + classEnd + +# use this form to catch syntax error +# classDefn = classHead + classBody - classEnd + +for tokens in classDefn.searchString(src): + print(tokens.classname) \ No newline at end of file -- cgit v1.2.1