1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
|
This is MetaPost, version 1.203 (kpathsea version 3.5.7dev) (INIMP) 25 MAY 2009 12:47
**\input trap
(./trap.mp
>> << == >> ::: ||`` ''--!! ??## && @@ $$[[]]{{ }}((5.5 0.5))
>> ".."
! Not implemented: (unknown numeric)++(string).
<to be read again>
;
l.4 ...&& @@ $$ [[ ]] {{ }} . (( 5.5.5 )) ++ "..";
I'm afraid I don't know how to apply that operation to that
combination of types. Continue, and I'll return the second
argument (see above) as the result of the operation.
..
! Missing `=' has been inserted.
<to be read again>
,
l.5 begingroup save =; let=,
; save,; newinternal $=,; let ):=, endgroup;
You should have said `let symbol = something'.
But don't worry; I'll pretend that an equals sign
was present. The next token I read will be `something'.
> errorstopmode=errorstopmode
> readstring=readstring
> 2
> "2"
> ,=,
> (=tag
> )=,
<< == >> ::: ||`` ''--!! ??## && @@ $$[[]]{{ }}(([][]))=numeric
<< == >> ::: ||`` ''--!! ??## && @@ $$[[]]{{ }}((5.5 0.5))=<< == >> ::: ||`` ''
--!! ??## && @@ $$[[]]{{ }}((5.5 0.5))
> year=month
! OK.
l.6 ...rorstopmode,readstring,2,"2",,,(,),<<,year;
! Missing `:' has been inserted.
<to be read again>
;
l.8 ...acingcommands:=if not cycle "":1.1 forever;
fi;
The next thing in this loop should have been a `:'.
So I'll pretend that a colon was present;
everything from here to `endfor' will be iterated.
{fi}
{exitif}
{[repeat the loop]}
{false}
{fi}
{exitif}
{[repeat the loop]}
{(2.1)>(2)}
{true}
{tracingcommands:=2.1}
{showtoken}
> |=:|>=|=:|>
! OK.
l.9 ... tracingcommands>2 endfor; showtoken |=:|>;
! Arithmetic overflow.
l.10 tracinglostchars:=1/.00001
; tracingequations:=$+1; p~=tracinglostchar...
Uh, oh. A little while ago one of the quantities that I was
computing got too large, so I'm afraid your answers will be
somewhat askew. You'll probably have to adopt different
tactics next time. But I shall try to carry on anyway.
{tracinglostchars:=32767.99998}
{(0)+(1)}
{tracingequations:=1}
{(32767.99998)+(0.00002)}
! Arithmetic overflow.
l.10 ...quations:=$+1; p~=tracinglostchars+.00001;
Uh, oh. A little while ago one of the quantities that I was
computing got too large, so I'm afraid your answers will be
somewhat askew. You'll probably have to adopt different
tactics next time. But I shall try to carry on anyway.
{(p~)=(32767.99998)}
## p~=32767.99998
{interim}
{tracingmacros:=1}
{tracingoutput:=1}
{warningcheck:=1}
{tracingstats:=1}
{tracingchoices:=1}
{tracingspecs:=1}
{ASCII("")}
{$:=-1}
{$:=x}
>> x
! Internal quantity `$' must receive a known numeric or string.
<to be read again>
;
l.12 ...utput:=tracingmacros:=1; $:=ASCII""; $:=x;
p~:=p~;
I can't set an internal quantity to anything but a known string
or known numeric value, so I'll have to ignore this assignment.
{p~:=32767.99998}
## p~=32767.99998
! Value is too large (32767.99998).
l.12 ...racingmacros:=1; $:=ASCII""; $:=x; p~:=p~;
The equation I just processed has given some variable
a value of 4096 or more. Continue and I'll try to cope
with that big value; but it might be dangerous.
(Set warningcheck:=0 to suppress this message.)
{delimiters}
{delimiters}
{vardef}
{def}
foo(TEXT2)->begingroup(TEXT2)endgroup
(SUFFIX0)<-
(SUFFIX1)<-foo
(TEXT2)<-interim.tracinglostchars:=(0.5;show.urcorner("flubo"infont"trapf"),2+2
{begingroup}
{interim}
! Missing `)' has been inserted.
<to be read again>
;
<argument> interim.tracinglostchars:=(0.5;
show.urcorner("flubo"infont"trapf"...
foo->begingroup(TEXT2)
endgroup
l.17 ),2+2endtext
; for n=tracingspecs step 1 until $:fi endfor showstats;
I found no right delimiter to match a left one. So I've
put one in, behind the scenes; this may fix the problem.
{tracinglostchars:=0.5}
{show}
{("flubo")infont("trapf")}
Missing character: There is no f in font trapf!
Missing character: There is no l in font trapf!
Missing character: There is no o in font trapf!
{urcorner(picture)}
>> (2.9888,7.97011)
{(2)+(2)}
>> 4
! OK.
<to be read again>
endgroup
l.17 ),2+2endtext
; for n=tracingspecs step 1 until $:fi endfor showstats;
{restoring tracinglostchars=32767.99998}
{endgroup}
{for}
{showstats}
Memory usage 283&42 (3927 still untouched)
String usage 25&72 (78&7709 now untouched)
! OK.
l.17 ...gspecs step 1 until $:fi endfor showstats;
{let}
{path}
{-(15)}
{-(12)}
Path at line 18, before choices:
(0,0)..controls (15,4) and (-15,-12)
..(4,0)
Path at line 18, after choices:
(0,0)..controls (15,4) and (-15,-12)
..(4,0)
{(unknown path p~)=(path)}
{everyjob}
{vardef}
{let}
{vardef}
{def}
{begingroup}
{errorstopmode}
{endgroup}
{elseif}
{endinput}
{\}
)
*dump
Beginning to dump on file trap.mem
(mem=trap 2009.05.25)
at most 553 strings of total length 2302
391 memory locations dumped; current usage is 311&68
308 symbolic tokens
|