Revision 16 as of 2003-08-09 22:10:46

Clear message

Small discussion and evaluation of different parsers.

Name

Grammar

Module

Python

Comment

[http://www.python.org/doc/current/lib/module-shlex.html shlex]

C

included in distribution

[http://www.cosc.canterbury.ac.nz/~greg/python/Plex Plex]

C

lexical analysis module for Python

[http://pages.cpsc.ucalgary.ca/~aycock/spark/ Spark]

Python

[http://theory.stanford.edu/~amitp/yapps/ Yapps]

LL(1)

Python

1-any, 2-1.5+

[http://starship.python.net/crew/scott/PyLR.html PyLR]

LR(1) LALR(1)

C

[http://www.pythonpros.com/arw/kwParsing/kwParsing.html kwParsing]

PyBison

C

bison grammar with python code actions

[http://www.first.gmd.de/smile/trap/ Trap]

LR

1.5.1+

[http://systems.cs.uchicago.edu/ply/ PLY]

Python

Python Lex-Yacc

[http://christophe.delord.free.fr/en/tpg/ ToyParserGenerator]

2.2+

[http://staff.washington.edu/sabbey/py_dparser/ D Parser]

GLR

C

2.2+

grammar in doc strings

[http://simpleparse.sourceforge.net/ SimpleParse]

-

2.0+

requires mxTextTools

[http://biopython.org/docs/api/Martel/README.html Martel]

Python

2.0+

requires mxTextTools

[http://www.lemburg.com/files/python/mxTextTools.html mxTextTools]

-

C

is not exactly a parser like we're used to, but it is a fast text-processing engine

Also see Python ParserSig @ http://www.python.org/sigs/parser-sig/ to discuss and select a standard parser generator for Python.

For some speed up one may use other parser generator systems and plug them in as modules.

For example:

Unable to edit the page? See the FrontPage for instructions.