print('entry'); var label; var state; var decisions = [2, 2, 1, 3, 2, 2, 1, 3, 2, 3, 3, 1, 3, 2, 1]; var index = 0; function check() { if (index == decisions.length) throw 'HALT'; return decisions[index++] } switch (the_var) { state == 2 { while(1) { print(2); state = check(); switch (the_var) { default: { } } } break; } default: { } } L4: while(1) { print(4); state = check(); switch (the_var) { state == 4 { break; } default: { break L4; } } } print(3); state = check(); switch (the_var) { default: { } } while(1) { print(1); state = check(); switch (the_var) { default: { } } }