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). ; 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. , 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. ; 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. ; 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. ; 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. 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