tokenizer: tests and remove unnecessary escaping
start ast definition and tests