Advertisement
Hinski2

Untitled

Jun 2nd, 2024
11
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.80 KB | None | 0 0
  1. (* abstract syntax tree *)
  2.  
  3. type bop = Mult | Div | Add | Sub | Eq | Lt | Gt | Leq | Geq | Neq | And | Or
  4.  
  5. type ident = string
  6. type cname = string
  7.  
  8. type pattern =
  9. | PWildcard
  10. | PUnit
  11. | PVar of ident
  12. | PInt of int
  13. | PBool of bool
  14. | PPair of pattern * pattern
  15. | PCtor of cname * pattern
  16. | PAs of pattern * ident
  17. | PWhen of pattern * expr (* dodanie PWhen*)
  18.  
  19. and expr =
  20. | Unit
  21. | Int of int
  22. | Bool of bool
  23. | Var of ident
  24. | Binop of bop * expr * expr
  25. | If of expr * expr * expr
  26. | Let of pattern * expr * expr
  27. | Fun of pattern * expr
  28. | App of expr * expr
  29. | Pair of expr * expr
  30. | Fst of expr
  31. | Snd of expr
  32. | Ctor of cname * expr
  33. | Match of expr * clause list
  34. | Raise
  35. | Try of expr * expr
  36.  
  37. and clause = pattern * expr
  38.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement