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

SCM Repository

[diderot] Diff of /branches/vis15/src/compiler/translate/analyze-simple.sml
ViewVC logotype

Diff of /branches/vis15/src/compiler/translate/analyze-simple.sml

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

revision 3840, Mon May 9 20:42:08 2016 UTC revision 4045, Sun Jun 26 14:54:01 2016 UTC
# Line 119  Line 119 
119            val u = (case e            val u = (case e
120                   of S.E_Var x => [x]                   of S.E_Var x => [x]
121                    | S.E_Lit _ => []                    | S.E_Lit _ => []
122                      | S.E_Kernel _ => []
123                    | S.E_Select _ => raise Fail "unexpected E_Select" (* should be handled by doStm *)                    | S.E_Select _ => raise Fail "unexpected E_Select" (* should be handled by doStm *)
124                    | S.E_Apply _ => raise Fail "unexpected E_Apply"                    | S.E_Apply _ => raise Fail "unexpected E_Apply"
125                    | S.E_Prim(_, _, xs, _) => xs                    | S.E_Prim(_, _, xs, _) => xs
# Line 128  Line 129 
129                    | S.E_Coerce{x, ...} => [x]                    | S.E_Coerce{x, ...} => [x]
130                    | S.E_LoadSeq _ => []                    | S.E_LoadSeq _ => []
131                    | S.E_LoadImage _ => []                    | S.E_LoadImage _ => []
132                      | S.E_InsideImage(pos, img, _) => [pos, img]
133                  (* end case *))                  (* end case *))
134            in            in
135              addList (u, vs)              addList (u, vs)
# Line 179  Line 181 
181              ()              ()
182            end            end
183    
184      fun analyze (S.Program{constInit, init, strand, create, update, ...}) = let      fun analyze (S.Program{constInit, globInit, strand, create, init, update, ...}) = let
185            val S.Strand{stateInit, initM, updateM, stabilizeM, ...} = strand            val S.Strand{stateInit, initM, updateM, stabilizeM, ...} = strand
           val S.Create{code, ...} = create  
186            in            in
187              analyzeBlock ConstInit constInit;              analyzeBlock ConstInit constInit;
188              analyzeBlock GlobalInit init;              analyzeBlock GlobalInit globInit;
189              analyzeBlock StateInit stateInit;              analyzeBlock StateInit stateInit;
190              Option.app (analyzeBlock InitMeth) initM;              Option.app (analyzeBlock InitMeth) initM;
191              analyzeBlock UpdateMeth updateM;              analyzeBlock UpdateMeth updateM;
192              Option.app (analyzeBlock StabilizeMeth) stabilizeM;              Option.app (analyzeBlock StabilizeMeth) stabilizeM;
193              analyzeBlock Create code;              Create.app (analyzeBlock Create) create;
194                Option.app (analyzeBlock GlobalUpdate) init;
195              Option.app (analyzeBlock GlobalUpdate) update              Option.app (analyzeBlock GlobalUpdate) update
196            end            end
197    

Legend:
Removed from v.3840  
changed lines
  Added in v.4045

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