Commit c6ffbeba authored by Taddeus Kroes's avatar Taddeus Kroes

funclang series5: Fixed pattern match warning in eval function.

parent 7ee42f71
......@@ -19,9 +19,7 @@ let rec eval exp =
And | Or ->
let a = get_bool_value x in
let b = get_bool_value y in
(match op with
And -> Bool (a && b)
| Or -> Bool (a || b))
Bool (if op = And then a && b else a || b)
| _ ->
let a = get_int_value x in
let b = get_int_value y in
......@@ -30,12 +28,14 @@ let rec eval exp =
| Sub -> Num (a - b)
| Mul -> Num (a * b)
| Div -> Num (a / b)
| Mod -> Num (a mod b)
| Eq -> Bool (a = b)
| Ne -> Bool (a != b)
| Lt -> Bool (a < b)
| Le -> Bool (a <= b)
| Gt -> Bool (a > b)
| Ge -> Bool (a >= b))
| Ge -> Bool (a >= b)
| _ -> raise (Failure "Unknown operator"))
in
match exp with
MonopAp (op, e) -> eval_monop op (eval e)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment