parser: add for-loop support
parser: add support for assignments
tokenizer: fix handling of special case tokens
parser: add tests for while