lexer and parser modules and tests