Vishal Soni wrote:
Allison having said that we need an API for byte code generation that supports plug n play optimizers would it make sense to start implementing this layer. This API could be used for OST to byte code generation. Later when Patrick's PGE to C parser generator is ready we could use his code to implement the PIR compiler and just use the API's that we write for byte code generation.
Yes, this will be valuable.
Initially for prototyping purposes we might just use the existing flex/yacc or re2c/lemon.
The current PGE implementation is the best prototyping substitute: a) the output from it will be nearly identical to the output from the C version, and b) we also want to be able to use the OST-to-bytecode compiler from language-compilers that use the PIR versions of PGE/TGE, so it makes sense to build it that way from the start.
Ultimately we'll want to remove the PIR->PGE->PIR dependency loop, but this is a good start.
Allison should this development wait or can we start working on it? Will we need a PDD before we can commence working on this API. Let me know your thoughts. It might not hurt to start working on a Prototype API and see how it fits withe OST-to-bytecode compiler.
Let's go for an agile, iterative approach to the spec. Write up some initial thoughts on the shape of the API and post them to parrot-porters. The group can do sanity-checking/brainstorming, and then you can start a prototype based on the result. After we've played with the prototype a bit (and probably after you've modified it a few times based on feedback from the group), I'll write a PDD to flesh out the spec, fill in any holes, and address any problems encountered along the way.
Thanks, Allison