tamarin_vs19

Untitled

Apr 27th, 2021 (edited)
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.58 KB | None | 0 0
  1. -- 3б) Реализуйте вычисление значения арифметического выражения
  2. def eval (env : string → ℤ) : aexp → ℤ
  3. | (aexp.var x) := env x
  4. | (aexp.num x) := x
  5. | (aexp.add a b) := eval a + eval b
  6. | (aexp.sub a b) := eval a - eval b
  7. | (aexp.mul a b) := eval a * eval b
  8. | (aexp.div a b) := eval a / eval b
  9.  
  10. def some_env : string → ℤ
  11. | "x" := 3
  12. | "y" := 17
  13. | _ := 201
  14.  
  15. #eval eval some_env (aexp.var "x") -- должно быть: 3
  16. #eval eval some_env (aexp.add (aexp.var "x") (aexp.var "y")) -- должно быть: 20
Add Comment
Please, Sign In to add comment