Tokenizer, parser and evaluator now works for both program1 and
program2. To-do: refactoring, optimizing and testing