lexer: tokens array