Differences between revisions 12 and 13
Revision 12 as of 2003-01-31 17:41:00
Size: 1568
Editor: MikeRovner
Comment: Pyacc added
Revision 13 as of 2003-06-25 22:44:30
Size: 2056
Editor: MikeRovner
Comment: reorganizing into table
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://simpleparse.sourceforge.net/)
  * ["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)
  * ["Trap"] (http://www.first.gmd.de/smile/trap/)
  * ["PLY"] (http://systems.cs.uchicago.edu/ply/)
  * ToyParserGenerator (http://christophe.delord.free.fr/en/tpg/)
  * ["Martel"] (http://biopython.org/~dalke/Martel/)
  * ["Pyacc"] (http://staff.washington.edu/sabbey/pyacc/)

TextTools by Marc-André Lemburg ("mx") is not exactly a parser like we're used to, but it is a fast text-processing engine: http://www.lemburg.com/files/python/mxTextTools.html
|| 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/pyacc/ Pyacc]|| LALR(1) || 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 28: Line 28:
  * [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/pyacc/ Pyacc]

LALR(1)

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.