One guiding principle for what makes it into the MuIL AST is that the gap between source language and AST should not be too great; the projection of switch statements from MuJS into MuIL clearly violated that principle, particularly considering that the logic wasn't even right due to the incorrect emulation of conditional breaks. Instead of digging deeper into the hole, I've encoded switch logic in the AST, and implemented support in the evaluator. |
||
---|---|---|
.. | ||
rt | ||
alloc.go | ||
eval.go | ||
exceptions.go | ||
intrinsics.go | ||
scope.go |