diff --git a/compiler/nodes.py b/compiler/nodes.py index eaf3d64..115afc0 100644 --- a/compiler/nodes.py +++ b/compiler/nodes.py @@ -286,10 +286,9 @@ class Block(Statement): def intermediate_representation(self) -> list[ir.IRItem]: result: list[ir.IRItem] = [] - for node in self.nodes[:-1]: + for node in self.nodes: if not node.pure: result += node.intermediate_representation() - result += self.nodes[-1].intermediate_representation() return result def semantic_analysis(self, context: semantic.Context | None): @@ -316,6 +315,7 @@ class Variable(Node): return [self.identifier] def semantic_analysis(self, context: semantic.Context): + super(Variable, self).semantic_analysis(context) variable = context.get_variable(self.identifier.value) if variable is None: raise SemanticAnalysisError(location=self.location(), message=f"Unknown variable '{self.identifier.value}'")