half of symbol table
finish codegen
add Makefile
complete symbol table & type chcking, to be tested