From 1e0f31cb6bce6d5aaea3660cddf9fbf86ed43a0d Mon Sep 17 00:00:00 2001 From: nub31 Date: Mon, 27 Jan 2025 21:04:04 +0100 Subject: [PATCH] Add next steps --- Nub.Lang/Nub.Lang/Input/core/print.nub | 32 ++++++++++++++++++ Nub.Lang/Nub.Lang/Input/core/utils.nub | 4 +++ Nub.Lang/Nub.Lang/Input/program.nub | 47 +++++--------------------- 3 files changed, 44 insertions(+), 39 deletions(-) create mode 100644 Nub.Lang/Nub.Lang/Input/core/print.nub create mode 100644 Nub.Lang/Nub.Lang/Input/core/utils.nub diff --git a/Nub.Lang/Nub.Lang/Input/core/print.nub b/Nub.Lang/Nub.Lang/Input/core/print.nub new file mode 100644 index 0000000..da920a2 --- /dev/null +++ b/Nub.Lang/Nub.Lang/Input/core/print.nub @@ -0,0 +1,32 @@ +namespace core; + +let SYS_WRITE = 1; +let STD_IN = 0; +let STD_OUT = 1; +let STD_ERR = 2; + +func print(msg: String) { + syscall(SYS_WRITE, STD_OUT, msg, strlen(msg)); +} + +func print(value: bool) { + if value { + print("true"); + } else { + print("false"); + } +} + +func println() { + print("\n"); +} + +func println(msg: String) { + print(msg); + println(); +} + +func println(value: bool) { + print(value); + println(); +} diff --git a/Nub.Lang/Nub.Lang/Input/core/utils.nub b/Nub.Lang/Nub.Lang/Input/core/utils.nub new file mode 100644 index 0000000..dae83b1 --- /dev/null +++ b/Nub.Lang/Nub.Lang/Input/core/utils.nub @@ -0,0 +1,4 @@ +namespace core; + +extern func strlen(msg: String): int64; +extern func strcmp(a: String, b: String): bool; diff --git a/Nub.Lang/Nub.Lang/Input/program.nub b/Nub.Lang/Nub.Lang/Input/program.nub index c7a656d..7e41667 100644 --- a/Nub.Lang/Nub.Lang/Input/program.nub +++ b/Nub.Lang/Nub.Lang/Input/program.nub @@ -1,48 +1,17 @@ -let SYS_WRITE = 1; -let STD_IN = 0; -let STD_OUT = 1; -let STD_ERR = 2; +namespace program; +using core; func main() { - println("test"); - println(true); + core::println("test"); + core::println(true); if true { - println("1"); + core::println("1"); } else if false { - println("2"); + core::println("2"); } else if true { - println("3"); + core::println("3"); } else { - println("4"); + core::println("4"); } } - -func print(msg: String) { - syscall(SYS_WRITE, STD_OUT, msg, strlen(msg)); -} - -func print(value: bool) { - if value { - print("true"); - } else { - print("false"); - } -} - -func println() { - print("\n"); -} - -func println(msg: String) { - print(msg); - println(); -} - -func println(value: bool) { - print(value); - println(); -} - -extern func strlen(msg: String): int64; -extern func strcmp(a: String, b: String): bool;