From 655114600f02bd2d0ed5571cdb1670b357b3fa41 Mon Sep 17 00:00:00 2001 From: Camil Staps Date: Mon, 18 May 2015 14:47:30 +0200 Subject: RefactorX camil --- fp2/week45/camil/RefactorX.dcl | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 fp2/week45/camil/RefactorX.dcl (limited to 'fp2/week45/camil/RefactorX.dcl') diff --git a/fp2/week45/camil/RefactorX.dcl b/fp2/week45/camil/RefactorX.dcl new file mode 100644 index 0000000..3ddc8a4 --- /dev/null +++ b/fp2/week45/camil/RefactorX.dcl @@ -0,0 +1,18 @@ +definition module RefactorX + +import StdEnv + +:: Expr = NR Int + | VAR Name + | OP Expr Operator Expr + | LET Name Expr Expr +:: Name :== String +:: Operator = PLUS | MIN | MUL | DIV +:: Val = Result Int | Undef + +from StdClass import class toString + +instance toString Expr +free :: Expr -> [Name] +remove_unused_lets :: Expr -> Expr +eval :: Expr -> Val -- cgit v1.2.3