Module Types.Type_parse_tree

type unop =
  1. | Not
  2. | UMinus
type binop =
  1. | Plus
  2. | Minus
  3. | Mult
  4. | Div
  5. | Mod
  6. | And
  7. | Or
  8. | Xor
  9. | LShift
  10. | RShift
  11. | Eq
  12. | Diff
  13. | Ge
  14. | Gt
  15. | Le
  16. | Lt
type expr =
  1. | Self
  2. | Cst of Z.t
  3. | Var of string
  4. | Unary of unop * expr
  5. | Binary of binop * expr * expr
type ptr_annot =
  1. | Maybe_null
  2. | Non_null
type typ =
  1. | Alias of string
  2. | Pointer of typ * ptr_annot
  3. | Array of typ * expr
  4. | Struct of (string * typ) list
  5. | Union of (string * typ) list
  6. | Constraint of typ * expr
  7. | Applied of constr * expr list
  8. | Exists of string * typ * typ
  9. | Function of typ * typ list
and constr =
  1. | Lambda of string list * typ
  2. | LambdaAlias of string
type t =
  1. | Type of typ
  2. | Constr of constr