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

SCM Repository

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

Diff of /branches/vis15/src/compiler/simple/simple-pp.sml

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

revision 3461, Mon Nov 23 22:10:30 2015 UTC revision 3462, Tue Nov 24 19:06:11 2015 UTC
# Line 52  Line 52 
52    
53      fun ppVar (ppStrm, x) = PP.string ppStrm (V.uniqueNameOf x)      fun ppVar (ppStrm, x) = PP.string ppStrm (V.uniqueNameOf x)
54    
55        fun ppASTVar (ppStrm, x) = PP.string ppStrm (Var.uniqueNameOf x)
56    
57      fun ppVarDecl ppStrm = let      fun ppVarDecl ppStrm = let
58            fun sp () = PP.space ppStrm 1            fun sp () = PP.space ppStrm 1
59            val string = PP.string ppStrm            val string = PP.string ppStrm
# Line 77  Line 79 
79            fun pp e = (case e            fun pp e = (case e
80                   of S.E_Var x => var x                   of S.E_Var x => var x
81                    | S.E_Lit lit => string (Literal.toString lit)                    | S.E_Lit lit => string (Literal.toString lit)
82                      | S.E_Select(x, fld) => (var x; string "."; var fld)
83                    | S.E_Apply(f, args, _) => (var f; sp(); ppArgs (ppStrm, args))                    | S.E_Apply(f, args, _) => (var f; sp(); ppArgs (ppStrm, args))
84                    | S.E_Prim(f, [], args, _) => (string(Var.nameOf f); sp(); ppArgs (ppStrm, args))                    | S.E_Prim(f, [], args, _) => (ppASTVar(ppStrm, f); sp(); ppArgs (ppStrm, args))
85                    | S.E_Prim(f, mvs, args, _) => (                    | S.E_Prim(f, mvs, args, _) => (
86                        string(Var.nameOf f); ppTyArgs (ppStrm, mvs); sp(); ppArgs (ppStrm, args))                        ppASTVar(ppStrm, f); ppTyArgs (ppStrm, mvs); sp(); ppArgs (ppStrm, args))
87                    | S.E_Tensor(es, _) => (                    | S.E_Tensor(es, _) => (
88                        ppList ppVar ("[", ",", "]") (ppStrm, es))                        ppList ppVar ("[", ",", "]") (ppStrm, es))
89                    | S.E_Seq(es, _) => (                    | S.E_Seq(es, _) => (
# Line 155  Line 158 
158                        PP.openHBox ppStrm;                        PP.openHBox ppStrm;
159                          string "print"; sp(); ppArgs (ppStrm, args); string ";";                          string "print"; sp(); ppArgs (ppStrm, args); string ";";
160                        PP.closeBox ppStrm)                        PP.closeBox ppStrm)
161                      | S.S_MapReduce{results, reductions, body, args, source} => let
162                          fun ppRes (ppStrm, x) = (
163                                string(Ty.toString(V.typeOf x)); sp(); string(V.uniqueNameOf x))
164                          in
165                            PP.openHBox ppStrm;
166                              case (results, reductions)
167                               of ([x], [r]) => (
168                                    ppRes (ppStrm, x); sp(); string "="; sp(); ppASTVar(ppStrm, r))
169                                | _ => (
170                                    ppList ppRes ("(", ")", ",") (ppStrm, results);
171                                    sp(); string "="; sp();
172                                    ppList ppASTVar ("(", ")", ",") (ppStrm, reductions))
173                              (* end case *);
174                              string "{"; sp();
175    (* FIXME *)
176                              string "|"; sp(); string "};";
177                            PP.closeBox ppStrm
178                          end
179                  (* end case *))                  (* end case *))
180            in            in
181              PP.openVBox ppStrm (PP.Abs 0);              PP.openVBox ppStrm (PP.Abs 0);

Legend:
Removed from v.3461  
changed lines
  Added in v.3462

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