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

SCM Repository

[smlnj] Annotation of /sml/trunk/src/smlnj-lib/PP/tests/test.sml
ViewVC logotype

Annotation of /sml/trunk/src/smlnj-lib/PP/tests/test.sml

Parent Directory Parent Directory | Revision Log Revision Log


Revision 651 - (view) (download)

1 : monnier 7 (* test.sml
2 :     *
3 :     * COPYRIGHT (c) 1997 Bell Labs, Lucent Technologies.
4 :     *)
5 :    
6 :     use "base.sml";
7 :    
8 :     local
9 :     fun repeat c n = StringCvt.padLeft c n ""
10 :     fun simple1 (name, w, n, openBox) () =
11 :     withPP (name, w) (fn strm => (
12 :     openBox strm (PP.Rel 0);
13 :     PP.string strm (repeat #"x" n);
14 :     PP.cut strm;
15 :     PP.string strm (repeat #"y" n);
16 :     PP.cut strm;
17 :     PP.string strm (repeat #"z" n);
18 :     PP.closeBox strm))
19 :     (**
20 :     fun simple1 (name, w, n, openBox) () = let
21 :     val outS = TextIO.openAppend "out"
22 :     fun dump (lab, strm) = (TextIO.output(outS, lab^": "); PP.dump(outS, strm))
23 :     in
24 :     TextIO.output(outS, concat["***** ", name, " *****\n"]);
25 :     withPP (name, w) (fn strm => (
26 :     dump ("1", strm);
27 :     openBox strm (PP.Rel 0);
28 :     dump ("2", strm);
29 :     PP.string strm (repeat #"x" n);
30 :     dump ("3", strm);
31 :     PP.cut strm;
32 :     dump ("4", strm);
33 :     PP.string strm (repeat #"y" n);
34 :     dump ("5", strm);
35 :     PP.cut strm;
36 :     dump ("6", strm);
37 :     PP.string strm (repeat #"z" n);
38 :     dump ("7", strm);
39 :     PP.closeBox strm;
40 :     dump ("8", strm)));
41 :     TextIO.closeOut outS
42 :     end
43 :     **)
44 :     fun simple2 (name, w, n, openBox1, openBox2) () =
45 :     withPP (name, w) (fn strm => (
46 :     openBox1 strm (PP.Rel 0);
47 :     PP.string strm (repeat #"v" n);
48 :     PP.cut strm;
49 :     openBox2 strm (PP.Abs 2);
50 :     PP.string strm (repeat #"w" n);
51 :     PP.cut strm;
52 :     PP.string strm (repeat #"x" n);
53 :     PP.cut strm;
54 :     PP.string strm (repeat #"y" n);
55 :     PP.closeBox strm;
56 :     PP.cut strm;
57 :     PP.string strm (repeat #"z" n);
58 :     PP.closeBox strm))
59 :     fun openHBox strm _ = PP.openHBox strm
60 :     in
61 :     val t01a = simple1 ("Test 01a [hbox]", 10, 2, openHBox)
62 :     val t01b = simple1 ("Test 01b [hbox]", 10, 3, openHBox)
63 :     val t02a = simple1 ("Test 02a [vbox]", 10, 2, PP.openVBox)
64 :     val t02b = simple1 ("Test 02b [vbox]", 10, 3, PP.openVBox)
65 :     val t03a = simple1 ("Test 03a [hvbox]", 10, 2, PP.openHVBox)
66 :     val t03b = simple1 ("Test 03b [hvbox]", 10, 4, PP.openHVBox)
67 :     val t04a = simple1 ("Test 04a [hovbox]", 10, 2, PP.openHOVBox)
68 :     val t04b = simple1 ("Test 04b [hovbox]", 10, 4, PP.openHOVBox)
69 :     val t05a = simple1 ("Test 05a [box]", 10, 2, PP.openBox)
70 :     val t05b = simple1 ("Test 05b [box]", 10, 4, PP.openBox)
71 :    
72 :     val t11a = simple2 ("Test 11a [hbox/hbox]", 10, 2, openHBox, openHBox)
73 :     val t11b = simple2 ("Test 11b [hbox/hbox]", 10, 3, openHBox, openHBox)
74 :     val t11c = simple2 ("Test 11c [hbox/hbox]", 10, 4, openHBox, openHBox)
75 :     val t12a = simple2 ("Test 12a [hbox/vbox]", 10, 2, openHBox, PP.openVBox)
76 :     val t12b = simple2 ("Test 12b [hbox/vbox]", 10, 3, openHBox, PP.openVBox)
77 :     val t12c = simple2 ("Test 12c [hbox/vbox]", 10, 4, openHBox, PP.openVBox)
78 :     val t13a = simple2 ("Test 13a [hbox/hvbox]", 10, 2, openHBox, PP.openHVBox)
79 :     val t13b = simple2 ("Test 13b [hbox/hvbox]", 10, 3, openHBox, PP.openHVBox)
80 :     val t13c = simple2 ("Test 13c [hbox/hvbox]", 10, 4, openHBox, PP.openHVBox)
81 :     val t14a = simple2 ("Test 14a [hbox/hovbox]", 10, 2, openHBox, PP.openHOVBox)
82 :     val t14b = simple2 ("Test 14b [hbox/hovbox]", 10, 3, openHBox, PP.openHOVBox)
83 :     val t14c = simple2 ("Test 14c [hbox/hovbox]", 10, 4, openHBox, PP.openHOVBox)
84 :     val t15a = simple2 ("Test 15a [hbox/box]", 10, 2, openHBox, PP.openBox)
85 :     val t15b = simple2 ("Test 15b [hbox/box]", 10, 3, openHBox, PP.openBox)
86 :     val t15c = simple2 ("Test 15c [hbox/box]", 10, 4, openHBox, PP.openBox)
87 :     val t16a = simple2 ("Test 16a [vbox/hbox]", 10, 2, PP.openVBox, openHBox)
88 :     val t16b = simple2 ("Test 16b [vbox/hbox]", 10, 3, PP.openVBox, openHBox)
89 :     val t16c = simple2 ("Test 16c [vbox/hbox]", 10, 4, PP.openVBox, openHBox)
90 :     val t17a = simple2 ("Test 17a [vbox/vbox]", 10, 2, PP.openVBox, PP.openVBox)
91 :     val t17b = simple2 ("Test 17b [vbox/vbox]", 10, 3, PP.openVBox, PP.openVBox)
92 :     val t17c = simple2 ("Test 17c [vbox/vbox]", 10, 4, PP.openVBox, PP.openVBox)
93 :     val t18a = simple2 ("Test 18a [vbox/hvbox]", 10, 2, PP.openVBox, PP.openHVBox)
94 :     val t18b = simple2 ("Test 18b [vbox/hvbox]", 10, 3, PP.openVBox, PP.openHVBox)
95 :     val t18c = simple2 ("Test 18c [vbox/hvbox]", 10, 4, PP.openVBox, PP.openHVBox)
96 :     val t19a = simple2 ("Test 19a [vbox/hovbox]", 10, 2, PP.openVBox, PP.openHOVBox)
97 :     val t19b = simple2 ("Test 19b [vbox/hovbox]", 10, 3, PP.openVBox, PP.openHOVBox)
98 :     val t19c = simple2 ("Test 19c [vbox/hovbox]", 10, 4, PP.openVBox, PP.openHOVBox)
99 :     val t20a = simple2 ("Test 20a [vbox/box]", 10, 2, PP.openVBox, PP.openBox)
100 :     val t20b = simple2 ("Test 20b [vbox/box]", 10, 3, PP.openVBox, PP.openBox)
101 :     val t20c = simple2 ("Test 20c [vbox/box]", 10, 4, PP.openVBox, PP.openBox)
102 :     val t21a = simple2 ("Test 21a [hvbox/hbox]", 10, 2, PP.openHVBox, openHBox)
103 :     val t21b = simple2 ("Test 21b [hvbox/hbox]", 10, 3, PP.openHVBox, openHBox)
104 :     val t21c = simple2 ("Test 21c [hvbox/hbox]", 10, 4, PP.openHVBox, openHBox)
105 :     val t22a = simple2 ("Test 22a [hvbox/vbox]", 10, 2, PP.openHVBox, PP.openVBox)
106 :     val t22b = simple2 ("Test 22b [hvbox/vbox]", 10, 3, PP.openHVBox, PP.openVBox)
107 :     val t22c = simple2 ("Test 22c [hvbox/vbox]", 10, 4, PP.openHVBox, PP.openVBox)
108 :     val t23a = simple2 ("Test 23a [hvbox/hvbox]", 10, 2, PP.openHVBox, PP.openHVBox)
109 :     val t23b = simple2 ("Test 23b [hvbox/hvbox]", 10, 3, PP.openHVBox, PP.openHVBox)
110 :     val t23c = simple2 ("Test 23c [hvbox/hvbox]", 10, 4, PP.openHVBox, PP.openHVBox)
111 :     val t24a = simple2 ("Test 24a [hvbox/hovbox]", 10, 2, PP.openHVBox, PP.openHOVBox)
112 :     val t24b = simple2 ("Test 24b [hvbox/hovbox]", 10, 3, PP.openHVBox, PP.openHOVBox)
113 :     val t24c = simple2 ("Test 24c [hvbox/hovbox]", 10, 4, PP.openHVBox, PP.openHOVBox)
114 :     val t25a = simple2 ("Test 25a [hvbox/box]", 10, 2, PP.openHVBox, PP.openBox)
115 :     val t25b = simple2 ("Test 25b [hvbox/box]", 10, 3, PP.openHVBox, PP.openBox)
116 :     val t25c = simple2 ("Test 25c [hvbox/box]", 10, 4, PP.openHVBox, PP.openBox)
117 :     val t26a = simple2 ("Test 26a [hovbox/hbox]", 10, 2, PP.openHOVBox, openHBox)
118 :     val t26b = simple2 ("Test 26b [hovbox/hbox]", 10, 3, PP.openHOVBox, openHBox)
119 :     val t26c = simple2 ("Test 26c [hovbox/hbox]", 10, 4, PP.openHOVBox, openHBox)
120 :     val t27a = simple2 ("Test 27a [hovbox/vbox]", 10, 2, PP.openHOVBox, PP.openVBox)
121 :     val t27b = simple2 ("Test 27b [hovbox/vbox]", 10, 3, PP.openHOVBox, PP.openVBox)
122 :     val t27c = simple2 ("Test 27c [hovbox/vbox]", 10, 4, PP.openHOVBox, PP.openVBox)
123 :     val t28a = simple2 ("Test 28a [hovbox/hvbox]", 10, 2, PP.openHOVBox, PP.openHVBox)
124 :     val t28b = simple2 ("Test 28b [hovbox/hvbox]", 10, 3, PP.openHOVBox, PP.openHVBox)
125 :     val t28c = simple2 ("Test 28c [hovbox/hvbox]", 10, 4, PP.openHOVBox, PP.openHVBox)
126 :     val t29a = simple2 ("Test 29a [hovbox/hovbox]", 10, 2, PP.openHOVBox, PP.openHOVBox)
127 :     val t29b = simple2 ("Test 29b [hovbox/hovbox]", 10, 3, PP.openHOVBox, PP.openHOVBox)
128 :     val t29c = simple2 ("Test 29c [hovbox/hovbox]", 10, 4, PP.openHOVBox, PP.openHOVBox)
129 :     val t30a = simple2 ("Test 30a [hovbox/box]", 10, 2, PP.openHOVBox, PP.openBox)
130 :     val t30b = simple2 ("Test 30b [hovbox/box]", 10, 3, PP.openHOVBox, PP.openBox)
131 :     val t30c = simple2 ("Test 30c [hovbox/box]", 10, 4, PP.openHOVBox, PP.openBox)
132 :     val t31a = simple2 ("Test 31a [box/hbox]", 10, 2, PP.openBox, openHBox)
133 :     val t31b = simple2 ("Test 31b [box/hbox]", 10, 3, PP.openBox, openHBox)
134 :     val t31c = simple2 ("Test 31c [box/hbox]", 10, 4, PP.openBox, openHBox)
135 :     val t32a = simple2 ("Test 32a [box/vbox]", 10, 2, PP.openBox, PP.openVBox)
136 :     val t32b = simple2 ("Test 32b [box/vbox]", 10, 3, PP.openBox, PP.openVBox)
137 :     val t32c = simple2 ("Test 32c [box/vbox]", 10, 4, PP.openBox, PP.openVBox)
138 :     val t33a = simple2 ("Test 33a [box/hvbox]", 10, 2, PP.openBox, PP.openHVBox)
139 :     val t33b = simple2 ("Test 33b [box/hvbox]", 10, 3, PP.openBox, PP.openHVBox)
140 :     val t33c = simple2 ("Test 33c [box/hvbox]", 10, 4, PP.openBox, PP.openHVBox)
141 :     val t34a = simple2 ("Test 34a [box/hovbox]", 10, 2, PP.openBox, PP.openHOVBox)
142 :     val t34b = simple2 ("Test 34b [box/hovbox]", 10, 3, PP.openBox, PP.openHOVBox)
143 :     val t34c = simple2 ("Test 34c [box/hovbox]", 10, 4, PP.openBox, PP.openHOVBox)
144 :     val t35a = simple2 ("Test 35a [box/box]", 10, 2, PP.openBox, PP.openBox)
145 :     val t35b = simple2 ("Test 35b [box/box]", 10, 3, PP.openBox, PP.openBox)
146 :     val t35c = simple2 ("Test 35c [box/box]", 10, 4, PP.openBox, PP.openBox)
147 :     end
148 :    
149 :     fun t40 () = withPP ("Test 20 [C code]", 20) (fn strm => (
150 :     PP.openHBox strm;
151 :     PP.string strm "if";
152 :     PP.space strm 1;
153 :     PP.string strm "(x < y)";
154 :     PP.space strm 1;
155 :     PP.string strm "{";
156 :     PP.openHVBox strm (PP.Abs 4);
157 :     PP.space strm 1;
158 :     PP.string strm "stmt1;"; PP.space strm 1;
159 :     PP.openHBox strm;
160 :     PP.string strm "if";
161 :     PP.space strm 1;
162 :     PP.string strm "(w < z)";
163 :     PP.space strm 1;
164 :     PP.string strm "{";
165 :     PP.openHVBox strm (PP.Abs 4);
166 :     PP.space strm 1; PP.string strm "stmt2;";
167 :     PP.space strm 1; PP.string strm "stmt3;";
168 :     PP.space strm 1; PP.string strm "stmt4;";
169 :     PP.closeBox strm; PP.newline strm;
170 :     PP.string strm "}";
171 :     PP.closeBox strm;
172 :     PP.space strm 1; PP.string strm "stmt5;";
173 :     PP.space strm 1; PP.string strm "stmt6;";
174 :     PP.closeBox strm; PP.newline strm;
175 :     PP.string strm "}";
176 :     PP.closeBox strm));
177 :    

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