Codegen

Semantic checking DONE.