From 35742aa52587400950cf25170c2247f98f498d4d Mon Sep 17 00:00:00 2001 From: Eugen Wissner Date: Fri, 4 Oct 2024 18:26:10 +0200 Subject: Add printc and exit builtin functions --- lib/Language/Elna/Frontend/NameAnalysis.hs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'lib/Language/Elna/Frontend/NameAnalysis.hs') diff --git a/lib/Language/Elna/Frontend/NameAnalysis.hs b/lib/Language/Elna/Frontend/NameAnalysis.hs index 2915331..dc39826 100644 --- a/lib/Language/Elna/Frontend/NameAnalysis.hs +++ b/lib/Language/Elna/Frontend/NameAnalysis.hs @@ -144,11 +144,11 @@ expression globalTable (AST.SubtractionExpression lhs rhs) >> expression globalTable rhs expression globalTable (AST.NegationExpression negation) = expression globalTable negation -{- expression globalTable (AST.VariableExpression variableExpression) = - variableAccess globalTable variableExpression expression globalTable (AST.ProductExpression lhs rhs) = expression globalTable lhs >> expression globalTable rhs +{- expression globalTable (AST.VariableExpression variableExpression) = + variableAccess globalTable variableExpression expression globalTable (AST.DivisionExpression lhs rhs) = expression globalTable lhs >> expression globalTable rhs @@ -158,6 +158,8 @@ statement _ AST.EmptyStatement = pure () statement globalTable (AST.CallStatement name arguments) = checkSymbol globalTable name >> traverse_ (expression globalTable) arguments +statement globalTable (AST.CompoundStatement statements) = + traverse_ (statement globalTable) statements {- statement globalTable (AST.AssignmentStatement lvalue rvalue) = variableAccess globalTable lvalue >> expression globalTable rvalue @@ -168,8 +170,6 @@ statement globalTable (AST.IfStatement ifCondition ifStatement elseStatement) statement globalTable (AST.WhileStatement whileCondition loop) = condition globalTable whileCondition >> statement globalTable loop -statement globalTable (AST.CompoundStatement statements) = - traverse_ (statement globalTable) statements variableAccess :: SymbolTable -> AST.VariableAccess -> NameAnalysis () variableAccess globalTable (AST.ArrayAccess arrayExpression indexExpression) -- cgit v1.2.3