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/cpp_enum_parser.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/cpp_enum_parser.py')
-rw-r--r-- | trunk/src/examples/cpp_enum_parser.py | 52 |
1 files changed, 0 insertions, 52 deletions
diff --git a/trunk/src/examples/cpp_enum_parser.py b/trunk/src/examples/cpp_enum_parser.py deleted file mode 100644 index cbd0932..0000000 --- a/trunk/src/examples/cpp_enum_parser.py +++ /dev/null @@ -1,52 +0,0 @@ -#
-# cpp_enum_parser.py
-#
-# Posted by Mark Tolenen on comp.lang.python in August, 2009,
-# Used with permission.
-#
-# Parser that scans through C or C++ code for enum definitions, and
-# generates corresponding Python constant definitions.
-#
-#
-
-from pyparsing import *
-# sample string with enums and other stuff
-sample = '''
- stuff before
- enum hello {
- Zero,
- One,
- Two,
- Three,
- Five=5,
- Six,
- Ten=10
- };
- in the middle
- enum blah
- {
- alpha,
- beta,
- gamma = 10 ,
- zeta = 50
- };
- at the end
- '''
-
-# syntax we don't want to see in the final parse tree
-LBRACE,RBRACE,EQ,COMMA = map(Suppress,"{}=,")
-_enum = Suppress('enum')
-identifier = Word(alphas,alphanums+'_')
-integer = Word(nums)
-enumValue = Group(identifier('name') + Optional(EQ + integer('value')))
-enumList = Group(enumValue + ZeroOrMore(COMMA + enumValue))
-enum = _enum + identifier('enum') + LBRACE + enumList('names') + RBRACE
-
-# find instances of enums ignoring other syntax
-for item,start,stop in enum.scanString(sample):
- id = 0
- for entry in item.names:
- if entry.value != '':
- id = int(entry.value)
- print('%s_%s = %d' % (item.enum.upper(),entry.name.upper(),id))
- id += 1
|