| |
| |
| print('entry'); var label; var state; var decisions = [4, 1, 7, 2, 6, 6, 8]; var index = 0; function check() { if (index == decisions.length) throw 'HALT'; return decisions[index++] } |
| print(5); state = check(); |
| print(6); state = check(); |
| do { |
| if (state == 7) { |
| print(7); state = check(); |
| label = 3; |
| break; |
| } |
| } while(0); |
| L5: while(1) { |
| if (label == 3) { |
| label = 0; |
| print(2); state = check(); |
| } |
| print(1); state = check(); |
| while(1) { |
| print(3); state = check(); |
| if (!(state == 8)) { |
| continue L5; |
| } |
| print(8); state = check(); |
| if (!(state == 4)) { |
| label = 3; |
| continue L5; |
| } |
| print(4); state = check(); |
| if (!(state == 3)) { |
| continue L5; |
| } |
| } |
| } |
| |