From 98669aabcc3df2252447f089ef0863843684f4c9 Mon Sep 17 00:00:00 2001 From: nub31 Date: Sun, 11 May 2025 18:08:03 +0200 Subject: [PATCH] ... --- example/program.nub | 4 ++++ src/compiler/Nub.Lang/Backend/Generator.cs | 16 ++++++++-------- 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/example/program.nub b/example/program.nub index 25b51f0..a963944 100644 --- a/example/program.nub +++ b/example/program.nub @@ -4,4 +4,8 @@ global func main() { if 3 / 3 == 1 { puts("uwu"); } + + while 1 == 1 { + puts("loop"); + } } \ No newline at end of file diff --git a/src/compiler/Nub.Lang/Backend/Generator.cs b/src/compiler/Nub.Lang/Backend/Generator.cs index 1c1b676..c90087b 100644 --- a/src/compiler/Nub.Lang/Backend/Generator.cs +++ b/src/compiler/Nub.Lang/Backend/Generator.cs @@ -176,9 +176,9 @@ public class Generator private void GenerateIf(IfNode ifStatement) { - var trueLabel = GenName("if_true"); - var endLabel = GenName("if_end"); - var falseLabel = GenName("if_false"); + var trueLabel = GenName("true"); + var falseLabel = GenName("false"); + var endLabel = GenName("endif"); var result = GenerateExpression(ifStatement.Condition); _builder.AppendLine($" jnz {result}, @{trueLabel}, @{falseLabel}"); @@ -233,9 +233,9 @@ public class Generator private void GenerateWhile(WhileNode whileStatement) { - var conditionLabel = GenName("loop_condition"); - var iterationLabel = GenName("loop_iteration"); - var endLabel = GenName("loop_end"); + var conditionLabel = GenName("condition"); + var iterationLabel = GenName("iteration"); + var endLabel = GenName("endloop"); _breakLabels.Push(endLabel); _continueLabels.Push(conditionLabel); @@ -613,11 +613,11 @@ public class Generator return $"%{output}"; } - private string GenName(string prefix = "var") + private string GenName(string prefix = "v") { var index = _prefixIndexes.GetValueOrDefault(prefix, 0); _prefixIndexes[prefix] = index + 1; - return $"{prefix}_{index}"; + return $"{prefix}{index}"; } private class Variable