4 Aug 2003 Monty   » (Journeyer)

I've been meaning to write about this for a while. I still don't have the time to do it up right, but here's a quick core dump.

A couple of weekends ago Terence Parr and Loring Craymer spent a long weekend with me drafting a proposal for new features in ANTLR 3. Notes are here http://www.antlr.org/workshop/cabal-2003/index.html.

It was more intense than any conference I've been to because it was so focused. These are two very bright guys. We came away with a good outline for a document and some interesting solutions to common ANTLR problems. Loring has been hard at work on tree building enhancements which are really powerful. I helped come up with a scheme for code generation from an Abstract Syntax Tree based loosely on lout's galley targets. Aftewards I did some research and found that I "discovered" a way to do dynamic scoping, abandonded years ago by the LISP community because it is so hard to reason about code which changes because of who is calling it. But when you are generating code that can't be called directly it sure is nice. I vaguely recall from the '97 Python conference that Zope does a similar thing.

ANTLR 3 is still quite a ways off, but with Ter at his faculty position now he should be able to devote some serious time to getting it going.

Way cool is that ANTLR the grammar analyzer will produce its results as an intermediate file format which can be used to generate the code. This will allow one to write the Python code generator in Python, etc. I can't wait!

Latest blog entries     Older blog entries

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!