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

SCM Repository

[diderot] Diff of /branches/pure-cfg/src/compiler/simplify/simple-pp.sml
ViewVC logotype

Diff of /branches/pure-cfg/src/compiler/simplify/simple-pp.sml

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

revision 620, Mon Mar 14 13:46:59 2011 UTC revision 621, Mon Mar 14 14:10:52 2011 UTC
# Line 161  Line 161 
161              PP.closeBox ppStrm              PP.closeBox ppStrm
162            end            end
163    
164      fun ppInit (ppStrm, init) = let      fun ppInit (ppStrm, S.Initially{isArray, rangeInit, iters, create}) = let
165            fun sp () = PP.space ppStrm 1            fun sp () = PP.space ppStrm 1
166            fun nl () = PP.newline ppStrm            fun nl () = PP.newline ppStrm
167            val string = PP.string ppStrm            val string = PP.string ppStrm
168            fun var x = string(Var.uniqueNameOf x)            fun var x = string(Var.uniqueNameOf x)
169            val (label, creat, iters) = (case init            val label = if isArray then "Array" else "Collection"
                  of S.InitialArray(creat, iters) => ("Array", creat, iters)  
                   | S.InitialCollection(creat, iters) => ("Collection", creat, iters)  
                 (* end case *))  
170            fun ppIters [] = let            fun ppIters [] = let
171                  val S.C_Create{argInit, name, args} = creat                  val S.C_Create{argInit, name, args} = create
172                  in                  in
173                    ppBlock (ppStrm, [], argInit); nl();                    ppBlock (ppStrm, [], argInit); nl();
174                    PP.openHBox ppStrm;                    PP.openHBox ppStrm;
# Line 179  Line 176 
176                      ppArgs (ppStrm, args); string ";";                      ppArgs (ppStrm, args); string ";";
177                    PP.closeBox ppStrm                    PP.closeBox ppStrm
178                  end                  end
179              | ppIters (S.I_Range{rangeInit, param, lo, hi} :: iters) = (              | ppIters ({param, lo, hi} :: iters) = (
                 ppBlock (ppStrm, [], rangeInit); nl();  
180                  PP.openVBox ppStrm indent;                  PP.openVBox ppStrm indent;
181                    PP.openHBox ppStrm;                    PP.openHBox ppStrm;
182                      string "for"; sp();                      string "for"; sp();
# Line 192  Line 188 
188                  PP.closeBox ppStrm)                  PP.closeBox ppStrm)
189            in            in
190              PP.openVBox ppStrm indent;              PP.openVBox ppStrm indent;
191                string label; nl(); ppIters iters;                string label; nl();
192                  ppBlock (ppStrm, [], rangeInit); nl();
193                  ppIters iters;
194              PP.closeBox ppStrm;              PP.closeBox ppStrm;
195              nl()              nl()
196            end            end

Legend:
Removed from v.620  
changed lines
  Added in v.621

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