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 4043, Sun Jun 26 14:00:38 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
186            val S.Create{code, ...} = create            val S.Create{code, ...} = create
187            in            in
188              analyzeBlock ConstInit constInit;              analyzeBlock ConstInit constInit;
189              analyzeBlock GlobalInit init;              analyzeBlock GlobalInit globInit;
190              analyzeBlock StateInit stateInit;              analyzeBlock StateInit stateInit;
191              Option.app (analyzeBlock InitMeth) initM;              Option.app (analyzeBlock InitMeth) initM;
192              analyzeBlock UpdateMeth updateM;              analyzeBlock UpdateMeth updateM;
193              Option.app (analyzeBlock StabilizeMeth) stabilizeM;              Option.app (analyzeBlock StabilizeMeth) stabilizeM;
194              analyzeBlock Create code;              analyzeBlock Create code;
195                Option.app (analyzeBlock GlobalUpdate) init;
196              Option.app (analyzeBlock GlobalUpdate) update              Option.app (analyzeBlock GlobalUpdate) update
197            end            end
198    

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

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