Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -- 3б) Реализуйте вычисление значения арифметического выражения
- def eval (env : string → ℤ) : aexp → ℤ
- | (aexp.var x) := env x
- | (aexp.num x) := x
- | (aexp.add a b) := eval a + eval b
- | (aexp.sub a b) := eval a - eval b
- | (aexp.mul a b) := eval a * eval b
- | (aexp.div a b) := eval a / eval b
- def some_env : string → ℤ
- | "x" := 3
- | "y" := 17
- | _ := 201
- #eval eval some_env (aexp.var "x") -- должно быть: 3
- #eval eval some_env (aexp.add (aexp.var "x") (aexp.var "y")) -- должно быть: 20
Add Comment
Please, Sign In to add comment