Added separate classes for semantic errors/warnings and for type
errors/warnings