Advertisement
Hinski2

Untitled

May 26th, 2024
14
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.79 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 (* nowy typ dla wzorców z `as` *)
  17.  
  18. type expr =
  19. | Unit
  20. | Int of int
  21. | Bool of bool
  22. | Var of ident
  23. | Binop of bop * expr * expr
  24. | If of expr * expr * expr
  25. | Let of pattern * expr * expr
  26. | Fun of pattern * expr
  27. | App of expr * expr
  28. | Pair of expr * expr
  29. | Fst of expr
  30. | Snd of expr
  31. | Ctor of cname * expr
  32. | Match of expr * clause list
  33. | Raise
  34. | Try of expr * expr
  35.  
  36. and clause = pattern * expr
  37.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement