package libsail

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type
type iannot = int * Parse_ast.l
type ctyp =
  1. | CT_lint
  2. | CT_fint of int
  3. | CT_constant of Nat_big_num.num
  4. | CT_lbits
  5. | CT_sbits of int
  6. | CT_fbits of int
  7. | CT_unit
  8. | CT_bool
  9. | CT_bit
  10. | CT_string
  11. | CT_real
  12. | CT_float of int
  13. | CT_rounding_mode
  14. | CT_tup of ctyp list
  15. | CT_enum of Ast.id * Ast.id list
  16. | CT_struct of Ast.id * (Ast.id * ctyp) list
  17. | CT_variant of Ast.id * (Ast.id * ctyp) list
  18. | CT_fvector of int * ctyp
  19. | CT_vector of ctyp
  20. | CT_list of ctyp
  21. | CT_ref of ctyp
  22. | CT_poly of Ast.kid
  23. | CT_memory_writes
  24. | CT_json
  25. | CT_json_key
type chan =
  1. | Chan_stdout
  2. | Chan_stderr
type op =
  1. | Bnot
  2. | Bor
  3. | Band
  4. | List_hd
  5. | List_tl
  6. | List_is_empty
  7. | Eq
  8. | Neq
  9. | Ite
  10. | Get_abstract
  11. | String_eq
  12. | Ilt
  13. | Ilteq
  14. | Igt
  15. | Igteq
  16. | Iadd
  17. | Isub
  18. | Unsigned of int
  19. | Signed of int
  20. | Bvnot
  21. | Bvor
  22. | Bvand
  23. | Bvxor
  24. | Bvadd
  25. | Bvsub
  26. | Bvaccess
  27. | Concat
  28. | Zero_extend of int
  29. | Sign_extend of int
  30. | Slice of int
  31. | Sslice of int
  32. | Set_slice
  33. | Replicate of int
type name =
  1. | Name of Ast.id * int
  2. | Have_exception of int
  3. | Current_exception of int
  4. | Throw_location of int
  5. | Channel of chan * int
  6. | Memory_writes of int
  7. | Return of int
type cval =
  1. | V_id of name * ctyp
  2. | V_member of Ast.id * ctyp
  3. | V_lit of Value2.vl * ctyp
  4. | V_tuple of cval list * ctyp
  5. | V_struct of (Ast.id * cval) list * ctyp
  6. | V_ctor_kind of cval * Ast.id * ctyp list * ctyp
  7. | V_ctor_unwrap of cval * Ast.id * ctyp list * ctyp
  8. | V_tuple_member of cval * int * int
  9. | V_call of op * cval list
  10. | V_field of cval * Ast.id
type clexp =
  1. | CL_id of name * ctyp
  2. | CL_rmw of name * name * ctyp
  3. | CL_field of clexp * Ast.id
  4. | CL_addr of clexp
  5. | CL_tuple of clexp * int
  6. | CL_void of ctyp
type init =
  1. | Init_cval of cval
  2. | Init_static of Value2.vl
  3. | Init_json_key of string list
type creturn =
  1. | CR_one of clexp
  2. | CR_multi of clexp list
type instr_aux =
  1. | I_decl of ctyp * name
  2. | I_init of ctyp * name * init
  3. | I_jump of cval * string
  4. | I_goto of string
  5. | I_label of string
  6. | I_funcall of creturn * bool * Ast.id * ctyp list * cval list
  7. | I_copy of clexp * cval
  8. | I_clear of ctyp * name
  9. | I_undefined of ctyp
  10. | I_exit of string
  11. | I_end of name
  12. | I_if of cval * instr list * instr list
  13. | I_block of instr list
  14. | I_try_block of instr list
  15. | I_throw of cval
  16. | I_comment of string
  17. | I_raw of string
  18. | I_return of cval
  19. | I_reset of ctyp * name
  20. | I_reinit of ctyp * name * cval
and instr =
  1. | I_aux of instr_aux * iannot
type ctype_def_init =
  1. | CTDI_instrs of instr list
  2. | CTDI_none
type ctype_def =
  1. | CTD_enum of Ast.id * Ast.id list
  2. | CTD_struct of Ast.id * (Ast.id * ctyp) list
  3. | CTD_variant of Ast.id * (Ast.id * ctyp) list
  4. | CTD_abbrev of Ast.id * ctyp
  5. | CTD_abstract of Ast.id * ctyp * ctype_def_init
type cdef_aux =
  1. | CDEF_register of Ast.id * ctyp * instr list
  2. | CDEF_type of ctype_def
  3. | CDEF_let of int * (Ast.id * ctyp) list * instr list
  4. | CDEF_val of Ast.id * string option * ctyp list * ctyp
  5. | CDEF_fundef of Ast.id * Ast.id option * Ast.id list * instr list
  6. | CDEF_startup of Ast.id * instr list
  7. | CDEF_finish of Ast.id * instr list
  8. | CDEF_pragma of string * string
type cdef =
  1. | CDEF_aux of cdef_aux * unit Ast.def_annot
OCaml

Innovation. Community. Security.