A tokenizer and basic "smart objects" AST-building base classes