Append whitespace to code before lexing

This makes it easier to handle tokens directly before the end of the input.
Add parsing of several kinds of expressions

Parsing succeeds for the following kinds of expression:

 - Arithmetic expressions (+, -, *, /, %)
 - Call expressions
 - Variable expressions