Two pass process for TARDISgo as a way to make it easier to add new target language back-ends

39 views
Skip to first unread message

Elliott Stoneham

unread,
Feb 4, 2014, 4:19:46 PM2/4/14
to tard...@googlegroups.com
I'm very interested in targeting more languages with TARDISgo than just Haxe. To that end, I'd like to make it easier to write a new language back-end. That requires that TARDISgo moves more of the runtime into Go and out of Haxe, and also that the number of instructions for the back-end code to generate is reduced.

As part of that, I'd like to take the SSA representation of the Go program and then emit a new version of the Go code from that SSA form, as a pre-processing stage inside TARDISgo. This would involve automatically rewriting the Go code to simulate goroutines and channels (as tardisgo does using Haxe) as a first stage in the transpiler.

I'd also like to undertake this rewriting process after some optimization of the SSA form, though I've not yet got a firm plan for how to do that optimization.

Delighted to discuss the ideas further, if anyone is interested.

Elliott
Reply all
Reply to author
Forward
0 new messages