From 9f7bc4d2d5ea2b3224cb969d64c59aced92a159a Mon Sep 17 00:00:00 2001 From: nub31 Date: Mon, 2 Jun 2025 14:31:05 +0200 Subject: [PATCH] ... --- example/main.nub | 12 +++++++++ example/program.nub | 30 ---------------------- src/lang/Nub.Lang/Frontend/Lexing/Lexer.cs | 2 +- 3 files changed, 13 insertions(+), 31 deletions(-) create mode 100644 example/main.nub delete mode 100644 example/program.nub diff --git a/example/main.nub b/example/main.nub new file mode 100644 index 0000000..67cff6b --- /dev/null +++ b/example/main.nub @@ -0,0 +1,12 @@ +namespace main + +export func main(args: []^string) { + c::printf("%d\n", args.count) + + let i: i64 + + while i < args.count { + c::printf("%s\n", args[i]) + i += 1 + } +} \ No newline at end of file diff --git a/example/program.nub b/example/program.nub deleted file mode 100644 index 6a1e761..0000000 --- a/example/program.nub +++ /dev/null @@ -1,30 +0,0 @@ -namespace main - -struct Human { - -} - -/// # Documentation -/// ## Documentation subtitle -export func main(args: []^string) { - let i: i64 - - c:printf("%d\n", args.count) - - while i < args.count { - c::printf("%s\n", args[i]) - i += 1 - } - - let human = alloc Human {} - - let arr = [10]^i64 - i = 0 - - while i < arr.count + 1 { - c::printf("%d\n", arr[i]) - i += 1 - } - - c::printf("success\n", "") -} \ No newline at end of file diff --git a/src/lang/Nub.Lang/Frontend/Lexing/Lexer.cs b/src/lang/Nub.Lang/Frontend/Lexing/Lexer.cs index 2935775..dbe0918 100644 --- a/src/lang/Nub.Lang/Frontend/Lexing/Lexer.cs +++ b/src/lang/Nub.Lang/Frontend/Lexing/Lexer.cs @@ -246,7 +246,7 @@ public class Lexer { var line = 1; var column = 1; - for (var i = 0; i < index; i++) + for (var i = 0; i < Math.Min(index, _sourceText.Content.Length - 1); i++) { if (_sourceText.Content[i] == '\n') {