Differences between revisions 32 and 33
Revision 32 as of 2005-09-26 11:54:13
Size: 3235
Editor: MikeRovner
Comment:   was inserted leterally. replaced with ' '
Revision 33 as of 2005-10-10 13:25:38
Size: 3238
Editor: hitfm
Comment:
Deletions are marked like this. Additions are marked like this.
Line 14: Line 14:
||[http://systems.cs.uchicago.edu/ply/ PLY]|| ||Python || ||Python Lex-Yacc || ||[http://www.dabeaz.com/ply/ PLY]|| SLR LALR(1) ||Python || ||Python Lex-Yacc ||

Small discussion and evaluation of different parsers.

(!) Please keep wiki links as wiki links, use external links only if there is no existing page for the tool.

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, foundation for ["Pyrex"]

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

Python

["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://www.dabeaz.com/ply/ PLY]

SLR LALR(1)

Python

Python Lex-Yacc

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

2.2+

[http://staff.washington.edu/sabbey/py_dparser/ DParser]

GLR

C

2.2+

grammar in doc strings

[http://www.lava.net/~newsham/pyggy/ PyGgy]

GLR

Python

2.2.1

[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

[http://pyparsing.sourceforge.net/ pyparsing]

Python

2.2+

[http://www.antlr.org/ ANTLR]

LL1+

Python

stand-alone tool in Java. Latest version can produce Python code

[http://www.ncc.up.pt/fado/Yappy Yappy]

LALR

Python

2.2+

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

For faster performance, one may use other parser generator systems and plug them in as modules.

For example:

Example of such usage is SeeGramWrap available from Edward C. Jones [http://members.tripod.com/~edcjones/pycode.html Python page], which is a heavily revised and upgraded version of the ANTLR C parser that is in [http://members.tripod.com/~edcjones/cgram.tar.gz cgram]. The lastest verson has been refactored to move some of the complexity from ANTLR to Python.

Martin von Loewis presented a paper at Python10, titled [http://www.python.org/sigs/parser-sig/towards-standard.html "Towards a Standard Parser Generator"] that surveyed the available parser generators for Python.

Books

LanguageParsing (last edited 2022-01-27 20:15:14 by joente)

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