In this post, I said that I was done with language hacking for a while.
Well, I guess I can't stay away from it. Mattia Barbon has been running the Language::P project for a while now, over on github, and I've agreed to give him a hand with the Java backend pieces of that project.
The current state is that he has a Perl5 parser, which covers a reasonable (and improving) subset of P5. The parser is written in Perl5, and currently outputs a packed bytecode format (consisting of P5ish opcodes).
He has a branch containing a .NET backend which uses DLR expression trees, and I've started work on a Java backend.
My initial target is an interpreter, but I have several pieces which I would hope to use in an eventual compiler.
The current aim is to support enough of P5 for the Language::P parser to parse itself, and from there to bootstrap parsers in the target backends. For an interpreted backend, such as my current Java prototype, this will mean shipping a packed bytecode parser for the interpreter to fire up. For compiled backends, other avenues are possible.
Both the .NET and Java parts are currently on private branches, but I hope to make the code available soon, and merge to HEAD.
If anyone wants to help, please leave a comment / email me.
Saturday, 12 September 2009
Subscribe to:
Posts (Atom)