Syntax translation

I think this is ready to go. Resolves #55.