Improved detection of erroneous semantics. Fix Lexer::genId. Move enum Semantic and enum Pass to Expression.