Sorry, was distracted by the other conversation with dherman, and really shouldn't be spending any time on this anyway, but I've verified your operator associativity is wrong.
To start with some example code:
for (var a = 7 in /7/ in 9 in b);
If I run that in node I get:
TypeError: Cannot use 'in' operator to search for '/7/' in 9
As this code is vaguely equivalent to:
var a = 7; for (a in ((/7/ in 9) in b));
However, it gets converted by sjs to:
for (var a = 7 in (/7/ in (9 in b)));
That's obviously different, and gives this error instead:
ReferenceError: b is not defined
(I really should get back to actually doing my job now, though; if dherman responds again I'll totally notice and follow up: that conversation is really interesting to me.)
To start with some example code:
If I run that in node I get: As this code is vaguely equivalent to: However, it gets converted by sjs to: That's obviously different, and gives this error instead: (I really should get back to actually doing my job now, though; if dherman responds again I'll totally notice and follow up: that conversation is really interesting to me.)