initial commit. Working, but not finished, version of the compiler