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

SCM Repository

[diderot] Diff of /branches/pure-cfg/src/compiler/cl-target/print-as-cl.sml
ViewVC logotype

Diff of /branches/pure-cfg/src/compiler/cl-target/print-as-cl.sml

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

revision 1364, Wed Jun 22 17:08:47 2011 UTC revision 1365, Wed Jun 22 17:17:30 2011 UTC
# Line 80  Line 80 
80                    str (getBaseTy ty);                    str (getBaseTy ty);
81                    pp (true, ty, optVar)                    pp (true, ty, optVar)
82                  end                  end
83              fun ppAttrs [] = ()
84                | ppAttrs attrs = (
85                    ppList {pp=str, sep=sp, l = attrs};
86                    sp())
87            fun ppDecl dcl = (case dcl            fun ppDecl dcl = (case dcl
88                   of CL.D_Comment l => List.app ppComLn l                   of CL.D_Comment l => List.app ppComLn l
89                    | CL.D_Verbatim l =>                    | CL.D_Verbatim l =>
90                        List.app (fn s => (str s; PP.newline strm)) l                        List.app (fn s => (str s; PP.newline strm)) l
91                    | CL.D_Var(attrs, ty, x, optInit) => (                    | CL.D_Var(attrs, ty, x, optInit) => (
92                        inHBox (fn () => (                        inHBox (fn () => (
93                          ppList {pp=str, sep=sp, l = attrs};                          ppAttrs attrs;
                         if List.null attrs then () else sp();  
94                          ppTy (ty, SOME x);                          ppTy (ty, SOME x);
95                          case optInit                          case optInit
96                           of SOME init => (sp(); str "="; sp(); ppInit init)                           of SOME init => (sp(); str "="; sp(); ppInit init)
# Line 97  Line 100 
100                        PP.newline strm)                        PP.newline strm)
101                    | CL.D_Func(attrs, ty, f, params, body) => (                    | CL.D_Func(attrs, ty, f, params, body) => (
102                        inHBox (fn () => (                        inHBox (fn () => (
103                          ppList {pp=str, sep=sp, l = attrs};                          ppAttrs attrs;
                         if List.null attrs then () else sp();  
104                          ppTy(ty, SOME f);                          ppTy(ty, SOME f);
105                          sp(); str "(";                          sp(); str "(";
106                          ppList {pp=ppParam, sep=fn () => (str ","; sp()), l=params};                          ppList {pp=ppParam, sep=fn () => (str ","; sp()), l=params};
# Line 118  Line 120 
120                        PP.newline strm)                        PP.newline strm)
121                  (* end case *))                  (* end case *))
122            and ppParam (CL.PARAM(attrs, ty, x)) = (            and ppParam (CL.PARAM(attrs, ty, x)) = (
123                  ppList {pp=str, sep=sp, l = attrs};                  ppAttrs attrs;
                 if List.null attrs then () else sp();  
124                  ppTy(ty, SOME(CL.varToString x)))                  ppTy(ty, SOME(CL.varToString x)))
125            and ppInit init = (case init            and ppInit init = (case init
126                   of CL.I_Exp e => ppExp e                   of CL.I_Exp e => ppExp e
# Line 157  Line 158 
158                    | CL.S_Comment l => List.app ppComLn l                    | CL.S_Comment l => List.app ppComLn l
159                    | CL.S_Decl(attrs, ty, x, NONE) => (                    | CL.S_Decl(attrs, ty, x, NONE) => (
160                        inHBox (fn () => (                        inHBox (fn () => (
161                        ppList {pp=str, sep=sp, l = attrs};                          ppAttrs attrs;
162                          if List.null attrs then () else sp();                          ppTy(ty, SOME x); str ";"));
163                        ppTy(ty, SOME x); str ";")); PP.newline strm)                        PP.newline strm)
164                    | CL.S_Decl(attrs,ty, x, SOME e) => (                    | CL.S_Decl(attrs,ty, x, SOME e) => (
165                        inHBox (fn () => (                        inHBox (fn () => (
166                        ppList {pp=str, sep=sp, l = attrs};                          ppAttrs attrs;
                         if List.null attrs then () else sp();  
167                          ppTy(ty, SOME x); sp(); str "="; sp(); ppInit e; str ";"));                          ppTy(ty, SOME x); sp(); str "="; sp(); ppInit e; str ";"));
168                        PP.newline strm)                        PP.newline strm)
169                    | CL.S_Exp e => (                    | CL.S_Exp e => (

Legend:
Removed from v.1364  
changed lines
  Added in v.1365

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