diff --git a/compiler/__main__.py b/compiler/__main__.py index bf52687..52ced6c 100644 --- a/compiler/__main__.py +++ b/compiler/__main__.py @@ -43,7 +43,7 @@ def main(): ast = parser.parse() ast.pprint(depth=10) - context = semantic.Context("root") + context = semantic.BuiltinContext() ast.semantic_analysis(context) intermediate_representation = ast.intermediate_representation() diff --git a/compiler/semantic.py b/compiler/semantic.py index 710f954..2c43be2 100644 --- a/compiler/semantic.py +++ b/compiler/semantic.py @@ -131,3 +131,12 @@ class Context: def __repr__(self) -> str: return self._pprint() + + +class BuiltinContext(Context): + def __init__(self): + super().__init__(name="builtins", parent=None) + self.types = { + "__unknown": Type(self, "__unknown", "builtin"), + "uint32": Type(self, "uint32", "builtin") + }