svoid tok_forOver(LS tok) { jreplace (tok, "for over :", "for (int $2 = 0; $2 < l($4); $2++)"); jreplace (tok, "for backwards over :", "for (int $2 = l($5)-1; $2 >= 0; $2--)"); // index var and implicitly typed element var jreplace (tok, "for , over : ", "for $2, var $4 over $6:"); // index var and explicitly typed element var jreplace (tok, "for , over : {", "for (int $2 = 0; $2 < l($7); $2++) { $4 $5 = $7.get($2);"); jreplace (tok, "for , backwards over : {", "for (int $2 = l($8)-1; $2 >= 0; $2--) { $4 $5 = $8.get($2);"); jreplace_dyn_allowDollarRefs(tok, "for immutable to : {", cIdx -> { S var = makeVar(); ret "for \*var*/ to $5: { int $3 = \*var*/;"; }); }