module Clabels:Normalized C-labelssig
..end
type
c_label =
| |
Here |
|||
| |
Pre |
|||
| |
Post |
|||
| |
Exit |
|||
| |
At of |
(* | Label name, stmt-id. | *) |
| |
CallAt of |
(* | stmt-id | *) |
| |
LabelParam of |
(* | Logic label name in user-defined function or predicate | *) |
val has_prefix : string -> string -> bool
val names_at : Cil_types.label list -> string list
val c_label : Cil_types.logic_label -> c_label
This is the case inside Wp
module, where all ACSL formula comes
from WpAnnot
, which in turns always preprocess the labels
through NormAtLabels
.
val loop_head_label : Cil_types.stmt -> Cil_types.logic_label
val mk_logic_label : Cil_types.stmt -> Cil_types.logic_label
val mk_stmt_label : Cil_types.stmt -> c_label
val mk_loop_label : Cil_types.stmt -> c_label
val pretty : Format.formatter -> c_label -> unit
val label : (string -> 'a -> 'a) -> c_label -> 'a -> 'a
val lookup : (Cil_types.logic_label * Cil_types.logic_label) list ->
string -> c_label
lookup bindings lparam
retrieves the actual label
for the label in bindings
for label parameter lparam
.