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.
[Since first writing this description of pyparsing in late 2003, this
technique for developing parsers has become more widespread, under the
name Parsing Expression Grammars - PEGs. See more information on PEGs
here
.]
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 t
|