dmt is an old project of mine from around year 2006. I ported it recently from D1 to D2, and added some extra features and support for extra keywords, and fixed few bugs here and there.
dmt is a converter (offline or auto-invoking compiler after conversion) from Python-like indention style to curly braces for D programming language.
It is fun and easy to use, and maybe it would be of interested to you.
def int f(int b): int y = 0 foreach (i; 0..5): y += i * (i+b) return y struct A: private: int a public: int b_ = 5 def auto b() @property: return b_ def void main(): import std writefln!"%s %s"(f(5), A())
$ DMD=ldc2 dmt -run example.dt ldc2 -run example.d 80 A(0, 5) $
All D programming language features are supported (including exception handling, if/else, switch/case/break, inline asm, attribute sections, goto). Converted code is human readable.
You can check more examples in the README.md and in
dmt is not yet self hosting, but that is probably the next step. :)