]> matita.cs.unibo.it Git - pkg-cerco/acc.git/blob - cparser/Transform.mli
Package description and copyright added.
[pkg-cerco/acc.git] / cparser / Transform.mli
1 (* *********************************************************************)
2 (*                                                                     *)
3 (*              The Compcert verified compiler                         *)
4 (*                                                                     *)
5 (*          Xavier Leroy, INRIA Paris-Rocquencourt                     *)
6 (*                                                                     *)
7 (*  Copyright Institut National de Recherche en Informatique et en     *)
8 (*  Automatique.  All rights reserved.  This file is distributed       *)
9 (*  under the terms of the GNU General Public License as published by  *)
10 (*  the Free Software Foundation, either version 2 of the License, or  *)
11 (*  (at your option) any later version.  This file is also distributed *)
12 (*  under the terms of the INRIA Non-Commercial License Agreement.     *)
13 (*                                                                     *)
14 (* *********************************************************************)
15
16 (* Generic program transformation *)
17
18 val reset_temps : unit -> unit
19 val new_temp_var : ?name:string -> C.typ -> C.ident
20 val new_temp : ?name:string -> C.typ -> C.exp
21 val get_temps : unit -> C.decl list
22
23 val program :
24   ?decl:(Env.t -> C.decl -> C.decl) ->
25   ?fundef:(Env.t -> C.fundef -> C.fundef) ->
26   ?composite:(Env.t ->
27               C.struct_or_union -> C.ident -> C.field list -> C.field list) ->
28   ?typedef:(Env.t -> C.ident -> Env.typedef_info -> Env.typedef_info) ->
29   C.program ->
30   C.program