Mod: refactored the `error` method
Mod: check symantic error before generating code
Mod: eliminate the compile error information