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

SCM Repository

[diderot] Diff of /branches/pure-cfg/src/compiler/tree-il/tree-il.sml
ViewVC logotype

Diff of /branches/pure-cfg/src/compiler/tree-il/tree-il.sml

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

revision 529, Mon Feb 14 15:03:54 2011 UTC revision 531, Mon Feb 14 17:45:57 2011 UTC
# Line 11  Line 11 
11    struct    struct
12    
13      structure Op = LowOps      structure Op = LowOps
14        structure Ty = LowILTypes
15    
16      datatype program = Program of {      datatype program = Program of {
17          globals : var list,          globals : var list,
18          globalInit : stm,          globalInit : block,
19          strands : strand list          strands : strand list
20          (* initialization *)          (* initialization *)
21        }        }
# Line 23  Line 24 
24          name : Atom.atom,          name : Atom.atom,
25          params : var list,          params : var list,
26          state : var list,          state : var list,
27          stateInit : stm,          stateInit : block,
28          methods : method list          methods : method list
29        }        }
30    
31      and method = Method of {      and method = Method of {
32          name : Atom.atom,          name : Atom.atom,
33          body : stm              (* method body *)          body : block            (* method body *)
34        }        }
35    
36      and block = Block of {      and block = Block of {
# Line 40  Line 41 
41      and stm      and stm
42        = S_Comment of string list        = S_Comment of string list
43        | S_Assign of var * exp        | S_Assign of var * exp
44        | S_IfThen of var * block        | S_IfThen of exp * block
45        | S_IfThenElse of var * block * block        | S_IfThenElse of exp * block * block
46        | S_Die        | S_Die
47        | S_Stabilize        | S_Stabilize
48    
# Line 58  Line 59 
59          ty : Ty.ty                      (* type *)          ty : Ty.ty                      (* type *)
60        }        }
61    
62      and kind      and var_kind
63        = VK_Global                       (* global variable *)        = VK_Global                       (* global variable *)
64        | VK_State of strand              (* strand state variable *)        | VK_State of strand              (* strand state variable *)
65        | VK_Local                        (* includes strand parameters *)        | VK_Local                        (* includes strand parameters *)

Legend:
Removed from v.529  
changed lines
  Added in v.531

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