passes semantic checking. also updated compiler test
code generation almost works, go errors as of now