Python parser generators

François Pinard pinard at
Fri Nov 28 18:24:02 CET 2003

[anton muhin]

> Can someone give an overview of existing Python parser generators?
> [...] I'm rather looking for convenience and expressiveness.

Hello, Anton.

I looked at a few, but did not look at them all, and finally settled for
SPARK for production.  (I do not fully understand why a few generators
which were written after SPARK did not at least recycle its elegance.)

SPARK is not blazing fast, but is not inordinately slow either, _given_
you write reasonable grammars.  By "reasonable", I do not mean small,
we indeed use some rather big ones here.  But I mean grammars which are
rather left-to-right-ly, and for which big inputs could be chumped into
smaller syntactical units at lexical time.  In that way, each of the
repeated call to a SPARK parser in an application is not given the whole
input -- we found out that this is worth, and usually easy to do.  Our
parsers are easy to maintain and very dependable.  We are happy with it.

François Pinard

More information about the Python-list mailing list