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

SCM Repository

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

Diff of /branches/pure-cfg/src/compiler/codegen/tree-il-pp.sml

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

revision 541, Wed Feb 16 05:30:57 2011 UTC revision 543, Wed Feb 16 16:20:59 2011 UTC
# Line 79  Line 79 
79                    List.app (fn s => prln(out, ["// ", s, "\n"])) text                    List.app (fn s => prln(out, ["// ", s, "\n"])) text
80                  end                  end
81              | IL.S_Assign(x, e) => prln(out, [Var.name x, " = ", expToString e, ";\n"])              | IL.S_Assign(x, e) => prln(out, [Var.name x, " = ", expToString e, ";\n"])
82              | IL.S_Cons(x, args) => raise Fail "Cons"              | IL.S_Cons(x, args) => let
83                    fun mkStrings [] = []
84                      | mkStrings [e] = [expToString e]
85                      | mkStrings (e::es) = (expToString e ^ ",") :: mkStrings es
86                    val args = mkStrings args
87                    in
88                      if (List.foldl (fn (s, n) => n+size s) 0 args > 60)
89                        then let
90                          val out' = incIndent out
91                          val out'' = incIndent out'
92                          fun prArgs (_, []) = (
93                                pr (out', "\n");
94                                prln (out', ["};\n"]))
95                            | prArgs (n, arg::args) =
96                                if (n = 0)
97                                  then (
98                                    prln (out'', [arg]);
99                                    prArgs (n + size arg, args))
100                                else if (n + size arg > 60)
101                                  then (
102                                    pr(out'', "\n");
103                                    prArgs (0, arg::args))
104                                  else (
105                                    pr(out'', " ");
106                                    pr(out'', arg);
107                                    prArgs (n + size arg + 1, args))
108                          in
109                            prln (out, [Var.name x, " = {\n"]);
110                            prArgs (0, args)
111                          end
112                        else (
113                          prln (out, Var.name x :: " = {" :: args);
114                          pr (out, "};\n"))
115                    end
116              | IL.S_LoadImage(x, dim, exp) =>              | IL.S_LoadImage(x, dim, exp) =>
117                  prln (out, [                  prln (out, [
118                      Var.name x, " = load<", Int.toString dim, "> (", expToString exp, ");\n"                      Var.name x, " = load<", Int.toString dim, "> (", expToString exp, ");\n"

Legend:
Removed from v.541  
changed lines
  Added in v.543

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