source: Deliverables/D2.2/8051/src/cminor/cminorFold.mli @ 1491

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

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

File size: 1.2 KB
Line 
1
2(** This module provides folding functions over the constructors of the
3    [Cminor]'s AST. *)
4
5val expression_subs : Cminor.expression -> Cminor.expression list
6
7val expression_fill_subs : Cminor.expression -> Cminor.expression list ->
8                           Cminor.expression
9
10(* In [expression f e], [f]'s second argument is the list of
11   [expression]'s results on [e]'s sub-expressions. *)
12
13val expression : (Cminor.expression -> 'a list -> 'a) ->
14                 Cminor.expression ->
15                 'a
16
17val statement_subs : Cminor.statement ->
18                     (Cminor.expression list * Cminor.statement list)
19
20val statement_fill_subs : Cminor.statement ->
21                          Cminor.expression list ->
22                          Cminor.statement list ->
23                          Cminor.statement
24
25(* In [statement f_expr f_stmt stmt], [f_stmt]'s second argument is the
26   list of [expression f_expr]'s results on [stmt]'s sub-expressions, and
27   [f_stmt]'s third argument is the list of [statement]'s results
28   on [stmt]'s sub-statements. *)
29
30val statement : (Cminor.expression -> 'a list -> 'a) ->
31                (Cminor.statement -> 'a list -> 'b list -> 'b) ->
32                Cminor.statement ->
33                'b
Note: See TracBrowser for help on using the repository browser.