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

SCM Repository

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

Diff of /trunk/src/compiler/simplify/simple-pp.sml

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

revision 510, Tue Feb 8 16:12:38 2011 UTC revision 511, Tue Feb 8 17:01:43 2011 UTC
# Line 53  Line 53 
53                PP.openHBox ppStrm;                PP.openHBox ppStrm;
54                  case Var.kindOf x                  case Var.kindOf x
55                   of S.InputVar => (string "input"; sp())                   of S.InputVar => (string "input"; sp())
56                    | S.ActorOutputVar => (string "output"; sp())                    | S.StrandOutputVar => (string "output"; sp())
57                    | _ => ()                    | _ => ()
58                  (* end case *);                  (* end case *);
59                  string(TU.toString(#2(Var.typeOf x))); sp(); string(Var.uniqueNameOf x); string ";";                  string(TU.toString(#2(Var.typeOf x))); sp(); string(Var.uniqueNameOf x); string ";";
# Line 141  Line 141 
141                        PP.openHBox ppStrm;                        PP.openHBox ppStrm;
142                          string "else"; sp(); ppBlock (ppStrm, [], blk2);                          string "else"; sp(); ppBlock (ppStrm, [], blk2);
143                        PP.closeBox ppStrm)                        PP.closeBox ppStrm)
144                    | S.S_New(actor, args) => (                    | S.S_New(strand, args) => (
145                        PP.openHBox ppStrm;                        PP.openHBox ppStrm;
146                          string "new"; sp(); string(Atom.toString actor); sp();                          string "new"; sp(); string(Atom.toString strand); sp();
147                          ppArgs (ppStrm, args); string ";";                          ppArgs (ppStrm, args); string ";";
148                        PP.closeBox ppStrm)                        PP.closeBox ppStrm)
149                    | S.S_Die => string "die;"                    | S.S_Die => string "die;"
# Line 160  Line 160 
160              PP.closeBox ppStrm              PP.closeBox ppStrm
161            end            end
162    
163      fun ppActor ppStrm (S.Actor{name, params, state, stateInit, methods}) = let      fun ppStrand ppStrm (S.Strand{name, params, state, stateInit, methods}) = let
164            fun sp () = PP.space ppStrm 1            fun sp () = PP.space ppStrm 1
165            fun nl () = PP.newline ppStrm            fun nl () = PP.newline ppStrm
166            val string = PP.string ppStrm            val string = PP.string ppStrm
# Line 169  Line 169 
169                  nl(); string(Atom.toString name); nl(); ppBlock (ppStrm, [], body))                  nl(); string(Atom.toString name); nl(); ppBlock (ppStrm, [], body))
170            in            in
171              PP.openHBox ppStrm;              PP.openHBox ppStrm;
172                string "actor"; sp(); string(Atom.toString name); sp();                string "strand"; sp(); string(Atom.toString name); sp();
173                ppList (fn (_, x) => (string(TU.toString(#2(Var.typeOf x))); sp(); var x))                ppList (fn (_, x) => (string(TU.toString(#2(Var.typeOf x))); sp(); var x))
174                  ("(", ",", ")") (ppStrm, params);                  ("(", ",", ")") (ppStrm, params);
175              PP.closeBox ppStrm;              PP.closeBox ppStrm;
# Line 183  Line 183 
183              string "}";  nl()              string "}";  nl()
184            end            end
185    
186      fun output (outS, S.Program{globals, globalInit, actors}) = let      fun output (outS, S.Program{globals, globalInit, strands}) = let
187            val ppStrm = PP.openOut {dst = outS, wid = 120}            val ppStrm = PP.openOut {dst = outS, wid = 120}
188            fun nl () = PP.newline ppStrm            fun nl () = PP.newline ppStrm
189            in            in
# Line 191  Line 191 
191                PP.string ppStrm "/* Simplified Program start */"; nl();                PP.string ppStrm "/* Simplified Program start */"; nl();
192                ppBlock (ppStrm, globals, globalInit);                ppBlock (ppStrm, globals, globalInit);
193                nl();                nl();
194                List.app (ppActor ppStrm) actors;                List.app (ppStrand ppStrm) strands;
195                PP.string ppStrm "/* Program end */"; PP.newline ppStrm;                PP.string ppStrm "/* Program end */"; PP.newline ppStrm;
196              PP.closeBox ppStrm;              PP.closeBox ppStrm;
197              PP.closeStream ppStrm              PP.closeStream ppStrm

Legend:
Removed from v.510  
changed lines
  Added in v.511

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