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

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

32 and 16 bits operations support in D2.2/8051

File size: 1018 bytes
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 and the name of the cost increment function. *)
9
10val instrument : Clight.program -> int CostLabel.Map.t ->
11                 Clight.program * string * string
12
13val cost_labels : Clight.program -> CostLabel.Set.t
14val user_labels : Clight.program -> Label.Set.t
15val all_labels  : Clight.program -> StringTools.Set.t
16val all_idents  : Clight.program -> StringTools.Set.t
17
18val fresh_ident : string (* base *) -> Clight.program -> string
19
20val fresh_universe :
21  string (* prefix *) -> Clight.program -> StringTools.Gen.universe
22
23val make_fresh :
24  string (* prefix *) -> Clight.program -> (unit -> string)
Note: See TracBrowser for help on using the repository browser.