preliminary non-recursive interpreter