Home My Page Projects Code Snippets Project Openings diderot
Summary Activity Tracker Tasks SCM

SCM Repository

[diderot] Diff of /trunk/src/compiler/codegen/target-sig.sml
ViewVC logotype

Diff of /trunk/src/compiler/codegen/target-sig.sml

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1639, Wed Nov 16 01:48:07 2011 UTC revision 1640, Wed Nov 16 02:19:51 2011 UTC
# Line 25  Line 25 
25     *)     *)
26      val vectorWidths : unit -> int list      val vectorWidths : unit -> int list
27    
28      (* does the target support printing?  Note that if the target is parallel, then printing
29       * will not be supported.
30       *)
31        val supportsPrinting : bool
32    
33    (* tests for whether various expression forms can appear inline *)    (* tests for whether various expression forms can appear inline *)
34      val inlineCons : int -> bool        (* can n'th-order tensor construction appear inline *)      val inlineCons : int -> bool        (* can n'th-order tensor construction appear inline *)
35      val inlineMatrixExp : bool          (* can matrix-valued expressions appear inline? *)      val inlineMatrixExp : bool          (* can matrix-valued expressions appear inline? *)
# Line 41  Line 46 
46          val name : var -> string          val name : var -> string
47          val global : program * string * TreeIL.Ty.ty -> var (* global variables *)          val global : program * string * TreeIL.Ty.ty -> var (* global variables *)
48          val param : TreeIL.var -> var                   (* strand parameters *)          val param : TreeIL.var -> var                   (* strand parameters *)
         val state : strand * TreeIL.var -> var          (* strand state variables *)  
49        end        end
50    
51    (* environments *)    (* environments *)
# Line 51  Line 55 
55        (* define the current translation context *)        (* define the current translation context *)
56          val scopeGlobal : env -> env                    (* global initialization *)          val scopeGlobal : env -> env                    (* global initialization *)
57          val scopeInitially : env -> env                 (* initial strand creation *)          val scopeInitially : env -> env                 (* initial strand creation *)
58          val scopeStrand : env * TreeIL.var list -> env  (* strand initialization; the vars are *)          val scopeStrand : env -> env                    (* strand initialization; the vars are *)
59                                                          (* all of the state vars *)                                                          (* all of the state vars *)
60          val scopeMethod : env * TreeIL.var list -> env  (* method body; the vars are just the *)          val scopeMethod : env * StrandUtil.method_name -> env  (* method body; the vars are just the *)
61                                                          (* varying state variables *)                                                          (* varying state variables *)
62        (* bind a TreeIL variable to a target variable *)        (* bind a TreeIL variable to a target variable *)
63          val bind : env * TreeIL.var * var -> env          val bind : env * TreeIL.var * var -> env
# Line 88  Line 92 
92    (* strands *)    (* strands *)
93      structure Strand : sig      structure Strand : sig
94        (* define a strand with the given name *)        (* define a strand with the given name *)
95          val define : program * Atom.atom -> strand          val define : program * Atom.atom * TreeIL.state_var list -> strand
96        (* return the strand with the given name *)        (* return the strand with the given name *)
97          val lookup : program * Atom.atom -> strand          val lookup : program * Atom.atom -> strand
98        (* register the strand-state initialization code.  The variables are the strand        (* register the strand-state initialization code.  The variables are the strand
# Line 96  Line 100 
100         *)         *)
101          val init : strand * var list * stm -> unit          val init : strand * var list * stm -> unit
102        (* register a strand method *)        (* register a strand method *)
103          val method : strand * MethodName.name * stm -> unit          val method : strand * StrandUtil.method_name * stm -> unit
       (* register the strand's output *)  
         val output : strand * TreeIL.Ty.ty * var -> unit  
104        end        end
105    
106    end    end

Legend:
Removed from v.1639  
changed lines
  Added in v.1640

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