Stop compilation if there are errors in the syntax or in the grammar
Build the constant, variable and label tables during parsing

Remove one phase of the semantic analysis, this can be easily done during
parsing.
Factories for lexers and parsers
Centralize error reporting
Refactor error() and warn() functions
Version 0.2.0