// aritmetika: ++, --, +, -, *, /, +=, -=, %, // logika: &&, ||, ~, true, false, // usporedbe: ==, <=, <, // kontrola: ifthen, while, // polja kodirana gödel-brojevima (trenutno izbaceno iz javascript verzije) // ostalo: =, nop, mark, // makroi: new statement_1 .. statement_n // nop new nop 0 inc 10000 dec 10000 0 // -1 := '0' new zero 1 dec -1 2 goto 0 new false 1 zero -1 // -1 := '1' new true 1 zero -1 inc -1 // ++ -1 new ++ 1 inc -1 // -- -1 new -- 1 dec -1 2 // -1 += -2 using -3; -1 != -2 new f_uadd_diff 3 zero -3 dec -2 5 inc -1 inc -3 goto 1 dec -3 8 inc -2 goto 5 // -1 = -2 using -3; -1 != -2 new f_set_diff 3 zero -1 f_uadd_diff -1 -2 -3 // -1 += -2 using -3 -4 new f_uadd 4 f_set_diff -3 -2 -4 f_uadd_diff -1 -3 -4 // -1 = -2 using -3 -4 new f_set 4 f_set_diff -3 -2 -4 zero -1 f_uadd_diff -1 -3 -4 zero -2 f_uadd_diff -2 -3 -4 // -1 += -2 using e6 x1 new += 2 f_uadd -1 -2 10000 20000 // -1 = -2 using e6 x2 new = 2 f_set -1 -2 10000 20000 // -1 -= -2 using -3 -4 new f_usub 4 f_set_diff -3 -2 -4 dec -3 4 dec -1 4 goto 1 // -1 -= -2 using e6 new -= 2 f_usub -1 -2 10000 20000 // -1 = -2 + -3 using -4 -5 -6 -7 new f_add 7 f_set -4 -2 -6 -7 f_set -5 -3 -6 -7 zero -1 f_uadd -1 -4 -6 -7 f_uadd -1 -5 -6 -7 // -1 = -2 + -3 using -4; != -1, -2, -3 new f_add_diff 4 zero -1 f_uadd_diff -1 -2 -4 f_uadd_diff -1 -3 -4 // -1 = -2 + -3 using e6 x2 new + 3 f_add -1 -2 -3 10000 20000 30000 40000 // -1 = -2 - -3 using -4 -5 -6 -7 new f_sub 7 f_set -4 -2 -6 -7 f_usub -4 -3 -5 -6 f_set -1 -4 -6 -7 // -1 = -2 - -3 using -4 -5 -6; != -1, -2, -3 new f_sub_diff 6 f_set_diff -1 -2 -4 f_usub -1 -3 -5 -6 // -1 = -2 - -3 using e6 x4 new - 3 f_sub -1 -2 -3 10000 20000 30000 40000 // -1 = -2 * -3 using -4 ... -5, != -1, -2, -3 new f_mul_diff 5 zero -1 f_set_diff -4 -3 -5 dec -4 5 f_uadd_diff -1 -2 -5 goto 2 // -1 = -2 * -3 using -4 ... -7 new f_mul 7 f_set -4 -2 -6 -7 zero -5 dec -4 5 f_uadd -5 -3 -6 -7 goto 2 f_set -1 -5 -6 -7 // -1 *= -2 using -4 ... -5 new f_umul 4 f_set_diff -3 -1 -4 zero -1 dec -3 5 f_uadd_diff -1 -2 -4 goto 2 // -1 = -2 * -3 using e6 x4 new * 3 f_mul -1 -2 -3 10000 20000 30000 40000 // -1 = sgn(-2) new sgn 2 dec -2 5 inc -2 zero -1 inc -1 goto 6 zero -1 // -1 = !-2 new ~ 2 sgn -1 -2 dec -1 3 goto 4 inc -1 // -1 = -2 && -3 using -4 -5 -6 -7 new f_and 7 f_mul -1 -2 -3 -4 -5 -6 -7 sgn -1 -1 // -1 = -2 || -3 using -4 -5 -6 -7 new f_or 7 f_add -1 -2 -3 -4 -5 -6 -7 sgn -1 -1 // -1 = -2 && -3 using e6 x4 new && 3 f_and -1 -2 -3 10000 20000 30000 40000 // -1 = -2 || -3 using e6 x4 new || 3 f_or -1 -2 -3 10000 20000 30000 40000 // if -1 then goto -2 using -3 new f_ifthen 3 ~ -3 -1 dec -3 3 goto 4 goto -2 // if -1 then goto -2 using e6 x1 new ifthen 2 f_ifthen -1 -2 10000 // if -1 then goto -2 else -3 using -4 new f_ifthenelse 4 f_ifthen -1 -2 -4 goto -3 // if -1 then goto -2 else -3 using e6 x1 new ifthenelse 3 f_ifthenelse -1 -2 -3 10000 // -1 = (-2 == -3) using -4 ... -9 new f_eql 9 f_sub -4 -2 -3 -9 -8 -7 -6 f_sub -5 -3 -2 -9 -8 -7 -6 f_or -4 -4 -5 -9 -8 -7 -6 ~ -1 -4 // -1 = (-2 == -3) using e6 x6 new == 3 f_eql -1 -2 -3 10000 20000 30000 40000 50000 60000 // while (-1) goto -2, using -3 new f_while 3 f_ifthen -1 -2 -3 // while (-1) goto -2, using e6 x1 new while 2 f_while -1 -2 10000 // -1 = (-2 <= -3), using -4 ... -7 new f_<= 7 f_sub -1 -2 -3 -4 -5 -6 -7 ~ -1 -1 // -1 = (-2 <= -3), using e6 x4 new <= 3 f_<= -1 -2 -3 10000 20000 30000 40000 // -1 = (-2 < -3), using -4 ... -9 new f_< 7 f_<= -1 -3 -2 -4 -5 -6 -7 ~ -1 -1 // -1 = (-2 < -3), using e6 x6 new < 3 f_< -1 -2 -3 10000 20000 30000 40000 new EOF