lexer must be unique in a parser class