1.1.2: lexer generation