diff options
Diffstat (limited to 'paper/While/WhileCommon.dcl')
-rw-r--r-- | paper/While/WhileCommon.dcl | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/paper/While/WhileCommon.dcl b/paper/While/WhileCommon.dcl index b813641..6d1c148 100644 --- a/paper/While/WhileCommon.dcl +++ b/paper/While/WhileCommon.dcl @@ -7,14 +7,15 @@ from WhileLexer import ::Token from Yard import ::Parser :: Var :== String - :: State :== Var -> Either Error Int +:: Operator = Add | Sub | Mul | Div + :: AExpr = Var Var | Lit Int | Op AExpr Operator AExpr -:: Operator = Add | Sub | Mul | Div +:: Comparator = Eq | Ne | Le | Lt | Ge | Gt :: BExpr = Bool Bool | Not BExpr @@ -22,8 +23,6 @@ from Yard import ::Parser | Or BExpr BExpr | Comp AExpr Comparator AExpr -:: Comparator = Eq | Ne | Le | Lt | Ge | Gt - derive gEq AExpr, Operator, BExpr, Comparator instance zero State |