Writing a parser and Virtual Machine for Wren scripting language

Recently I discovered Wren and ever since I been wanting to use it as an embedded scripting language in my Haxe based projects.

I am a compiler and language design n00b (read enthusiast) but I have tried my hands at a few ambitious projects like implementing a webassembly virtual machine by attempting to port an existing one from Golang to Haxe code base.

Thanks to the hxparse tool, I have got the Wren lexer fleshed out fairly quickly and I have successfully parsed a subset of wren syntax. I hope to have a fully functional interpreter by next year.

I am curious about the interpreter optimisation, I am thinking of representing the parsed code in Static Single Assignment form before executing it. Could the community recommend other interpreter optimisations that I can explore, I would appreciate a few pointers and materials. I also need a good resource on garbage collector implementation that is n00b friendly.

Thanks for inviting me to this community, I hope to learn a lot from you all.

1 Like