As an interesting side note, I wrote a Lua compiler a while ago that used syntax much closer to C or Go. It used curly brackets for blocks (curly brackets for tables still worked, the compiler can tell the difference), "&&" instead of "and", "!=" instead of "~=", it even had a "continue" keyword. All this and it still produced bytecode that would run on the standard Lua VM. Code quality generally exactly matched that produced by the standard Lua compiler, but there were a few cases where it was slightly worse due to me being lazy...
Unfortunately it was written in Go, so it would not be possible to use it with standard Lua without a total rewrite or using it as a stand-alone tool (not to mention the fact that the "load" function was something of an issue, as it still used standard Lua syntax).
The idea of the new syntax was to make it easier to work with for a programmer used to C/C++, C#, Java, Go, etc. It worked great, but I never bothered to write a C version and publish it...
What makes people write compiler for one non-standard (i.e. runtime not available by default) language in another one...

Other than that, it's very interesting, and I thought it was possible to make standalone binaries with Go, at least I've seen some tools distributed that way.
As for me, the main problem of Lua is still 1-based numbering which, when porting more or less complex algorithms, makes it easier to rewrite them from scratch to avoid mistakes than to simply change syntax as between other languages.