summaryrefslogtreecommitdiff
path: root/test2.toc
diff options
context:
space:
mode:
Diffstat (limited to 'test2.toc')
-rw-r--r--test2.toc28
1 files changed, 28 insertions, 0 deletions
diff --git a/test2.toc b/test2.toc
new file mode 100644
index 0000000..864d7a9
--- /dev/null
+++ b/test2.toc
@@ -0,0 +1,28 @@
+puti ::= fn(x: int) {
+ #C("printf(\"%ld\\n\", (long)x);
+");
+};
+putf ::= fn(x: float) {
+ #C("printf(\"%f\\n\", (double)x);
+");
+};
+
+foo ::= fn(x ::= 5) (int, int) {
+x, 2*x
+};
+
+main ::= fn() {
+ puti(f(3));
+ puti(f(7));
+ puti(f(4));
+
+ f ::= fn(x ::= foo()) y := x + 1 { };
+
+ r ::= f(3);
+ puti(r);
+ s ::= f(7);
+ puti(s);
+ t ::= f(4);
+ puti(t);
+
+}; \ No newline at end of file