best option for python lex/yacc?

Paul McGuire ptmcg at austin.rr.com
Mon Jun 30 09:10:38 CEST 2008


On Jun 30, 1:47 am, m... at pixar.com wrote:
> I'm porting a C lex/yacc based project, and would like to redo
> it in python.
>
> What's the best option for a python lex/yacc-like?  I've
> googled a few things, but wanted to see the current concensus.
>
> Many TIA!
> Mark
>
> --
> Mark Harrison
> Pixar Animation Studios

For a full list, see http://nedbatchelder.com/text/python-parsers.html

For lex/yacc-like's, PLY, Spark, simpleparse, or ANTLR are probably
the leaders.

If you consider using pyparsing, then *don't* just try to do a
straight transliteration from your existing lex/yacc implementation -
you will end up fighting some of pyparsing's basic concepts.

But if you already have this implemented and working in C, and given
that parsing usually is such a performance-sucking operation, why not
package the existing parser into a lib, and call it from python using
ctypes, or some similar technology for embedding C code in Python?

-- Paul



More information about the Python-list mailing list