about summary refs log tree commit diff
path: root/examples
diff options
context:
space:
mode:
authorBaitinq <[email protected]>2025-03-24 00:57:07 +0100
committerBaitinq <[email protected]>2025-03-24 00:57:07 +0100
commit0852417019c6129dc356d84d3bd6cb61d78ba7db (patch)
treef685d41db3175c716fd1f302bc27366067bd028c /examples
parentFeature: Add support for strings (diff)
downloadinterpreter-0852417019c6129dc356d84d3bd6cb61d78ba7db.tar.gz
interpreter-0852417019c6129dc356d84d3bd6cb61d78ba7db.tar.bz2
interpreter-0852417019c6129dc356d84d3bd6cb61d78ba7db.zip
Feature: Add initial support for pointers
Diffstat (limited to 'examples')
-rw-r--r--examples/1.src2
-rw-r--r--examples/10.src2
-rw-r--r--examples/11.src6
-rw-r--r--examples/12.src2
-rw-r--r--examples/13.src2
-rw-r--r--examples/2.src2
-rw-r--r--examples/3.src2
-rw-r--r--examples/4.src2
-rw-r--r--examples/5.src1
-rw-r--r--examples/6.5.src2
-rw-r--r--examples/6.src2
-rw-r--r--examples/7.src2
-rw-r--r--examples/8.src2
-rw-r--r--examples/9.src2
14 files changed, 29 insertions, 2 deletions
diff --git a/examples/1.src b/examples/1.src
index d3c8482..5a6da78 100644
--- a/examples/1.src
+++ b/examples/1.src
@@ -1,3 +1,5 @@
+extern printf = (ptr, i64) => i64;
+
 let main = () => i64 {
 	let s = "hello";
 
diff --git a/examples/10.src b/examples/10.src
index c0bb704..5e1f6b3 100644
--- a/examples/10.src
+++ b/examples/10.src
@@ -1,3 +1,5 @@
+extern printf = (ptr, i64) => i64;
+
 let main = () => i64 {
 	let counter = 0;
 
diff --git a/examples/11.src b/examples/11.src
index 5289f9a..8c45c35 100644
--- a/examples/11.src
+++ b/examples/11.src
@@ -1,11 +1,13 @@
+extern printf = (ptr, i64) => i64;
+
 let main = () => i64 {
 	let y = (f: (i64) => i64, x: i64) => i64 {
 		return f(x);
 	};
 
 	let id = (a: i64) => i64 {
-		print(a);
-		print(12);
+		printf("%d", a);
+		printf("%d", 12);
 		return a;
 	};
 
diff --git a/examples/12.src b/examples/12.src
index 941682a..c54cfa7 100644
--- a/examples/12.src
+++ b/examples/12.src
@@ -1,3 +1,5 @@
+extern printf = (ptr, i64) => i64;
+
 let main = () => i64 {
     let factorial = (n: i64) => i64 {
         let f = (acc: i64, n: i64) => i64 {
diff --git a/examples/13.src b/examples/13.src
index c1f2fcb..a2c96e9 100644
--- a/examples/13.src
+++ b/examples/13.src
@@ -1,3 +1,5 @@
+extern printf = (ptr, i64) => i64;
+
 let main = () => i64 {
     /* Iterative Fibonacci using while loop. */
     let fibonacci_iter = (n: i64) => i64 {
diff --git a/examples/2.src b/examples/2.src
index 766086d..feeed3f 100644
--- a/examples/2.src
+++ b/examples/2.src
@@ -1,3 +1,5 @@
+extern printf = (ptr, i64) => i64;
+
 let main = () => i64 {
 	let test = 1922;
 
diff --git a/examples/3.src b/examples/3.src
index 8ff1920..70d7ecc 100644
--- a/examples/3.src
+++ b/examples/3.src
@@ -1,3 +1,5 @@
+extern printf = (ptr, i64) => i64;
+
 let main = () => i64 {
 	let seventeen = 10 + 2 + 4;
 
diff --git a/examples/4.src b/examples/4.src
index d1ae454..1718eed 100644
--- a/examples/4.src
+++ b/examples/4.src
@@ -1,3 +1,5 @@
+extern printf = (ptr, i64) => i64;
+
 let main = () => i64 {
 	let print_one = () => i64 {
 		printf("%d", 1);
diff --git a/examples/5.src b/examples/5.src
index 7c767ea..954470d 100644
--- a/examples/5.src
+++ b/examples/5.src
@@ -1,4 +1,5 @@
 /* As you see, the language supports variable scopes */
+extern printf = (ptr, i64) => i64;
 
 let x = 18;
 
diff --git a/examples/6.5.src b/examples/6.5.src
index e82393a..42cfd72 100644
--- a/examples/6.5.src
+++ b/examples/6.5.src
@@ -1,3 +1,5 @@
+extern printf = (ptr, i64) => i64;
+
 let main = () => i64 {
 	let x = !(1 == 1);
 	if !x {
diff --git a/examples/6.src b/examples/6.src
index 2492e76..c000bd2 100644
--- a/examples/6.src
+++ b/examples/6.src
@@ -1,3 +1,5 @@
+extern printf = (ptr, i64) => i64;
+
 let print_input = (input_a: i64, input_b: i64) => i64 {
 	printf("%d", input_a);
 	printf("%d", input_b);
diff --git a/examples/7.src b/examples/7.src
index fbb8d06..fccf61b 100644
--- a/examples/7.src
+++ b/examples/7.src
@@ -1,3 +1,5 @@
+extern printf = (ptr, i64) => i64;
+
 let ten = () => i64 {
 	return () => i64 {
 		return 10;
diff --git a/examples/8.src b/examples/8.src
index f2d1b97..68d2581 100644
--- a/examples/8.src
+++ b/examples/8.src
@@ -1,3 +1,5 @@
+extern printf = (ptr, i64) => i64;
+
 let main = () => i64 {
 	let fib = (n: i64) => i64 {
 		if n == 0 {
diff --git a/examples/9.src b/examples/9.src
index f36e92c..e0f919b 100644
--- a/examples/9.src
+++ b/examples/9.src
@@ -1,3 +1,5 @@
+extern printf = (ptr, i64) => i64;
+
 let print_boolean = (b: bool) => i64 {
 	printf("%d", b);
 	return 0;