From bbb7e60042994a0d2405a3480d448d47c2fb5637 Mon Sep 17 00:00:00 2001 From: dimgigov Date: Sat, 30 May 2026 23:02:33 +0300 Subject: [PATCH] fix: add tkAssign and compound assignment operators to C codegen - Map tkAssign to '=' in operatorToC - Add tkAmpAssign, tkPipeAssign, tkCaretAssign, tkShlAssign, tkShrAssign - Fibonacci program now works correctly with while loops and assignment --- src/c_backend.nim | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/c_backend.nim b/src/c_backend.nim index e8317a7..61a0f98 100644 --- a/src/c_backend.nim +++ b/src/c_backend.nim @@ -110,11 +110,17 @@ proc operatorToC(op: TokenKind): string = of tkTilde: return "~" of tkPlusPlus: return "++" of tkMinusMinus: return "--" + of tkAssign: return "=" of tkPlusAssign: return "+=" of tkMinusAssign: return "-=" of tkStarAssign: return "*=" of tkSlashAssign: return "/=" of tkPercentAssign: return "%=" + of tkAmpAssign: return "&=" + of tkPipeAssign: return "|=" + of tkCaretAssign: return "^=" + of tkShlAssign: return "<<=" + of tkShrAssign: return ">>=" else: return "?" # Forward declaration