evalExpression: switch peekChar ( evalFunctionCall 0-9 parseNumber " parseString a-zA-Z parseAndGetVariable evalFunctionCall fn = evalExpression arguments = evalExpression until ) fn(arguments)