diff options
| -rw-r--r-- | examples/0.src | 5 | ||||
| -rw-r--r-- | examples/1.5.src | 6 | ||||
| -rw-r--r-- | examples/1.src | 4 | ||||
| -rw-r--r-- | examples/10.src | 4 | ||||
| -rw-r--r-- | examples/11.src | 6 | ||||
| -rw-r--r-- | examples/12.src | 6 | ||||
| -rw-r--r-- | examples/13.src | 6 | ||||
| -rw-r--r-- | examples/16.src | 1 | ||||
| -rw-r--r-- | examples/17.src | 7 | ||||
| -rw-r--r-- | examples/18.src | 11 | ||||
| -rw-r--r-- | examples/2.src | 4 | ||||
| -rw-r--r-- | examples/20.src | 5 | ||||
| -rw-r--r-- | examples/3.src | 4 | ||||
| -rw-r--r-- | examples/4.src | 6 | ||||
| -rw-r--r-- | examples/5.src | 9 | ||||
| -rw-r--r-- | examples/6.5.src | 4 | ||||
| -rw-r--r-- | examples/6.src | 6 | ||||
| -rw-r--r-- | examples/7.src | 4 | ||||
| -rw-r--r-- | examples/8.src | 4 | ||||
| -rw-r--r-- | examples/9.src | 4 | ||||
| -rw-r--r-- | src/bootstrap/main.src | 4 | ||||
| -rw-r--r-- | src/bootstrap/tokenizer.src | 11 |
22 files changed, 62 insertions, 59 deletions
diff --git a/examples/0.src b/examples/0.src index 8180dfa..7d1891d 100644 --- a/examples/0.src +++ b/examples/0.src @@ -1,8 +1,9 @@ /* HELLO! Welcome to the unnamed language */ -extern printf = (*i64, varargs) => i64; + +import "!stdlib.src"; let main = (argc: i64, argv: *i64) => i64 { - printf("%d\n", argc); + println("%d", argc); return 2; }; diff --git a/examples/1.5.src b/examples/1.5.src index fce8fd4..9359498 100644 --- a/examples/1.5.src +++ b/examples/1.5.src @@ -1,14 +1,14 @@ -extern printf = (*i64, i64) => i64; +import "!stdlib.src"; let x = () => i64 { - printf("%d\n", 22); + println("%d", 22); return 11; }; let main = () => i64 { let i = 4; - printf("%d\n", i); + println("%d", i); return x(); }; diff --git a/examples/1.src b/examples/1.src index e23f0a4..fa7c7e7 100644 --- a/examples/1.src +++ b/examples/1.src @@ -1,9 +1,9 @@ -extern printf = (*i64, varargs) => i64; +import "!stdlib.src"; let main = () => i64 { let s = "hello"; - printf("%s\n", s); + println("%s", s); return 0; }; diff --git a/examples/10.src b/examples/10.src index ac1f960..8e879b8 100644 --- a/examples/10.src +++ b/examples/10.src @@ -1,10 +1,10 @@ -extern printf = (*i64, varargs) => i64; +import "!stdlib.src"; let main = () => i64 { let counter = 0; while counter < 10 { - printf("%d\n", counter); + println("%d", counter); counter = counter + 1; }; diff --git a/examples/11.src b/examples/11.src index bd92f26..fd7f215 100644 --- a/examples/11.src +++ b/examples/11.src @@ -1,8 +1,8 @@ -extern printf = (*i64, varargs) => i64; +import "!stdlib.src"; let id = (a: i64) => i64 { - printf("%d\n", a); - printf("%d\n", 12); + println("%d", a); + println("%d", 12); return a; }; diff --git a/examples/12.src b/examples/12.src index 85e4211..21207f2 100644 --- a/examples/12.src +++ b/examples/12.src @@ -1,4 +1,4 @@ -extern printf = (*i64, varargs) => i64; +import "!stdlib.src"; let main = () => i64 { let factorial = (n: i64) => i64 { @@ -31,10 +31,10 @@ let main = () => i64 { }; let fact_val = factorial(6); - printf("%d\n", fact_val); + println("%d", fact_val); let even_sum = sum_if(is_even, 20); - printf("%d\n", even_sum); + println("%d", even_sum); return 0; }; diff --git a/examples/13.src b/examples/13.src index 77f85d1..798d056 100644 --- a/examples/13.src +++ b/examples/13.src @@ -1,4 +1,4 @@ -extern printf = (*i64, varargs) => i64; +import "!stdlib.src"; let main = () => i64 { /* Iterative Fibonacci using while loop. */ @@ -24,10 +24,10 @@ let main = () => i64 { }; let fib_val = fibonacci_iter(10); - printf("%d\n", fib_val); + println("%d", fib_val); let gcd_val = gcd(48, 18); - printf("%d\n", gcd_val); + println("%d", gcd_val); return 0; }; diff --git a/examples/16.src b/examples/16.src index 969e5d5..3fb29f7 100644 --- a/examples/16.src +++ b/examples/16.src @@ -1,4 +1,3 @@ -extern printf = (*i64, varargs) => i64; extern SDL_CreateWindow = (*i8, i64, i64, i64, i64, i64) => i64; extern SDL_Init = (i64) => i64; diff --git a/examples/17.src b/examples/17.src index 2871f46..779ff74 100644 --- a/examples/17.src +++ b/examples/17.src @@ -1,12 +1,13 @@ -extern printf = (*i64, varargs) => void; extern malloc = (i64) => *i64; extern free = (*i64) => void; +import "!stdlib.src"; + let main = () => i64 { let x = malloc(8); *x = 10; - printf("%p\n", x); - printf("%d\n", *x); + println("%p", x); + println("%d", *x); free(x); return 0; }; diff --git a/examples/18.src b/examples/18.src index be5b967..29facd5 100644 --- a/examples/18.src +++ b/examples/18.src @@ -1,16 +1,17 @@ -extern printf = (*i64, varargs) => void; extern malloc = (i64) => *i64; extern free = (*i64) => void; +import "!stdlib.src"; + let main = () => i64 { let x = malloc(24); (*(x+0)) = 10; (*(x+1)) = 20; (*(x+2)) = 40; - printf("%p\n", x); - printf("%d\n", *(x+0)); - printf("%d\n", *(x+1)); - printf("%d\n", *(x+2)); + println("%p", x); + println("%d", *(x+0)); + println("%d", *(x+1)); + println("%d", *(x+2)); free(x); return 0; }; diff --git a/examples/2.src b/examples/2.src index 4182b79..74e6400 100644 --- a/examples/2.src +++ b/examples/2.src @@ -1,11 +1,11 @@ -extern printf = (*i64, i64) => i64; +import "!stdlib.src"; let main = () => i64 { let test = 1922; let uwu = test; - printf("%d\n", uwu); + println("%d", uwu); return 0; }; diff --git a/examples/20.src b/examples/20.src index 56c694e..9e289f1 100644 --- a/examples/20.src +++ b/examples/20.src @@ -1,7 +1,8 @@ -extern printf = (*i64, varargs) => void; extern malloc = (i64) => *i64; extern free = (*i64) => void; +import "!stdlib.src"; + let init_array = (n: i64, arr: *i64) => i64 { let i = 0; while i < n { @@ -18,7 +19,7 @@ let main = () => i64 { let i = 0; while i < n { - printf("%d\n", *(arr + i)); + println("%d", *(arr + i)); i = i + 1; }; diff --git a/examples/3.src b/examples/3.src index 879f831..d08cd7d 100644 --- a/examples/3.src +++ b/examples/3.src @@ -1,11 +1,11 @@ -extern printf = (*i64, i64) => i64; +import "!stdlib.src"; let main = () => i64 { let seventeen = 10 + 2 + 4; seventeen = seventeen + 1; - printf("%d\n", seventeen); + println("%d", seventeen); return seventeen; }; diff --git a/examples/4.src b/examples/4.src index dbbb143..f7b00e9 100644 --- a/examples/4.src +++ b/examples/4.src @@ -1,14 +1,14 @@ -extern printf = (*i64, varargs) => i64; +import "!stdlib.src"; let main = () => i64 { let print_one = () => i64 { - printf("%d\n", 1); + println("%d", 1); return 4; }; let y = print_one() + 2; - printf("%d\n", y); + println("%d", y); return y; }; diff --git a/examples/5.src b/examples/5.src index 6ebbb9a..c397759 100644 --- a/examples/5.src +++ b/examples/5.src @@ -1,19 +1,20 @@ /* As you see, the language supports variable scopes */ -extern printf = (*i64, varargs) => i64; + +import "!stdlib.src"; let x = 18; let foo = () => i64 { let x = 1; - printf("%d\n", x); + println("%d", x); return x; }; let main = () => i64 { - printf("%d\n", x); + println("%d", x); let x = 2; let y = foo(); - printf("%d\n", x); + println("%d", x); return x + y; }; diff --git a/examples/6.5.src b/examples/6.5.src index 5475bff..d85fe34 100644 --- a/examples/6.5.src +++ b/examples/6.5.src @@ -1,9 +1,9 @@ -extern printf = (*i64, varargs) => i64; +import "!stdlib.src"; let main = () => i64 { let x = !(1 == 1); if !x { - printf("Condition\n"); + println("Condition"); }; return 0; }; diff --git a/examples/6.src b/examples/6.src index 44ff0e0..ff4ed9e 100644 --- a/examples/6.src +++ b/examples/6.src @@ -1,8 +1,8 @@ -extern printf = (*i64, varargs) => i64; +import "!stdlib.src"; let print_input = (input_a: i64, input_b: i64) => i64 { - printf("%d\n", input_a); - printf("%d\n", input_b); + println("%d", input_a); + println("%d", input_b); return input_a + input_b; }; diff --git a/examples/7.src b/examples/7.src index 771a4ad..6b45b73 100644 --- a/examples/7.src +++ b/examples/7.src @@ -1,4 +1,4 @@ -extern printf = (*i64, varargs) => i64; +import "!stdlib.src"; let ten = () => i64 { return () => i64 { @@ -10,7 +10,7 @@ let main = () => i64 { let i = 4; if (1 - -1 * 2) == 5 - (-1 + 1 + ten() / 2) + 3 { - printf("%d\n", i); + println("%d", i); return i; }; diff --git a/examples/8.src b/examples/8.src index 748c809..fe6b66d 100644 --- a/examples/8.src +++ b/examples/8.src @@ -1,4 +1,4 @@ -extern printf = (*i64, varargs) => i64; +import "!stdlib.src"; let main = () => i64 { let fib = (n: i64) => i64 { @@ -12,7 +12,7 @@ let main = () => i64 { }; let result = fib(30); - printf("%d\n", result); + println("%d", result); return result; }; diff --git a/examples/9.src b/examples/9.src index 11aca4d..6704c1d 100644 --- a/examples/9.src +++ b/examples/9.src @@ -1,7 +1,7 @@ -extern printf = (*i64, varargs) => i64; +import "!stdlib.src"; let print_boolean = (b: bool) => i64 { - printf("%d\n", b); + println("%d\n", b); return 0; }; diff --git a/src/bootstrap/main.src b/src/bootstrap/main.src index e758d96..aa916d9 100644 --- a/src/bootstrap/main.src +++ b/src/bootstrap/main.src @@ -14,13 +14,13 @@ import "tokenizer.src"; let main = (argc: i64, argv: **i8) => i64 { if argc < 2 { - printf("Need filename!\n"); + println("Need filename!"); return 1; }; let filename = *(argv + 1); - printf("%s\n", filename); + println("%s", filename); tokenizer_init(filename); tokenizer_deinit(); diff --git a/src/bootstrap/tokenizer.src b/src/bootstrap/tokenizer.src index 6a88117..26d31b8 100644 --- a/src/bootstrap/tokenizer.src +++ b/src/bootstrap/tokenizer.src @@ -32,7 +32,7 @@ let read_file = (filename: *i8) => *i8 { }; let add_token = (tokens: *i8, token: *i8) => i64 { - printf("Add token: %s\n", token); + println("Add token: %s", token); let i = 0; while true { let c = (*(token + i)); @@ -86,7 +86,6 @@ let tokenizer_accept_string = (str: *i8) => bool { let s = malloc(1000); memcpy(s, buf + offset, str_len); - /* printf("Accept string: %s vs %s\n", str, s); */ if strcmp(s, str) { offset = offset + str_len; return true; @@ -351,16 +350,16 @@ let tokenizer_next = () => *i8 { let tokenizer_init = (filename: *i8) => i64 { let buf = read_file(filename); - printf("File size: %d\n", file_size); + println("File size: %d", file_size); - printf("%s\n", buf); + println("%s", buf); tokens = malloc(10000); while true { let t = tokenizer_next(); if t == null { - printf("NULL TOKEN!\n"); + println("NULL TOKEN!"); return 1; }; if strcmp(t, "EOF") { @@ -369,7 +368,7 @@ let tokenizer_init = (filename: *i8) => i64 { add_token(tokens, t); }; - printf("PRINT TOKENS\n"); + println("PRINT TOKENS"); print_tokens(tokens); |