Home My Page Projects Code Snippets Project Openings SML/NJ
Summary Activity Forums Tracker Lists Tasks Docs Surveys News SCM Files

SCM Repository

[smlnj] Annotation of /sml/trunk/src/MLRISC/mltree/mltree-stream.sml
ViewVC logotype

Annotation of /sml/trunk/src/MLRISC/mltree/mltree-stream.sml

Parent Directory Parent Directory | Revision Log Revision Log


Revision 985 - (view) (download)

1 : george 985 signature MLTREE_STREAM = sig
2 :     structure T : MLTREE
3 :     structure S : INSTRUCTION_STREAM
4 :    
5 :     (*
6 :     * Instruction streams
7 :     *)
8 :     type ('i,'cellset, 'cfg) stream = ('i, T.an list, 'cellset, 'cfg) S.stream
9 :    
10 :     (*
11 :     * Extension mechanism
12 :     *)
13 :     datatype ('instr, 'cellset, 'operand, 'addressing_mode, 'cfg) reducer =
14 :     REDUCER of
15 :     {reduceRexp : T.rexp -> T.reg,
16 :     reduceFexp : T.fexp -> T.reg,
17 :     reduceCCexp : T.ccexp -> T.reg,
18 :     reduceStm : T.stm * T.an list -> unit,
19 :     operand : T.rexp -> 'operand,
20 :     reduceOperand : 'operand -> T.reg,
21 :     addressOf : T.rexp -> 'addressing_mode,
22 :     emit : 'instr * T.an list -> unit,
23 :     instrStream : ('instr,'cellset, 'cfg) stream,
24 :     mltreeStream : (T.stm,T.mlrisc list, 'cfg) stream
25 :     }
26 :     end
27 :    
28 :    
29 :    
30 :    
31 :     functor MLTreeStream
32 :     ( structure T : MLTREE
33 :     structure S : INSTRUCTION_STREAM
34 :     ) : MLTREE_STREAM =
35 :     struct
36 :     structure T = T
37 :     structure S = S
38 :     (*
39 :     * Instruction streams
40 :     *)
41 :     type ('i,'cellset, 'cfg) stream = ('i, T.an list, 'cellset, 'cfg) S.stream
42 :    
43 :     (*
44 :     * Extension mechanism
45 :     *)
46 :     datatype ('instr,'cellset,'operand,'addressing_mode, 'cfg) reducer =
47 :     REDUCER of
48 :     { reduceRexp : T.rexp -> T.reg,
49 :     reduceFexp : T.fexp -> T.reg,
50 :     reduceCCexp : T.ccexp -> T.reg,
51 :     reduceStm : T.stm * T.an list -> unit,
52 :     operand : T.rexp -> 'operand,
53 :     reduceOperand : 'operand -> T.reg,
54 :     addressOf : T.rexp -> 'addressing_mode,
55 :     emit : 'instr * T.an list -> unit,
56 :     instrStream : ('instr,'cellset, 'cfg) stream,
57 :     mltreeStream : (T.stm,T.mlrisc list, 'cfg) stream
58 :     }
59 :    
60 :     end
61 :    

root@smlnj-gforge.cs.uchicago.edu
ViewVC Help
Powered by ViewVC 1.0.0