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-gen.sig
ViewVC logotype

Annotation of /sml/trunk/src/MLRISC/mltree/mltree-gen.sig

Parent Directory Parent Directory | Revision Log Revision Log


Revision 546 - (view) (download) (as text)

1 : george 546 (*
2 :     * This module provides various generic MLTREE transformations.
3 :     * Basically, we want to support various non built-in datatype widths.
4 :     * This module handles the translation.
5 :     *
6 :     * -- Allen
7 :     *)
8 :     signature MLTREEGEN =
9 :     sig
10 :    
11 :     structure T : MLTREE
12 :    
13 :     exception SizeUnknown
14 :    
15 :     (*
16 :     * Return the size of an expression
17 :     *)
18 :     val size : ('s,'r,'f,'c) T.rexp -> T.ty
19 :     val fsize : ('s,'r,'f,'c) T.fexp -> T.ty
20 :    
21 :     val condOf : ('s,'r,'f,'c) T.ccexp -> T.Basis.cond
22 :     val fcondOf : ('s,'r,'f,'c) T.ccexp -> T.Basis.fcond
23 :    
24 :     (*
25 :     * Perform simplification
26 :     *)
27 :     val compileRexp : ('s,'r,'f,'c) T.rexp -> ('s,'r,'f,'c) T.rexp
28 :     val compileFexp : ('s,'r,'f,'c) T.fexp -> ('s,'r,'f,'c) T.fexp
29 :     val compileStm : ('s,'r,'f,'c) T.stm -> ('s,'r,'f,'c) T.stm list
30 :    
31 :     (*
32 :     * Simulate conditional expression.
33 :     *)
34 :     val compileCond :
35 :     {exp : T.ty * ('s,'r,'f,'c) T.ccexp *
36 :     ('s,'r,'f,'c) T.rexp * ('s,'r,'f,'c) T.rexp,
37 :     an : Annotations.annotations,
38 :     rd : int
39 :     } -> ('s,'r,'f,'c) T.stm list
40 :    
41 :     val compileFcond :
42 :     {exp : T.fty * ('s,'r,'f,'c) T.ccexp *
43 :     ('s,'r,'f,'c) T.fexp * ('s,'r,'f,'c) T.fexp,
44 :     an : Annotations.annotations,
45 :     fd : int
46 :     } -> ('s,'r,'f,'c) T.stm list
47 :    
48 :    
49 :     end

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