Implement division

This commit is contained in:
2024-10-06 18:07:57 +02:00
parent 35742aa525
commit 699cc8684b
13 changed files with 101 additions and 27 deletions

View File

@ -119,8 +119,8 @@ data Expression
| SubtractionExpression Expression Expression
| NegationExpression Expression
| ProductExpression Expression Expression
{- | VariableExpression VariableAccess
| DivisionExpression Expression Expression -}
| DivisionExpression Expression Expression
-- | VariableExpression VariableAccess
deriving Eq
instance Show Expression
@ -130,8 +130,8 @@ instance Show Expression
show (SubtractionExpression lhs rhs) = concat [show lhs, " - ", show rhs]
show (NegationExpression negation) = '-' : show negation
show (ProductExpression lhs rhs) = concat [show lhs, " * ", show rhs]
{- show (VariableExpression variable) = show variable
show (DivisionExpression lhs rhs) = concat [show lhs, " / ", show rhs] -}
show (DivisionExpression lhs rhs) = concat [show lhs, " / ", show rhs]
-- show (VariableExpression variable) = show variable
{-
data VariableAccess
= VariableAccess Identifier

View File

@ -147,11 +147,11 @@ expression globalTable (AST.NegationExpression negation) =
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
{- expression globalTable (AST.VariableExpression variableExpression) =
variableAccess globalTable variableExpression
-}
statement :: SymbolTable -> AST.Statement -> NameAnalysis ()
statement _ AST.EmptyStatement = pure ()

View File

@ -80,7 +80,7 @@ operatorTable =
]
factorOperator =
[ binary "*" ProductExpression
-- , binary "/" DivisionExpression
, binary "/" DivisionExpression
]
termOperator =
[ binary "+" SumExpression