diff options
Diffstat (limited to 'lib/Language/Elna/Frontend/NameAnalysis.hs')
| -rw-r--r-- | lib/Language/Elna/Frontend/NameAnalysis.hs | 8 |
1 files changed, 4 insertions, 4 deletions
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) |
