Implemented semantic AST