A JavaScript tokenizer