improved code generation and fixed emitter symbol table problem