code lexer def