Improve symbol-related error checking

+ Duplicate symbols.
+ Undefined variables;
+ Forward-referenced functions that were never defined.
2 files changed