Update semantics

add function and variable name check and function body check
debug the errors