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

SCM Repository

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

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

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

revision 170, Sat Jul 24 13:30:47 2010 UTC revision 173, Sat Jul 24 15:37:50 2010 UTC
# Line 67  Line 67 
67      fun ppVarDecl ppStrm (AST.VD_Decl(x, e)) = let      fun ppVarDecl ppStrm (AST.VD_Decl(x, e)) = let
68            fun sp () = PP.space ppStrm 1            fun sp () = PP.space ppStrm 1
69            val string = PP.string ppStrm            val string = PP.string ppStrm
           fun var x = string(Var.nameOf x)  
           in  
             PP.openHBox ppStrm;  
               string(TU.toString(#2(Var.typeOf x))); sp(); var x;  
               sp(); string "="; sp(); ppExp(ppStrm, e); string ";";  
             PP.closeBox ppStrm  
           end  
   
     fun ppStateVarDecl ppStrm (isOutput, AST.VD_Decl(x, e)) = let  
           fun sp () = PP.space ppStrm 1  
           val string = PP.string ppStrm  
           fun var x = string(Var.nameOf x)  
70            in            in
71              PP.openHBox ppStrm;              PP.openHBox ppStrm;
72                if isOutput then (string "output"; sp()) else ();                case Var.kindOf x
73                string(TU.toString(#2(Var.typeOf x))); sp(); var x;                 of AST.InputVar => (string "input"; sp())
74                    | AST.ActorOutputVar => (string "output"; sp())
75                    | _ => ()
76                  (* end case *);
77                  string(TU.toString(#2(Var.typeOf x))); sp(); string(Var.nameOf x);
78                sp(); string "="; sp(); ppExp(ppStrm, e); string ";";                sp(); string "="; sp(); ppExp(ppStrm, e); string ";";
79              PP.closeBox ppStrm              PP.closeBox ppStrm
80            end            end
# Line 175  Line 167 
167              nl();              nl();
168              PP.openVBox ppStrm indent;              PP.openVBox ppStrm indent;
169                string "{";                string "{";
170                List.app (fn vdcl => (nl(); ppStateVarDecl ppStrm vdcl)) state;                List.app (fn vdcl => (nl(); ppVarDecl ppStrm vdcl)) state;
171                List.app ppMethod methods;                List.app ppMethod methods;
172              PP.closeBox ppStrm;              PP.closeBox ppStrm;
173              nl();              nl();

Legend:
Removed from v.170  
changed lines
  Added in v.173

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