Home My Page Projects Code Snippets Project Openings SML/NJ
Summary Activity Forums Tracker Lists Tasks Docs Surveys News SCM Files

SCM Repository

[smlnj] Diff of /sml/branches/primop-branch-3/compiler/Elaborator/print/ppmod.sml
ViewVC logotype

Diff of /sml/branches/primop-branch-3/compiler/Elaborator/print/ppmod.sml

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

revision 2571, Sun May 20 15:12:54 2007 UTC revision 3287, Wed Apr 8 06:15:05 2009 UTC
# Line 188  Line 188 
188    
189  fun ppVariable ppstrm  =  fun ppVariable ppstrm  =
190      let val {openHVBox, openHOVBox,closeBox,pps,...} = en_pp ppstrm      let val {openHVBox, openHOVBox,closeBox,pps,...} = en_pp ppstrm
191          fun ppV(V.VALvar{path,access,typ,prim},env:StaticEnv.staticEnv) =          fun ppV(V.VALvar{path,access,typ,prim,btvs},env:StaticEnv.staticEnv) =
192                (openHVBox 0;                (openHVBox 0;
193                 pps (SP.toString path);                 pps (SP.toString path);
194                 if !internals then PPVal.ppAccess ppstrm access else ();                 if !internals then PPVal.ppAccess ppstrm access else ();
# Line 246  Line 246 
246                          newline();                          newline();
247                          pps "prim:";                          pps "prim:";
248                          break {nsp=1,offset=2};                          break {nsp=1,offset=2};
                         (* GK: This should be cleaned up soon so as to use a  
                            ppStrInfo that is an actual pretty printer conforming  
                            to the pattern of the other pretty printers.  
                         PrimOpId.ppStrInfo prim; *)  
249                          PPPrim.ppStrPrimInfo ppstrm prim;                          PPPrim.ppStrPrimInfo ppstrm prim;
250                         closeBox();                         closeBox();
251                        closeBox())                        closeBox())
# Line 348  Line 344 
344                           case entityEnvOp                           case entityEnvOp
345                             of NONE =>                             of NONE =>
346                                 (pps ppstrm "type";                                 (pps ppstrm "type";
347                                  break ppstrm {nsp=1,offset=0};                                  ppFormals ppstrm arity;
348                                  ppFormals ppstrm arity; pps ppstrm " ";                                  pps ppstrm " ";
349                                  ppSym ppstrm name)                                  ppSym ppstrm name)
350                              | SOME eenv =>                              | SOME eenv =>
351                                 (case EE.look(eenv,entVar)                                 (case EE.look(eenv,entVar)
# Line 569  Line 565 
565      end      end
566    
567  and ppFctEntity ppstrm (e, env, depth) =  and ppFctEntity ppstrm (e, env, depth) =
568      let val {stamp,closure,properties,tycpath,rpath,stub} = e      let val {stamp,paramRlzn,bodyRlzn (*DELETE*),closure,properties,rpath,stub} = e
569          val {openHVBox,openHOVBox,closeBox,pps,ppi,break,newline} = en_pp ppstrm          val {openHVBox,openHOVBox,closeBox,pps,ppi,break,newline} = en_pp ppstrm
570      in if depth <= 1      in if depth <= 1
571          then pps "<functor entity>"          then pps "<functor entity>"
# Line 583  Line 579 
579                  pps "stamp: ";                  pps "stamp: ";
580                  pps (Stamps.toShortString stamp);                  pps (Stamps.toShortString stamp);
581                  newline();                  newline();
582                    pps "paramRlzn: ";
583                    break{nsp=1,offset=2};
584                    ppStrEntity ppstrm (paramRlzn,env,depth-1);
585                    newline();
586    (* bodyRlzn field to be deleted
587                    pps "bodyRlzn: ";
588                    break{nsp=1,offset=2};
589                    ppStrEntity ppstrm (bodyRlzn,env,depth-1);
590                    newline();
591    *)
592                  pps "closure:";                  pps "closure:";
593                  break{nsp=1,offset=2};                  break{nsp=1,offset=2};
594                  ppClosure ppstrm (closure,depth-1);                  ppClosure ppstrm (closure,depth-1);
# Line 590  Line 596 
596                  pps "lambdaty:";                  pps "lambdaty:";
597                  break{nsp=1,offset=2};                  break{nsp=1,offset=2};
598                  ppLty ppstrm ( (* ModulePropLists.fctEntityLty e,depth-1 *) );                  ppLty ppstrm ( (* ModulePropLists.fctEntityLty e,depth-1 *) );
599            (*      newline();
600                  pps "tycpath:";                  pps "tycpath:";
601                  break{nsp=1,offset=2};                  break{nsp=1,offset=2};
602                  pps "--printing of tycpath not implemented yet--";                  (case tycpath
603                      of SOME(tp) => PPType.ppTycpath env ppstrm tp
604                       | NONE => pps "no tycpath"); *)
605                 closeBox ();                 closeBox ();
606                closeBox ())                closeBox ())
607      end      end
# Line 776  Line 785 
785  and ppEntityEnv ppstrm (entEnv,env,depth) =  and ppEntityEnv ppstrm (entEnv,env,depth) =
786      if depth <= 1      if depth <= 1
787      then pps ppstrm "<entityEnv>"      then pps ppstrm "<entityEnv>"
788      else (ppvseq ppstrm 2 ""      else (ppvseq ppstrm 0 ""
789                (fn ppstrm => fn (entVar,entity) =>                (fn ppstrm => fn (entVar,entity) =>
790                  let val {openHVBox,openHOVBox,closeBox,pps,ppi,break,newline} =                  let val {openHVBox,openHOVBox,closeBox,pps,ppi,break,newline} =
791                           en_pp ppstrm                           en_pp ppstrm
# Line 881  Line 890 
890               pps ppstrm "bod:"; ppStrExp ppstrm (body, depth-1);               pps ppstrm "bod:"; ppStrExp ppstrm (body, depth-1);
891              closeBox ppstrm;              closeBox ppstrm;
892             closeBox ppstrm)             closeBox ppstrm)
893         | M.LAMBDA {param, body} =>         | M.LAMBDA {param, paramRlzn, body} =>
894            (openHVBox ppstrm (PP.Rel 0);            (openHVBox ppstrm (PP.Rel 0);
895              pps ppstrm "FE.L:"; break ppstrm {nsp=1,offset=1};              pps ppstrm "FE.L:"; break ppstrm {nsp=1,offset=1};
896              openHVBox ppstrm (PP.Rel 0);              openHVBox ppstrm (PP.Rel 0);
897               pps ppstrm "par:"; ppEntVar ppstrm param;               pps ppstrm "par:"; ppEntVar ppstrm param;
898               break ppstrm {nsp=1,offset=0};               break ppstrm {nsp=1,offset=0};
899                 pps ppstrm "parents:";
900                 ppStrEntity ppstrm (paramRlzn, SE.empty, depth-1);
901                 break ppstrm {nsp=1,offset=0};
902               pps ppstrm "bod:"; ppStrExp ppstrm (body, depth-1);               pps ppstrm "bod:"; ppStrExp ppstrm (body, depth-1);
903              closeBox ppstrm;              closeBox ppstrm;
904             closeBox ppstrm)             closeBox ppstrm)

Legend:
Removed from v.2571  
changed lines
  Added in v.3287

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