FIXED: bug when calculating var address
ADDED: while
FIXED: return expression
FIXED: array reference