t[idx]:=exp
consists of a name, an index expression and an new value expression. To evaluate
this expression, we first look up the name in the current environment. If it is
there, its binding is checked to be a table. If so, the next step is to recursively
evaluate the index expression. If the result is a positive number that is smaller
than (or equal to) the bounds of the table (if(nbr > size(tab),...
), the table is
updated with the result of evaluating the right-hand-side of the assignment expression.
The result of evaluating the update expression is the value of the right-hand-side.
This can be seen because exp
is returned.