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 453, Sun Oct 24 00:47:57 2010 UTC revision 454, Mon Oct 25 19:59:47 2010 UTC
# Line 11  Line 11 
11    
12      type program      type program
13      type actor      type actor
14      type expr      type exp
15      type cond      type cond
16      type stmt      type stm
17        type method
18    
19      val defineActor : program * ?? -> actor      val defineActor : program * ?? -> actor
20      val globalVar : program * ?? -> global_var      val globalVar : program * ?? -> global_var
# Line 22  Line 23 
23    (* expression construction *)    (* expression construction *)
24      structure Expr : sig      structure Expr : sig
25        (* variable references *)        (* variable references *)
26          val global : global_var -> expr          val global : global_var -> exp
27          val getState : state_var -> expr          val getState : state_var -> exp
28          val param : param_var -> expr          val param : param_var -> exp
29          val var : local_var -> expr          val var : local_var -> exp
30        (* literals *)        (* literals *)
31          val ivecLit : IntegerLit.integer list -> expr          val ivecLit : IntegerLit.integer list -> exp
32          val vecLit : FloatLit.float list -> expr          val vecLit : FloatLit.float list -> exp
33          val stringLit : string -> expr          val stringLit : string -> exp
34          val boolLit : bool -> expr          val boolLit : bool -> exp
35        (* vector construction *)        (* vector construction *)
36          val vector : expr list -> expr          val vector : exp list -> exp
37        (* select from a vector *)        (* select from a vector *)
38          val select : int * vector -> expr          val select : int * vector -> exp
39        (* vector (and scalar) arithmetic *)        (* vector (and scalar) arithmetic *)
40          val add : expr * expr -> expr          val add : exp * exp -> exp
41          val mul : expr * expr -> expr          val mul : exp * exp -> exp
42          val sub : expr * expr -> expr          val sub : exp * exp -> exp
43          val divide : expr * expr -> expr          val divide : exp * exp -> exp
44          val neg : expr -> expr          val neg : exp -> exp
45          val abs : expr -> expr          val abs : exp -> exp
46          val dot : exp * exprr -> expr           (* dot product *)          val dot : exp * exprr -> exp            (* dot product *)
47          val cross : expr * expr -> expr         (* cross product *)          val cross : exp * exp -> exp            (* cross product *)
48          val length : expr -> expr               (* vector length *)          val length : exp -> exp                 (* vector length *)
49          val normalize : expr -> expr            (* normalize vector *)          val normalize : exp -> exp              (* normalize vector *)
50        (* comparisons *)        (* comparisons *)
51          val min : expr * expr -> expr          val min : exp * exp -> exp
52          val max : expr * expr -> expr          val max : exp * exp -> exp
53        (* math functions *)        (* math functions *)
54          val pow : expr * expr -> expr          val pow : exp * exp -> exp
55          val sin : expr -> expr          val sin : exp -> exp
56          val cos : expr -> expr          val cos : exp -> exp
57          val sqrt : expr -> expr          val sqrt : exp -> exp
58        (* conversions *)        (* conversions *)
59          val toReal : expr -> expr               (* integer to real *)          val toReal : exp -> exp                 (* integer to real *)
60          val roundToInt : expr -> expr           (* round real to int *)          val roundToInt : exp -> exp             (* round real to int *)
61          val truncToInt : expr -> expr           (* truncate real to inte *)          val truncToInt : exp -> exp             (* truncate real to inte *)
62          val ceilToInt : expr -> expr            (* ceiling of real to int *)          val ceilToInt : exp -> exp              (* ceiling of real to int *)
63          val floorToInt : expr -> expr           (* floor of real to int *)          val floorToInt : exp -> exp             (* floor of real to int *)
64        end        end
65    
66    (* conditionals *)    (* conditionals *)
67      structure Cond : sig      structure Cond : sig
68        (* comparisons *)        (* comparisons *)
69          val lt : expr * expr -> cond          val lt : exp * exp -> cond
70          val lte : expr * expr -> cond          val lte : exp * exp -> cond
71          val equ : expr * expr -> cond          val equ : exp * exp -> cond
72          val neq : expr * expr -> cond          val neq : exp * exp -> cond
73          val gte : expr * expr -> cond          val gte : exp * exp -> cond
74          val gt : expr * expr -> cond          val gt : exp * exp -> cond
75        (* logical connectives *)        (* logical connectives *)
76          val not : cond -> cond          val not : cond -> cond
77          val && : cond * cond -> cond          val && : cond * cond -> cond
# Line 79  Line 80 
80    
81    (* statement construction *)    (* statement construction *)
82      structure Stmt : sig      structure Stmt : sig
83          val assignState : state_var * expr -> stmt          val assignState : state_var * exp -> stm
84          val assign : local_var * expr -> stmt          val assign : local_var * exp -> stm
85          val block : stmt list -> stmt          val block : stm list -> stm
86          val ifthen : cond * stmt -> stmt          val ifthen : cond * stm -> stm
87          val ifthenelse : cond * stmt * stmt -> stmt          val ifthenelse : cond * stm * stm -> stm
88        end        end
89    
90    end    end

Legend:
Removed from v.453  
changed lines
  Added in v.454

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