Skip to main content

Python parsing module

Project description

====================================
PyParsing -- A Python Parsing Module
====================================

Introduction
============

The pyparsing module is an alternative approach to creating and executing
simple grammars, vs. the traditional lex/yacc approach, or the use of
regular expressions. The pyparsing module provides a library of classes
that client code uses to construct the grammar directly in Python code.

Here is a program to parse "Hello, World!" (or any greeting of the form
"<salutation>, <addressee>!"):

from pyparsing import Word, alphas
greet = Word( alphas ) + "," + Word( alphas ) + "!"
hello = "Hello, World!"
print hello, "->", greet.parseString( hello )

The program outputs the following:

Hello, World! -> ['Hello', ',', 'World', '!']

The Python representation of the grammar is quite readable, owing to the
self-explanatory class names, and the use of '+', '|' and '^' operator
definitions.

The parsed results returned from parseString() can be accessed as a
nested list, a dictionary, or an object with named attributes.

The pyparsing module handles some of the problems that are typically
vexing when writing text parsers:
- extra or missing whitespace (the above program will also handle
"Hello,World!", "Hello , World !", etc.)
- quoted strings
- embedded comments

The .zip file includes examples of a simple SQL parser, simple CORBA IDL
parser, a config file parser, a chemical formula parser, and a four-
function algebraic notation parser. It also includes a simple how-to
document, and a UML class diagram of the library's classes.



Installation
============

Do the usual:

python setup.py install

(pyparsing requires Python 2.3.2 or later.)


Documentation
=============

See:

HowToUsePyparsing.html


License
=======

MIT License. See header of pyparsing.py

History
=======

See CHANGES file.

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

pyparsing-2.0.2.zip (1.3 MB view hashes)

Uploaded Source

pyparsing-2.0.2.tar.gz (1.1 MB view hashes)

Uploaded Source

Built Distributions

pyparsing-2.0.2.win32-py3.4.exe (232.5 kB view hashes)

Uploaded Source

pyparsing-2.0.2.win32-py3.3.exe (232.5 kB view hashes)

Uploaded Source

pyparsing-2.0.2.win32-py3.2.exe (232.5 kB view hashes)

Uploaded Source

pyparsing-2.0.2.win32-py3.1.exe (232.5 kB view hashes)

Uploaded Source

pyparsing-2.0.2.win32-py3.0.exe (232.5 kB view hashes)

Uploaded Source

pyparsing-2.0.2.win32-py2.7.exe (232.5 kB view hashes)

Uploaded Source

pyparsing-2.0.2.win32-py2.6.exe (232.5 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page