source: Deliverables/D2.2/8051/src/clight/clightAnnotator.mli @ 1462

Last change on this file since 1462 was 1462, checked in by ayache, 9 years ago

Added D5.1: Frama-C plug-in and Lustre wrapper. D2.2 (8051) has been updated accordingly.

File size: 1.1 KB
Line 
1
2(** This module defines the instrumentation of a [Clight] program. *)
3
4(** [instrument prog cost_map] instruments the program [prog]. First a fresh
5    global variable --- the so-called cost variable --- is added to the program.
6    Then, each cost label in the program is replaced by an increment of the cost
7    variable, following the mapping [cost_map]. The function also returns the
8    name of the cost variable, the name of the cost increment function, and a
9    fresh uninitialized global (cost) variable associated to each extern
10    function. *)
11
12val instrument : Clight.program -> int CostLabel.Map.t ->
13                 Clight.program * string * string * string StringTools.Map.t
14
15val cost_labels : Clight.program -> CostLabel.Set.t
16val user_labels : Clight.program -> Label.Set.t
17val all_labels  : Clight.program -> StringTools.Set.t
18val all_idents  : Clight.program -> StringTools.Set.t
19
20val fresh_ident : string (* base *) -> Clight.program -> string
21
22val fresh_universe :
23  string (* prefix *) -> Clight.program -> StringTools.Gen.universe
24
25val make_fresh :
26  string (* prefix *) -> Clight.program -> (unit -> string)
Note: See TracBrowser for help on using the repository browser.