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

SCM Repository

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

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

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

revision 1640, Wed Nov 16 02:19:51 2011 UTC revision 1766, Sat Mar 24 10:09:29 2012 UTC
# Line 101  Line 101 
101                          (* end case *);                          (* end case *);
102                          str ";"));                          str ";"));
103                        PP.newline strm)                        PP.newline strm)
104                      | CL.D_Proto(attrs, ty, f, params) => (
105                          inHBox (fn () => (
106                            ppAttrs attrs;
107                            ppTy(ty, SOME f);
108                            sp(); str "(";
109                            ppList {pp=ppParam, sep=fn () => (str ","; sp()), l=params};
110                            str ");"));
111                          PP.newline strm)
112                    | CL.D_Func(attrs, ty, f, params, body) => (                    | CL.D_Func(attrs, ty, f, params, body) => (
113                        inHBox (fn () => (                        inHBox (fn () => (
114                          ppAttrs attrs;                          ppAttrs attrs;
# Line 110  Line 118 
118                          str ")"));                          str ")"));
119                        PP.newline strm;                        PP.newline strm;
120                        ppBlock (case body of CL.S_Block stms => stms | stm => [stm]))                        ppBlock (case body of CL.S_Block stms => stms | stm => [stm]))
121                    | CL.D_StructDef(fields, tyName) => (                    | CL.D_StructDef(SOME name, fields, NONE) => (
122                          inHBox (fn () => (str "struct"; sp(); str name; sp(); str "{"));
123                          PP.openVBox strm indent;
124                            List.app (fn (ty, x) => (
125                                PP.newline strm;
126                                inHBox (fn () => (ppTy(ty, SOME x); str ";"))))
127                              fields;
128                          PP.closeBox strm;
129                          PP.newline strm;
130                          str "};";
131                          PP.newline strm)
132                      | CL.D_StructDef(optStruct, fields, SOME tyName) => (
133                        str "typedef struct {";                        str "typedef struct {";
134                        PP.openVBox strm indent;                        PP.openVBox strm indent;
135                          List.app (fn (ty, x) => (                          List.app (fn (ty, x) => (

Legend:
Removed from v.1640  
changed lines
  Added in v.1766

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