SPARK 0.7 pre-release 3
John Aycock
aycock@cpsc.ucalgary.ca
Fri, 14 Sep 2001 14:02:33 -0600
A pre-release of SPARK: the Scanning, Parsing, And Rewriting Kit is
available for testing. At this time, I'm only distributing a new
spark.py; I'm particularly interested in hearing from existing SPARK
users -- there's been some major code changes, and I want to make sure
I didn't break anything.
SPARK features a collection of classes which can be used to implement little languages. It includes classes for scanning, parsing, AST
construction, AST traversal, and tree pattern matching.
The major change is that the parser runs up to twice as fast as it did
in SPARK 0.6.1. The full changelog is below.
Please note that the web site has moved, and my email address has
changed. The new web site for SPARK is
http://www.cpsc.ucalgary.ca/~aycock/spark
John
--
CHANGES FROM 0.7pre2 -> 0.7pre3:
- GenericParser has an experimental mechanism for pickling a parser,
forcing all precomputation to be performed. The result runs
twice as fast as 0.6.1.
CHANGES FROM 0.6.1 -> 0.7pre2:
- GenericScanner's constructor now accepts an optional parameter
to pass in additional flags to re.compile (in addition to
re.VERBOSE).
- GenericScanner's default pattern now raises an exception rather
than silently swallowing input, at the request of several
users.
- GenericParser has had a complete rewrite, fixing a number of
obscure bugs. It uses a "new" algorithm (in some sense)
that runs about 30% faster than 0.6.1.