Frama_c_kernel.Cil_datatypeDatatypes of some useful CIL types.
module UtilsFilepath = Filepathmodule type S_with_pretty = sig ... endAuxiliary module for datatypes that can be pretty-printed. For those that do not have this signature, module Printer must be used.
module type S_with_collections_pretty = sig ... endmodule Position : sig ... endSingle position in a file.
module Location : sig ... endCil locations.
module Localisation : Datatype.S with type t = Cil_types.localisationmodule Syntactic_scope :
Datatype.S_with_collections with type t = Cil_types.syntactic_scopemodule Cabs_file : S_with_pretty with type t = Cabs.fileSorted by alphabetic order.
module Block : S_with_pretty with type t = Cil_types.blockmodule Compinfo : S_with_collections_pretty with type t = Cil_types.compinfomodule Enuminfo : S_with_collections_pretty with type t = Cil_types.enuminfomodule Enumitem : S_with_collections_pretty with type t = Cil_types.enumitemmodule Wide_string : Datatype.S_with_collections with type t = int64 listmodule Constant : sig ... endmodule ConstantStrict :
Datatype.S_with_collections with type t = Cil_types.constantSame as Constant, but comparison is strict, in the sense that it will take into account textual representation if provided.
module Exp : sig ... endNote that the equality is based on eid. For structural equality, use ExpStructEq
module ExpStructEq : Datatype.S_with_collections with type t = Cil_types.expmodule ExpStructEqStrict :
Datatype.S_with_collections with type t = Cil_types.expstructural equality, with strict constant comparison as in ConstantStrict
module Fieldinfo : S_with_collections_pretty with type t = Cil_types.fieldinfomodule File : Datatype.S with type t = Cil_types.filemodule Global : sig ... endmodule Initinfo : S_with_pretty with type t = Cil_types.initinfomodule Instr : sig ... endmodule Kinstr : sig ... endmodule Label : S_with_collections_pretty with type t = Cil_types.labelmodule Lval : S_with_collections_pretty with type t = Cil_types.lvalNote that the equality is based on eid (for sub-expressions). For structural equality, use LvalStructEq
module LvalStructEq : Datatype.S_with_collections with type t = Cil_types.lvalmodule LvalStructEqStrict :
Datatype.S_with_collections with type t = Cil_types.lvalstructural equality, with strict constant comparison as in ConstantStrict
module Offset : S_with_collections_pretty with type t = Cil_types.offsetSame remark as for Lval. For structural equality, use OffsetStructEq.
module OffsetStructEq :
Datatype.S_with_collections with type t = Cil_types.offsetmodule OffsetStructEqStrict :
Datatype.S_with_collections with type t = Cil_types.offsetstructural equality, with strict constant comparison as in ConstantStrict
module Stmt_Id : Hptmap.Id_Datatype with type t = Cil_types.stmtmodule Stmt : sig ... endmodule Attribute : S_with_collections_pretty with type t = Cil_types.attributemodule Attributes :
Datatype.S_with_collections with type t = Cil_types.attributesmodule Typ : sig ... endTypes, with comparison over struct done by key and unrolling of typedefs.
module TypByName : S_with_collections_pretty with type t = Cil_types.typTypes, with comparison over struct done by name and no unrolling.
module TypNoUnroll : S_with_collections_pretty with type t = Cil_types.typTypes, with comparison over struct done by key and no unrolling
module TypNoAttrs : S_with_collections_pretty with type t = Cil_types.typTypes, with comparison over struct done by key and ignoring attributes.
module Typeinfo : Datatype.S_with_collections with type t = Cil_types.typeinfomodule Varinfo_Id : Hptmap.Id_Datatype with type t = Cil_types.varinfomodule Varinfo : sig ... endmodule Kf : sig ... endSorted by alphabetic order.
module Builtin_logic_info :
S_with_collections_pretty with type t = Cil_types.builtin_logic_infomodule Code_annotation : sig ... endmodule Funbehavior : S_with_pretty with type t = Cil_types.funbehaviormodule Funspec : S_with_pretty with type t = Cil_types.funspecmodule Fundec : S_with_collections_pretty with type t = Cil_types.fundecmodule Global_annotation : sig ... endmodule Identified_term :
S_with_collections_pretty with type t = Cil_types.identified_termmodule Logic_ctor_info :
S_with_collections_pretty with type t = Cil_types.logic_ctor_infomodule Logic_info :
S_with_collections_pretty with type t = Cil_types.logic_infomodule Logic_info_structural :
S_with_collections_pretty with type t = Cil_types.logic_infoLogic_info with structural comparison:
module Logic_constant :
S_with_collections_pretty with type t = Cil_types.logic_constantmodule Logic_label :
S_with_collections_pretty with type t = Cil_types.logic_labelmodule Logic_type :
S_with_collections_pretty with type t = Cil_types.logic_typeLogic_type. See the various Typ* modules for the distinction between those modules
module Logic_type_ByName :
S_with_collections_pretty with type t = Cil_types.logic_typemodule Logic_type_NoUnroll :
S_with_collections_pretty with type t = Cil_types.logic_typemodule Logic_type_info :
S_with_collections_pretty with type t = Cil_types.logic_type_infomodule Logic_var : S_with_collections_pretty with type t = Cil_types.logic_varmodule Model_info :
S_with_collections_pretty with type t = Cil_types.model_infomodule Term : S_with_collections_pretty with type t = Cil_types.termmodule Term_lhost :
S_with_collections_pretty with type t = Cil_types.term_lhostmodule Term_offset :
S_with_collections_pretty with type t = Cil_types.term_offsetmodule Term_lval : S_with_collections_pretty with type t = Cil_types.term_lvalmodule Logic_real :
S_with_collections_pretty with type t = Cil_types.logic_realmodule Predicate : S_with_pretty with type t = Cil_types.predicatemodule Toplevel_predicate :
S_with_pretty with type t = Cil_types.toplevel_predicatemodule Identified_predicate :
S_with_collections_pretty with type t = Cil_types.identified_predicatemodule PredicateStructEq :
S_with_collections_pretty with type t = Cil_types.predicateSorted by alphabetic order.
module Lexpr : Datatype.S with type t = Logic_ptree.lexprBeware: no pretty-printer is available.