Module Printer_tag

module Printer_tag: sig .. end
Utilities to pretty print source with located Ast elements

type localizable = 
| PStmt of (Cil_types.kernel_function * Cil_types.stmt)
| PStmtStart of (Cil_types.kernel_function * Cil_types.stmt)
| PLval of (Cil_types.kernel_function option * Cil_types.kinstr * Cil_types.lval)
| PExp of (Cil_types.kernel_function option * Cil_types.kinstr * Cil_types.exp)
| PTermLval of (Cil_types.kernel_function option * Cil_types.kinstr * Property.t *
Cil_types.term_lval)
| PVDecl of (Cil_types.kernel_function option * Cil_types.kinstr * Cil_types.varinfo) (*
Declaration and definition of variables and function. Check the type of the varinfo to distinguish between the various possibilities. If the varinfo is a global or a local, the kernel_function is the one in which the variable is declared. The kinstr argument is given for local variables with an explicit initializer.
*)
| PGlobal of Cil_types.global (*
all globals but variable declarations and function definitions.
*)
| PIP of Property.t
The kind of object that can be selected in the source viewer.
module Localizable: Datatype.S  with type t = localizable
val kf_of_localizable : localizable -> Cil_types.kernel_function option
val ki_of_localizable : localizable -> Cil_types.kinstr
val varinfo_of_localizable : localizable -> Cil_types.varinfo option
val loc_of_localizable : localizable -> Cil_types.location
Might return Location.unknown
module type Tag = sig .. end
module type S_pp = sig .. end
module Make: 
functor (T : Tag-> S_pp