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

History Node

2.2.0

History Node

2.1.10

History Node

2.1.9

History Node

2.1.8

History Node

2.1.7

History Node

2.1.6

History Node

2.1.5

History Node

2.1.4

History Node

2.1.3

History Node

2.1.2

History Node

2.1.1

History Node

2.1.0

History Node

2.0.7

History Node

2.0.6

History Node

2.0.5

History Node

2.0.4

History Node

2.0.3

This version
History Node

2.0.2

History Node

2.0.1

History Node

2.0.0

History Node

1.5.7

History Node

1.5.6

History Node

1.5.5

History Node

1.5.4

History Node

1.5.3

History Node

1.5.2

History Node

1.5.1

History Node

1.5.0

History Node

1.4.11

History Node

1.4.8

History Node

1.4.7

History Node

1.4.6

History Node

1.3.3

History Node

1.2

History Node

1.1.2

Download files

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

Filename, size & hash SHA256 hash help File type Python version Upload date
pyparsing-2.0.2.tar.gz (1.1 MB) Copy SHA256 hash SHA256 Source None Apr 13, 2014
pyparsing-2.0.2.win32-py2.6.exe (232.5 kB) Copy SHA256 hash SHA256 Windows Installer any Apr 13, 2014
pyparsing-2.0.2.win32-py2.7.exe (232.5 kB) Copy SHA256 hash SHA256 Windows Installer any Apr 13, 2014
pyparsing-2.0.2.win32-py3.0.exe (232.5 kB) Copy SHA256 hash SHA256 Windows Installer any Apr 13, 2014
pyparsing-2.0.2.win32-py3.1.exe (232.5 kB) Copy SHA256 hash SHA256 Windows Installer any Apr 13, 2014
pyparsing-2.0.2.win32-py3.2.exe (232.5 kB) Copy SHA256 hash SHA256 Windows Installer any Apr 13, 2014
pyparsing-2.0.2.win32-py3.3.exe (232.5 kB) Copy SHA256 hash SHA256 Windows Installer any Apr 13, 2014
pyparsing-2.0.2.win32-py3.4.exe (232.5 kB) Copy SHA256 hash SHA256 Windows Installer any Apr 13, 2014
pyparsing-2.0.2.zip (1.3 MB) Copy SHA256 hash SHA256 Source None Apr 13, 2014

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging CloudAMQP CloudAMQP RabbitMQ AWS AWS Cloud computing Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page