Function arguments are pushed onto the stack frame from left to right, unlike standard C. In order to know whether these parameters are by-value or by-reference, we look at the function definition. Look around line 151 in parse.txt and you'll see the function parameters are now in left-to-right order. This was done, easily, by the change to valve.y (around line 170). Note how right-recursion was changed to left-recursion.
There is still a problem on line 28 of valve4.def (see line1161 in log.txt). That line "b = x;" should assign 1 to symbol index 19, however, 0 is getting assigned instead. Need to investigate, but wanted to get this submission in.
I suspect the new function interpret::symbolTableIndexMorph() will be useful in getting the above bug fixed. Hope there's no big issues waiting to be uncovered.