diff --git a/examples-ropl/baz.ropl b/examples-ropl/baz.ropl new file mode 100644 index 0000000..2412647 --- /dev/null +++ b/examples-ropl/baz.ropl @@ -0,0 +1,11 @@ +fun main(){ + fmt = "%d\n" + x = 1+1+1 +print: + !printf(fmt, x) + x = x+1 + cmp x, 10 + jne print +} + + diff --git a/examples-ropl/fib.ropl b/examples-ropl/fib.ropl new file mode 100644 index 0000000..4b7d36c --- /dev/null +++ b/examples-ropl/fib.ropl @@ -0,0 +1,31 @@ +fun fib(n, out){ + x = 0 + y = 0 + + cmp n, 0 + je copy + cmp n, 1 + je copy + + fib(n-1, @x) + fib(n-2, @y) + + [out] = x+y + jmp exit +copy: + [out] = n +exit: +} + +fun main(){ + fmt = "%d\n" + i = 0 + x = 0 +print: + fib(i, @x) + !printf(fmt, x) + i = i+1 + cmp i, 11 + jne print +} + diff --git a/examples-ropl/foo.ropl b/examples-ropl/foo.ropl new file mode 100644 index 0000000..0fdb599 --- /dev/null +++ b/examples-ropl/foo.ropl @@ -0,0 +1,26 @@ +fun foo(){ + x = 1; +} + +fun main(){ + one = 1 + odd = 0 + even = 0 + i = 0 + n = 10 +sum: + ;foo() + r = i & 1 + cmp r, 1 + je odd + even = even+i + jmp skip +odd: + odd = odd+i +skip: + i = i+1 + cmp i, n + jne sum + total = odd + even +} + diff --git a/examples-ropl/trivial.ropl b/examples-ropl/trivial.ropl new file mode 100644 index 0000000..1803ed3 --- /dev/null +++ b/examples-ropl/trivial.ropl @@ -0,0 +1,4 @@ +fun main(){ + i = 0 +} +