%{ %} %start stmt %term CNST=16 %term ARG=32 %term ASGN=48 %term INDIR=64 %term UNI=192 %term CALL=208 %term RET=240 %term ADDRG=256 %term ADDRF=272 %term ADDRL=288 %term ADD=304 %term SUB=320 %term EQ=480 %term LT=544 %term JUMP=576 %term LABEL=592 %term VREG=704 %term STACK=720 %term COPY=736 %term NOOP=784 %% stk31: ADD(stack3, any) "" stk31: SUB(stack3, any) "" stk32: ADD(stack3, stack3) "" stk32: SUB(stack3, stack3) "" stk32: ADD(stack3, stk31) "" stk32: SUB(stack3, stk31) "" any: ADD(stack3, stk32) "" -3 any: SUB(stack3, stk32) "" -3 stk21: ADD(stack2, any) "" stk21: SUB(stack2, any) "" any: ADD(stack2, stk21) "" -2 any: SUB(stack2, stk21) "" -2 any: ADD(stack2, stack2) "" -2 any: SUB(stack2, stack2) "" -2 any: ADD(copy1, stack2) "" -1 any: SUB(copy1, stack2) "" -1 any: ADD(copy2, stack3) "" -1 any: SUB(copy2, stack3) "" -1 any: ADD(copy3, stack4) "" -1 any: SUB(copy3, stack4) "" -1 stack2: INDIR(stack2) "" stack2: STACK "$0=[1]" range(a, 2, 2) stack3: INDIR(stack3) "" stack3: STACK "$0=[1]" range(a, 3, 3) stack4: INDIR(stack4) "" stack4: STACK "$0=[1]" range(a, 4, 4) copy1: INDIR(copy1) "" copy1: COPY(any) "$0=[1]" range(a, 1, 1) copy2: INDIR(copy2) "" copy2: COPY(any) "$0=[1]" range(a, 2, 2) copy3: INDIR(copy3) "" copy3: COPY(any) "$0=[1]" range(a, 3, 3) any: INDIR(any) "" any: STACK "" any: COPY(any) "" any: ASGN(any, any) "" any: NOOP "" any: VREG "" any: CNST "" stmt: any "" any: ADDRG "" any: ADDRF "ERROR!" any: ADDRL "" any: ADD(any, any) "" any: SUB(any, any) "" any: UNI(any) "" stmt: LABEL "" any: JUMP(any) "" any: EQ(any, any) "" any: LT(any, any) "" any: EQ(stack2, stack2) "" any: LT(stack2, stack2) "" any: EQ(stack2, stk21) "" any: LT(stack2, stk21) "" any: CALL(any) "" any: RET(any) "" any: ARG(any) "" %%