package coq

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type
type tag = int
val accu_tag : tag
val type_atom_tag : tag
val max_atom_tag : tag
val proj_tag : tag
val fix_app_tag : tag
val switch_tag : tag
val cofix_tag : tag
val cofix_evaluated_tag : tag
val last_variant_tag : tag
type structured_constant =
  1. | Const_sorts of Term.sorts
  2. | Const_ind of Names.inductive
  3. | Const_proj of Names.Constant.t
  4. | Const_b0 of tag
  5. | Const_bn of tag * structured_constant array
  6. | Const_univ_level of Univ.universe_level
  7. | Const_type of Univ.universe
val pp_struct_const : structured_constant -> Pp.std_ppcmds
type reloc_table = (tag * int) array
type annot_switch = {
  1. ci : Term.case_info;
  2. rtbl : reloc_table;
  3. tailcall : bool;
  4. max_stack_size : int;
}
module Label : sig ... end
type instruction =
  1. | Klabel of Label.t
  2. | Kacc of int
  3. | Kenvacc of int
  4. | Koffsetclosure of int
  5. | Kpush
  6. | Kpop of int
  7. | Kpush_retaddr of Label.t
  8. | Kapply of int
  9. | Kappterm of int * int
  10. | Kreturn of int
  11. | Kjump
  12. | Krestart
  13. | Kgrab of int
  14. | Kgrabrec of int
  15. | Kclosure of Label.t * int
  16. | Kclosurerec of int * int * Label.t array * Label.t array
  17. | Kclosurecofix of int * int * Label.t array * Label.t array
  18. | Kgetglobal of Names.constant
  19. | Kconst of structured_constant
  20. | Kmakeblock of int * tag
  21. | Kmakeprod
  22. | Kmakeswitchblock of Label.t * Label.t * annot_switch * int
  23. | Kswitch of Label.t array * Label.t array
  24. | Kpushfields of int
  25. | Kfield of int
  26. | Ksetfield of int
  27. | Kstop
  28. | Ksequence of bytecodes * bytecodes
  29. | Kproj of int * Names.Constant.t
  30. | Kensurestackcapacity of int
  31. | Kbranch of Label.t
  32. | Kaddint31
  33. | Kaddcint31
  34. | Kaddcarrycint31
  35. | Ksubint31
  36. | Ksubcint31
  37. | Ksubcarrycint31
  38. | Kmulint31
  39. | Kmulcint31
  40. | Kdiv21int31
  41. | Kdivint31
  42. | Kaddmuldivint31
  43. | Kcompareint31
  44. | Khead0int31
  45. | Ktail0int31
  46. | Kisconst of Label.t
  47. | Kareconst of int * Label.t
  48. | Kcompint31
  49. | Kdecompint31
  50. | Klorint31
  51. | Klandint31
  52. | Klxorint31
and bytecodes = instruction list
type fv_elem =
  1. | FVnamed of Names.Id.t
  2. | FVrel of int
  3. | FVuniv_var of int
type fv = fv_elem array
exception NotClosed
module FvMap : sig ... end
type vm_env = {
  1. size : int;
  2. fv_rev : fv_elem list;
  3. fv_fwd : int FvMap.t;
}
type comp_env = {
  1. nb_uni_stack : int;
  2. nb_stack : int;
  3. in_stack : int list;
  4. nb_rec : int;
  5. pos_rec : instruction list;
  6. offset : int;
  7. in_env : vm_env ref;
}
val pp_bytecodes : bytecodes -> Pp.std_ppcmds
val pp_fv_elem : fv_elem -> Pp.std_ppcmds
type block =
  1. | Bconstr of Term.constr
  2. | Bstrconst of structured_constant
  3. | Bmakeblock of int * block array
  4. | Bconstruct_app of int * int * int * block array
  5. | Bspecial of comp_env -> block array -> int -> bytecodes -> bytecodes * block array
OCaml

Innovation. Community. Security.