Adding most operators

This commit is contained in:
Anthony Debucquoy
2025-03-20 13:27:57 +01:00
parent 4db6081fc8
commit 5d21e611f0
6 changed files with 126 additions and 28 deletions

View File

@ -31,7 +31,6 @@ class Variables:
return f"\"{self.value}\""
return f"{self.value}"
def checkType(self, value, typ) -> bool:
return value is None or type(value) == self.types[typ]
@ -53,7 +52,7 @@ class Variables:
assert name in self.variables, "la variable {name} n'éxiste pas"
if self.trace:
print(f"{trace_format}accède {name}{reset_format}", file=sys.stderr)
return self.variables[name]
return self.variables[name].value
def declare(self, typ, name, value=None):
assert name not in self.variables, "la variable {name} existe déjà"
@ -69,7 +68,9 @@ class Variables:
def dump(self):
name_len = max(map(len, self.variables.keys()))
name_len = name_len if name_len >= len("name") else len("name")
var_len = max(map(len,map(str, self.variables.values())))
var_len = var_len if var_len >= len("value") else len("value")
print(f"{'' * name_len}{'' * var_len}", file=sys.stderr)
print(f"{'Name':>{name_len}}{'Value':<{var_len}}", file=sys.stderr)
print(f"{'' * name_len}{'' * var_len}", file=sys.stderr)