Differences between revisions 1 and 16 (spanning 15 versions)
Revision 1 as of 2002-08-23 18:48:13
Size: 1080
Editor: adsl-67-113-129-186
Comment:
Revision 16 as of 2003-08-09 22:10:46
Size: 2060
Editor: D-128-95-101-75
Comment:
Deletions are marked like this. Additions are marked like this.
Line 3: Line 3:
  * ["shlex"] (http://www.python.org/doc/current/lib/module-shlex.html)
  * ["Plex"] (http://www.cosc.canterbury.ac.nz/~greg/python/Plex)
  * SimpleParse (http://members.rogers.com/mcfletch/programming/simpleparse/simpleparse.html)
  * ["Spark"] (http://pages.cpsc.ucalgary.ca/~aycock/spark/)
  * ["Yapps"] (http://theory.stanford.edu/~amitp/Yapps/)
  * ["PyLR"] (http://starship.python.net/crew/scott/PyLR.html)
  * ["kwParsing"] (http://www.pythonpros.com/arw/kwParsing/kwParsing.html)
  * PyBison (http://www-db.stanford.edu/~hassan/Python/pybison.tar.gz)
  * ["mcf.parse"] (http://starship.python.net/crew/mcfletch/)
  * ["Trap"] (http://www.first.gmd.de/smile/trap/)
|| 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||
Line 20: Line 25:
  * ["ANTLR"] (http://www.antlr.org/) C++ output (an older version with C output also available)   * ["ANTLR"] (http://www.antlr.org/) generates C++ output (an older version with C output also available)
  * ["Spirit"] (http://spirit.sourceforge.net/) framework for writing EBNF as C++ code
  * FlexBisonModule (http://www.cs.utexas.edu/users/mcguire/software/fbmodule/)
  * [http://groups.google.com/groups?hl=en&lr=&ie=UTF-8&selm=61g0ff%2439g%241%40vishnu.jussieu.fr cocktail compiler tools] approach

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:

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

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