AnalyzerTester.StructuredSilstructured language that makes it easy to write small test programs in OCaml
type structured_instr = | Cmd of IR.Sil.instr| If of IR.Exp.t * structured_instr list * structured_instr list| While of IR.Exp.t * structured_instr listtry/catch/finally. note: there is no throw. the semantics are that every command in the try block is assumed to be possibly-excepting, and the catch block captures all exceptions
*)| Try of exn_style
  * structured_instr list
  * structured_instr list
  * structured_instr list| Invariant of assertion * labelgets autotranslated into assertions about abstract state
*)val pp_structured_instr : IR.Sil.F.formatter -> structured_instr -> unitval pp_structured_instr_list : F.formatter -> structured_instr list -> unitval pp_structured_program : F.formatter -> structured_instr list -> unitval dummy_typ : IR.Typ.tval dummy_loc : IBase.Location.tval dummy_procname : IR.Procname.tval label_counter : int IStdlib.IStd.refval invariant : assertion -> structured_instrval pvar_of_str : string -> IR.Pvar.tval var_of_str : string -> IR.Exp.tval ident_of_str : string -> IR.Ident.tval unknown_exp : IR.Exp.tval make_load : rhs_typ:IR.Typ.t -> IR.Ident.t -> IR.Exp.t -> structured_instrval make_set : 
  rhs_typ:IR.Typ.t ->
  lhs_exp:IR.Exp.t ->
  rhs_exp:IR.Exp.t ->
  structured_instrval make_call : 
  ?procname:IR.Procname.t ->
  ?return:(IR.Ident.t * IR.Typ.t) ->
  (IR.Exp.t * IR.Typ.t) list ->
  structured_instrval id_assign_exp : ?rhs_typ:IR.Typ.t -> string -> IR.Exp.t -> structured_instrval id_assign_id : ?rhs_typ:IR.Typ.t -> string -> string -> structured_instrval id_assign_var : ?rhs_typ:IR.Typ.t -> string -> string -> structured_instrval id_set_id : ?rhs_typ:IR.Typ.t -> string -> string -> structured_instrval var_assign_exp : rhs_typ:IR.Typ.t -> string -> IR.Exp.t -> structured_instrval var_assign_int : string -> int -> structured_instrval var_assign_addrof_var : 
  ?rhs_typ:IR.Typ.t ->
  string ->
  string ->
  structured_instrval call_unknown : 
  ?return:(string * IR.Typ.t) ->
  string list ->
  structured_instrval make_try_block : 
  int ->
  structured_instr list ->
  structured_instr Base__List.tval make_catch_block : int -> structured_instr list -> structured_instr list