This commit is contained in:
Михаил Капелько
2024-04-29 13:55:36 +03:00
parent 0bd0bf16f2
commit 467ba0ff81
4 changed files with 52 additions and 32 deletions

View File

@@ -90,8 +90,12 @@ def translateStatement(s, state):
posEqual >= 0
):
name = ss[:posEqual]
value = ss[posEqual + len(" = "):]
return f"{indentation}auto {name} = {value};"
# Skip prepending 'auto' each time variable is assigned,
# only do it the first time
if name not in state.varNames:
state.varNames[name] = True
value = ss[posEqual + len(" = "):]
return f"{indentation}auto {name} = {value};"
# Keep "if ("
if ss == "if (":
@@ -138,6 +142,7 @@ class CPP:
self.fn = fn
self.isIf = False
self.isIfNot = False
self.varNames = {}
def translate(self):
returnType = translateType(self.fn.returnType)