home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Atari FTP
/
ATARI_FTP_0693.zip
/
ATARI_FTP_0693
/
Tex
/
texsrc.arc
/
TEX9.C
< prev
next >
Wrap
C/C++ Source or Header
|
1988-09-14
|
46KB
|
1,820 lines
overlay "tex9"
#define EXTERN extern
#include "texd.h"
maincontrol () { /* 60 21 70 71 72 73 74 10 */ r_maincontrol
integer t ;
quarterword l ;
eightbits c ;
internalfont f ;
halfword r ;
halfword p ;
integer k ;
halfword q ;
fourquarters i ;
fourquarters j ;
integer s ;
boolean ligaturepres ;
if ( eqtb [ 4063 ] .hh .v.RH != 0 )
begintokenli ( eqtb [ 4063 ] .hh .v.RH , 12 ) ;
lab60: getxtoken () ;
lab21: if ( interrupt != 0 )
if ( OKtointerrup )
{
backinput () ;
{
if ( interrupt != 0 )
pauseforinst () ;
}
goto lab60 ;
}
#ifdef DEBUG
if ( panicking )
checkmem ( false ) ;
#endif /* DEBUG */
if ( eqtb [ 5303 ] .cint > 0 )
showcurcmdch () ;
switch ( abs ( curlist .modefield ) + curcmd )
{case 112 :
case 113 :
case 168 :
goto lab70 ;
break ;
case 117 :
{
scancharnum () ;
curchr = curval ;
goto lab70 ;
}
break ;
case 111 :
if ( curlist .auxfield == 1000 )
goto lab74 ;
else appspace () ;
break ;
case 165 :
case 265 :
goto lab74 ;
break ;
case 1 :
case 101 :
case 201 :
case 11 :
case 211 :
;
break ;
case 40 :
case 140 :
case 240 :
{
do { getxtoken () ;
} while ( ! ( curcmd != 10 ) ) ;
goto lab21 ;
}
break ;
case 15 :
if ( itsallover () )
return ;
break ;
case 23 :
case 122 :
case 222 :
case 70 :
case 170 :
case 270 :
case 39 :
case 45 :
case 49 :
case 149 :
case 7 :
case 107 :
case 207 :
reportillega () ;
break ;
case 8 :
case 108 :
case 9 :
case 109 :
case 18 :
case 118 :
case 69 :
case 169 :
case 51 :
case 151 :
case 16 :
case 116 :
case 50 :
case 150 :
case 53 :
case 153 :
case 66 :
case 166 :
case 54 :
case 154 :
case 55 :
case 155 :
case 57 :
case 157 :
case 56 :
case 156 :
case 31 :
case 131 :
case 52 :
case 152 :
case 29 :
case 129 :
case 47 :
case 147 :
case 210 :
case 214 :
case 215 :
case 228 :
case 225 :
case 234 :
case 237 :
insertdollar () ;
break ;
case 37 :
case 136 :
case 236 :
{
{
mem [(long) curlist .tailfield ] .hh .v.RH = scanrulespec () ;
curlist .tailfield = mem [(long) curlist .tailfield ] .hh .v.RH ;
}
if ( abs ( curlist .modefield ) == 1 )
curlist .auxfield = - 65536000 ;
else if ( abs ( curlist .modefield ) == 101 )
curlist .auxfield = 1000 ;
}
break ;
case 28 :
case 127 :
case 227 :
case 229 :
appendglue () ;
break ;
case 30 :
case 130 :
case 230 :
case 231 :
appendkern () ;
break ;
case 2 :
case 102 :
newsavelevel ( 1 ) ;
break ;
case 62 :
case 162 :
case 262 :
newsavelevel ( 14 ) ;
break ;
case 63 :
case 163 :
case 263 :
if ( curgroup == 14 )
unsave () ;
else offsave () ;
break ;
case 3 :
case 103 :
case 203 :
handlerightb () ;
break ;
case 22 :
case 123 :
case 223 :
{
t = curchr ;
scandimen ( false , false , false ) ;
if ( t == 0 )
savestack [ saveptr + 0 ] .cint = curval ;
else savestack [ saveptr + 0 ] .cint = - curval ;
scanbox () ;
}
break ;
case 32 :
case 132 :
case 232 :
{
savestack [ saveptr + 0 ] .cint = 1073742237 + curchr ;
scanbox () ;
}
break ;
case 21 :
case 121 :
case 221 :
{
savestack [ saveptr + 0 ] .cint = 0 ;
beginbox () ;
}
break ;
case 44 :
newgraf ( curchr > 0 ) ;
break ;
case 12 :
case 13 :
case 17 :
case 68 :
case 4 :
case 24 :
case 36 :
case 46 :
case 48 :
case 27 :
case 34 :
case 65 :
{
backinput () ;
newgraf ( true ) ;
}
break ;
case 144 :
case 244 :
indentinhmod () ;
break ;
case 14 :
{
normalparagr () ;
if ( curlist .modefield > 0 )
buildpage () ;
}
break ;
case 114 :
{
if ( alignstate < 0 )
offsave () ;
endgraf () ;
if ( curlist .modefield == 1 )
buildpage () ;
}
break ;
case 115 :
case 128 :
case 137 :
case 125 :
case 133 :
headforvmode () ;
break ;
case 38 :
case 138 :
case 238 :
case 139 :
case 239 :
begininserto () ;
break ;
case 19 :
case 119 :
case 219 :
makemark () ;
break ;
case 43 :
case 143 :
case 243 :
appendpenalt () ;
break ;
case 26 :
case 126 :
case 226 :
deletelast () ;
break ;
case 25 :
case 124 :
case 224 :
unpackage () ;
break ;
case 145 :
appenditalic () ;
break ;
case 245 :
{
mem [(long) curlist .tailfield ] .hh .v.RH = newkern ( 0 ) ;
curlist .tailfield = mem [(long) curlist .tailfield ] .hh .v.RH ;
}
break ;
case 148 :
case 248 :
appenddiscre () ;
break ;
case 146 :
makeaccent () ;
break ;
case 6 :
case 106 :
case 206 :
case 5 :
case 105 :
case 205 :
alignerror () ;
break ;
case 35 :
case 135 :
case 235 :
noalignerror () ;
break ;
case 64 :
case 164 :
case 264 :
omiterror () ;
break ;
case 33 :
case 134 :
initalign () ;
break ;
case 233 :
if ( privileged () )
initalign () ;
break ;
case 10 :
case 110 :
doendv () ;
break ;
case 67 :
case 167 :
case 267 :
cserror () ;
break ;
case 104 :
initmath () ;
break ;
case 249 :
if ( privileged () )
starteqno () ;
break ;
case 202 :
{
{
mem [(long) curlist .tailfield ] .hh .v.RH = newnoad () ;
curlist .tailfield = mem [(long) curlist .tailfield ] .hh .v.RH ;
}
backinput () ;
scanmath ( curlist .tailfield + 1 ) ;
}
break ;
case 212 :
case 213 :
case 268 :
if ( curchr < 128 )
setmathchar ( eqtb [ 5139 + curchr ] .hh .v.RH ) ;
else setmathchar ( curchr ) ;
break ;
case 217 :
{
scancharnum () ;
curchr = curval ;
if ( curchr < 128 )
setmathchar ( eqtb [ 5139 + curchr ] .hh .v.RH ) ;
else setmathchar ( curchr ) ;
}
break ;
case 218 :
{
scanfifteenb () ;
setmathchar ( curval ) ;
}
break ;
case 269 :
setmathchar ( curchr ) ;
break ;
case 216 :
{
scantwentyse () ;
setmathchar ( curval / 4096 ) ;
}
break ;
case 251 :
{
{
mem [(long) curlist .tailfield ] .hh .v.RH = newnoad () ;
curlist .tailfield = mem [(long) curlist .tailfield ] .hh .v.RH ;
}
mem [(long) curlist .tailfield ] .hh.b0 = curchr ;
scanmath ( curlist .tailfield + 1 ) ;
}
break ;
case 252 :
mathlimitswi () ;
break ;
case 266 :
mathradical () ;
break ;
case 246 :
case 247 :
mathac () ;
break ;
case 257 :
{
scanspec () ;
newsavelevel ( 12 ) ;
normalparagr () ;
pushnest () ;
curlist .modefield = - 1 ;
curlist .auxfield = - 65536000 ;
if ( eqtb [ 4062 ] .hh .v.RH != 0 )
begintokenli ( eqtb [ 4062 ] .hh .v.RH , 11 ) ;
}
break ;
case 254 :
{
mem [(long) curlist .tailfield ] .hh .v.RH = newstyle ( curchr ) ;
curlist .tailfield = mem [(long) curlist .tailfield ] .hh .v.RH ;
}
break ;
case 256 :
{
{
mem [(long) curlist .tailfield ] .hh .v.RH = newglue ( 0 ) ;
curlist .tailfield = mem [(long) curlist .tailfield ] .hh .v.RH ;
}
mem [(long) curlist .tailfield ] .hh.b1 = 98 ;
}
break ;
case 255 :
appendchoice () ;
break ;
case 209 :
case 208 :
subsup () ;
break ;
case 253 :
mathfraction () ;
break ;
case 250 :
mathleftrigh () ;
break ;
case 204 :
if ( curgroup == 15 )
aftermath () ;
else offsave () ;
break ;
case 71 :
case 171 :
case 271 :
case 72 :
case 172 :
case 272 :
case 73 :
case 173 :
case 273 :
case 74 :
case 174 :
case 274 :
case 75 :
case 175 :
case 275 :
case 76 :
case 176 :
case 276 :
case 77 :
case 177 :
case 277 :
case 78 :
case 178 :
case 278 :
case 79 :
case 179 :
case 279 :
case 80 :
case 180 :
case 280 :
case 81 :
case 181 :
case 281 :
case 82 :
case 182 :
case 282 :
case 83 :
case 183 :
case 283 :
case 84 :
case 184 :
case 284 :
case 85 :
case 185 :
case 285 :
case 86 :
case 186 :
case 286 :
case 87 :
case 187 :
case 287 :
case 88 :
case 188 :
case 288 :
case 89 :
case 189 :
case 289 :
case 90 :
case 190 :
case 290 :
case 91 :
case 191 :
case 291 :
case 92 :
case 192 :
case 292 :
case 93 :
case 193 :
case 293 :
case 94 :
case 194 :
case 294 :
case 95 :
case 195 :
case 295 :
case 96 :
case 196 :
case 296 :
case 97 :
case 197 :
case 297 :
case 98 :
case 198 :
case 298 :
case 99 :
case 199 :
case 299 :
case 100 :
case 200 :
case 300 :
prefixedcomm () ;
break ;
case 41 :
case 141 :
case 241 :
{
gettoken () ;
aftertoken = curtok ;
}
break ;
case 42 :
case 142 :
case 242 :
{
gettoken () ;
saveforafter ( curtok ) ;
}
break ;
case 61 :
case 161 :
case 261 :
openorclosei () ;
break ;
case 59 :
case 159 :
case 259 :
issuemessage () ;
break ;
case 58 :
case 158 :
case 258 :
shiftcase () ;
break ;
case 20 :
case 120 :
case 220 :
showwhatever () ;
break ;
case 60 :
case 160 :
case 260 :
doextension () ;
break ;
}
goto lab60 ;
lab70: f = eqtb [ 4578 ] .hh .v.RH ;
c = curchr ;
lab71: if ( ( c < fontbc [ f ] ) || ( c > fontec [ f ] ) )
{
charwarning ( f , c ) ;
goto lab60 ;
}
lab72: q = curlist .tailfield ;
ligaturepres = false ;
l = c ;
lab73: if ( c < 128 )
{
s = eqtb [ 5011 + c ] .hh .v.RH ;
if ( s == 1000 )
curlist .auxfield = 1000 ;
else if ( s < 1000 )
{
if ( s > 0 )
curlist .auxfield = s ;
}
else if ( curlist .auxfield < 1000 )
curlist .auxfield = 1000 ;
else curlist .auxfield = s ;
}
else curlist .auxfield = 1000 ;
i = fontinfo [ charbase [ f ] + l ] .qqqq ;
if ( ( i .b0 > 0 ) )
{
{
p = avail ;
if ( p == 0 )
p = getavail () ;
else {
avail = mem [(long) p ] .hh .v.RH ;
mem [(long) p ] .hh .v.RH = 0 ;
#ifdef STAT
incr ( dynused ) ;
#endif /* STAT */
}
}
mem [(long) p ] .hh.b0 = f ;
mem [(long) p ] .hh.b1 = c ;
mem [(long) curlist .tailfield ] .hh .v.RH = p ;
curlist .tailfield = p ;
}
else charwarning ( f , l ) ;
getnext () ;
if ( curcmd == 11 )
r = curchr ;
else if ( curcmd == 12 )
r = curchr ;
else if ( curcmd == 67 )
r = curchr ;
else {
xtoken () ;
if ( ( curcmd == 11 ) || ( curcmd == 12 ) || ( curcmd == 67 ) )
r = curchr ;
else if ( curcmd == 16 )
{
scancharnum () ;
r = curval ;
}
else r = 256 ;
}
if ( ( ( i .b2 ) % 4 ) == 1 )
if ( r != 256 )
{
k = ligkernbase [ f ] + i .b3 ;
do { j = fontinfo [ k ] .qqqq ;
if ( j .b1 == r )
if ( j .b2 < 128 )
{
ligaturepres = true ;
l = j .b3 ;
c = r ;
goto lab73 ;
}
else {
if ( ligaturepres )
{
p = newligature ( f , l , mem [(long) q ] .hh .v.RH ) ;
mem [(long) q ] .hh .v.RH = p ;
curlist .tailfield = p ;
}
if ( c == hyphenchar [ f ] )
if ( curlist .modefield == 101 )
{
mem [(long) curlist .tailfield ] .hh .v.RH = newdisc () ;
curlist .tailfield = mem [(long) curlist .tailfield ] .hh .v.RH ;
}
{
mem [(long) curlist .tailfield ] .hh .v.RH = newkern ( fontinfo [ kernbase
[ f ] + j .b3 ] .cint ) ;
curlist .tailfield = mem [(long) curlist .tailfield ] .hh .v.RH ;
}
c = r ;
goto lab72 ;
}
incr ( k ) ;
} while ( ! ( j .b0 >= 128 ) ) ;
}
if ( ligaturepres )
{
p = newligature ( f , l , mem [(long) q ] .hh .v.RH ) ;
mem [(long) q ] .hh .v.RH = p ;
curlist .tailfield = p ;
}
if ( c == hyphenchar [ f ] )
if ( curlist .modefield == 101 )
{
mem [(long) curlist .tailfield ] .hh .v.RH = newdisc () ;
curlist .tailfield = mem [(long) curlist .tailfield ] .hh .v.RH ;
}
if ( r == 256 )
goto lab21 ;
c = r ;
goto lab71 ;
lab74: if ( eqtb [ 3538 ] .hh .v.RH == 0 )
{
{
p = fontglue [ eqtb [ 4578 ] .hh .v.RH ] ;
if ( p == 0 )
{
f = eqtb [ 4578 ] .hh .v.RH ;
p = newspec ( 0 ) ;
k = parambase [ f ] + 2 ;
mem [(long) p + 1 ] .cint = fontinfo [ k ] .cint ;
mem [(long) p + 2 ] .cint = fontinfo [ k + 1 ] .cint ;
mem [(long) p + 3 ] .cint = fontinfo [ k + 2 ] .cint ;
fontglue [ f ] = p ;
}
}
q = newglue ( p ) ;
}
else q = newparamglue ( 12 ) ;
mem [(long) curlist .tailfield ] .hh .v.RH = q ;
curlist .tailfield = q ;
goto lab60 ;
}
giveerrhelp () { r_giveerrhelp
tokenshow ( eqtb [ 4065 ] .hh .v.RH ) ;
}
boolean openfmtfile () { /* 40 10 */ register boolean Result;
r_openfmtfile
integer j ;
j = curinput .locfield ;
if ( buffer [ curinput .locfield ] == 38 )
{
incr ( curinput .locfield ) ;
j = curinput .locfield ;
buffer [ last ] = 32 ;
while ( buffer [ j ] != 32 ) incr ( j ) ;
packbuffered ( 0 , curinput .locfield , j - 1 ) ;
if ( wopenin ( fmtfile ) )
goto lab40 ;
wakeuptermin () ;
fprintf( output , "%s%s\n", "Sorry, I can't find that format;" , " will try PLAIN." ) ;
termflush ( output ) ;
}
packbuffered ( 5 , 1 , 0 ) ;
if ( ! wopenin ( fmtfile ) )
{
wakeuptermin () ;
fprintf( output , "%s\n", "I can't find the PLAIN format file!" ) ;
Result = false ;
return(Result) ;
}
lab40: curinput .locfield = j ;
Result = true ;
return(Result) ;
}
boolean loadfmtfile () { /* 6666 10 */ register boolean Result;
r_loadfmtfile
integer j, k ;
halfword p, q ;
integer x ;
fourquarters w ;
getfmtint ( x ) ;
if ( x != 13634946 )
goto lab6666 ;
getfmtint ( x ) ;
if ( x != 0 )
goto lab6666 ;
getfmtint ( x ) ;
if ( x != memtop )
goto lab6666 ;
getfmtint ( x ) ;
if ( x != 5976 )
goto lab6666 ;
getfmtint ( x ) ;
if ( x != 2551 )
goto lab6666 ;
getfmtint ( x ) ;
if ( x != 307 )
goto lab6666 ;
{
getfmtint ( x ) ;
if ( x < 0 )
goto lab6666 ;
if ( x > poolsize )
{
wakeuptermin () ;
fprintf( output , "%s%s\n", "---! Must increase the " , "string pool size" ) ;
goto lab6666 ;
}
else poolptr = x ;
}
{
getfmtint ( x ) ;
if ( x < 0 )
goto lab6666 ;
if ( x > maxstrings )
{
wakeuptermin () ;
fprintf( output , "%s%s\n", "---! Must increase the " , "max strings" ) ;
goto lab6666 ;
}
else strptr = x ;
}
undumpthings ( strstart [ 0 ] , strptr + 1 ) ;
undumpthings ( strpool [ 0 ] , poolptr ) ;
{
getfmtint ( x ) ;
if ( ( x < 1019 ) || ( x > memtop - 14 ) )
goto lab6666 ;
else lomemmax = x ;
}
{
getfmtint ( x ) ;
if ( ( x < 20 ) || ( x > lomemmax ) )
goto lab6666 ;
else rover = x ;
}
p = 0 ;
q = rover ;
x = 0 ;
do { undumpthings ( mem [(long) p ] , q + 2 - p ) ;
p = q + mem [(long) q ] .hh .v.LH ;
if ( ( p > lomemmax ) || ( ( q >= mem [(long) q + 1 ] .hh .v.RH ) && ( mem [(long) q +
1 ] .hh .v.RH != rover ) ) )
goto lab6666 ;
q = mem [(long) q + 1 ] .hh .v.RH ;
} while ( ! ( q == rover ) ) ;
undumpthings ( mem [(long) p ] , lomemmax + 1 - p ) ;
if ( memmin < - 2 )
{
p = mem [(long) rover + 1 ] .hh .v.LH ;
q = memmin + 1 ;
mem [(long) memmin ] .hh .v.RH = 0 ;
mem [(long) memmin ] .hh .v.LH = 0 ;
mem [(long) p + 1 ] .hh .v.RH = q ;
mem [(long) rover + 1 ] .hh .v.LH = q ;
mem [(long) q + 1 ] .hh .v.RH = rover ;
mem [(long) q + 1 ] .hh .v.LH = p ;
mem [(long) q ] .hh .v.RH = 65535L ;
mem [(long) q ] .hh .v.LH = - 0 - q ;
}
{
getfmtint ( x ) ;
if ( ( x < lomemmax + 1 ) || ( x > memtop - 13 ) )
goto lab6666 ;
else himemmin = x ;
}
{
getfmtint ( x ) ;
if ( ( x < 0 ) || ( x > memtop ) )
goto lab6666 ;
else avail = x ;
}
memend = memtop ;
undumpthings ( mem [(long) himemmin ] , memend + 1 - himemmin ) ;
getfmtint ( varused ) ;
getfmtint ( dynused ) ;
k = 1 ;
do { getfmtint ( x ) ;
if ( ( x < 1 ) || ( k + x > 5977 ) )
goto lab6666 ;
undumpthings ( eqtb [ k ] , x ) ;
k = k + x ;
getfmtint ( x ) ;
if ( ( x < 0 ) || ( k + x > 5977 ) )
goto lab6666 ;
for ( j = k ; j <= k + x - 1 ; j ++ )
eqtb [ j ] = eqtb [ k - 1 ] ;
k = k + x ;
} while ( ! ( k > 5976 ) ) ;
{
getfmtint ( x ) ;
if ( ( x < 258 ) || ( x > 3258 ) )
goto lab6666 ;
else parloc = x ;
}
partoken = 4096 + parloc ;
{
getfmtint ( x ) ;
if ( ( x < 258 ) || ( x > 3258 ) )
goto lab6666 ;
else writeloc = x ;
}
{
getfmtint ( x ) ;
if ( ( x < 258 ) || ( x > 3258 ) )
goto lab6666 ;
else hashused = x ;
}
p = 257 ;
do { {
getfmtint ( x ) ;
if ( ( x < p + 1 ) || ( x > hashused ) )
goto lab6666 ;
else p = x ;
}
getfmthh ( hash [ p ] ) ;
} while ( ! ( p == hashused ) ) ;
undumpthings ( hash [ hashused + 1 ] , 3524 - hashused ) ;
getfmtint ( cscount ) ;
{
getfmtint ( x ) ;
if ( x < 7 )
goto lab6666 ;
if ( x > fontmemsize )
{
wakeuptermin () ;
fprintf( output , "%s%s\n", "---! Must increase the " , "font mem size" ) ;
goto lab6666 ;
}
else fmemptr = x ;
}
undumpthings ( fontinfo [ 0 ] , fmemptr ) ;
{
getfmtint ( x ) ;
if ( x < 0 )
goto lab6666 ;
if ( x > fontmax )
{
wakeuptermin () ;
fprintf( output , "%s%s\n", "---! Must increase the " , "font max" ) ;
goto lab6666 ;
}
else fontptr = x ;
}
undumpthings ( fontsize [ 0 ] , fontptr + 1 ) ;
undumpthings ( fontdsize [ 0 ] , fontptr + 1 ) ;
undumpthings ( fontparams [ 0 ] , fontptr + 1 ) ;
undumpthings ( hyphenchar [ 0 ] , fontptr + 1 ) ;
undumpthings ( skewchar [ 0 ] , fontptr + 1 ) ;
undumpthings ( fontname [ 0 ] , fontptr + 1 ) ;
undumpthings ( fontarea [ 0 ] , fontptr + 1 ) ;
undumpthings ( fontbc [ 0 ] , fontptr + 1 ) ;
undumpthings ( fontec [ 0 ] , fontptr + 1 ) ;
undumpthings ( charbase [ 0 ] , fontptr + 1 ) ;
undumpthings ( widthbase [ 0 ] , fontptr + 1 ) ;
undumpthings ( heightbase [ 0 ] , fontptr + 1 ) ;
undumpthings ( depthbase [ 0 ] , fontptr + 1 ) ;
undumpthings ( italicbase [ 0 ] , fontptr + 1 ) ;
undumpthings ( ligkernbase [ 0 ] , fontptr + 1 ) ;
undumpthings ( kernbase [ 0 ] , fontptr + 1 ) ;
undumpthings ( extenbase [ 0 ] , fontptr + 1 ) ;
undumpthings ( parambase [ 0 ] , fontptr + 1 ) ;
{
getfmtint ( x ) ;
if ( ( x < 0 ) || ( x > 307 ) )
goto lab6666 ;
else hyphcount = x ;
}
for ( k = 1 ; k <= hyphcount ; k ++ )
{
{
getfmtint ( x ) ;
if ( ( x < 0 ) || ( x > 307 ) )
goto lab6666 ;
else j = x ;
}
{
getfmtint ( x ) ;
if ( ( x < 0 ) || ( x > strptr ) )
goto lab6666 ;
else hyphword [ j ] = x ;
}
{
getfmtint ( x ) ;
if ( ( x < 0 ) || ( x > 65535L ) )
goto lab6666 ;
else hyphlist [ j ] = x ;
}
}
{
getfmtint ( x ) ;
if ( x < 0 )
goto lab6666 ;
if ( x > triesize )
{
wakeuptermin () ;
fprintf( output , "%s%s\n", "---! Must increase the " , "trie size" ) ;
goto lab6666 ;
}
else triemax = x ;
}
undumpthings ( trie [ 0 ] , triemax + 1 ) ;
{
getfmtint ( x ) ;
if ( ( x < 0 ) || ( x > 255 ) )
goto lab6666 ;
else trieopptr = x ;
}
undumpthings ( hyfdistance [ 1 ] , trieopptr - 0 ) ;
undumpthings ( hyfnum [ 1 ] , trieopptr - 0 ) ;
undumpthings ( hyfnext [ 1 ] , trieopptr - 0 ) ;
{
getfmtint ( x ) ;
if ( ( x < 0 ) || ( x > 3 ) )
goto lab6666 ;
else interaction = x ;
}
{
getfmtint ( x ) ;
if ( ( x < 0 ) || ( x > strptr ) )
goto lab6666 ;
else formatident = x ;
}
getfmtint ( x ) ;
if ( ( x != 69069 ) || eof ( fmtfile ) )
goto lab6666 ;
Result = true ;
return(Result) ;
lab6666: wakeuptermin () ;
fprintf( output , "%s\n", "(Fatal format file error; I'm stymied)" ) ;
Result = false ;
return(Result) ;
}
closefilesan () { r_closefilesan
integer k ;
for ( k = 0 ; k <= 15 ; k ++ )
if ( writeopen [ k ] )
aclose ( writefile [ k ] ) ;
#ifdef STAT
if ( eqtb [ 5298 ] .cint > 0 )
if ( jobname > 0 )
{
fprintf( logfile , "%c\n", ' ' ) ;
fprintf( logfile , "%s%s\n", "Here is how much of TeX's memory" , " you used:" ) ;
fprintf( logfile , "%c%ld%s", ' ' , (long)(strptr - initstrptr) , " string" ) ;
if ( strptr != initstrptr + 1 )
putc( 's' , logfile );
fprintf( logfile , "%s%ld\n", " out of " , (long)(maxstrings - initstrptr) ) ;
fprintf( logfile , "%c%ld%s%ld\n", ' ' ,(long)( poolptr - initpoolptr) , " string characters out of " , (long)(poolsize - initpoolptr) ) ;
fprintf( logfile , "%c%ld%s%ld\n", ' ' ,
(long)(lomemmax - memmin + memend - himemmin) + 2 ,
" words of memory out of " , (long)(memend + 1 - memmin) ) ;
fprintf( logfile , "%c%ld%s%ld\n", ' ' , (long)cscount ,
" multiletter control sequences out of " , 3000L ) ;
fprintf( logfile , "%c%ld%s%ld%s", ' ' , (long)fmemptr , " words of font info for " , (long)fontptr - 0 , " font" ) ;
if ( fontptr != 1 )
putc( 's' , logfile );
fprintf( logfile , "%s%ld%s%ld\n", ", out of " , (long)fontmemsize ,
" for " , (long)fontmax - 0 ) ;
fprintf( logfile , "%c%ld%s", ' ' ,(long) hyphcount , " hyphenation exception" ) ;
if ( hyphcount != 1 )
putc( 's' , logfile );
fprintf( logfile , "%s%d\n", " out of " , 307 ) ;
fprintf( logfile , "%c%ld%s%ld%s%ld%s%ld%s%ld%s%ld%s%ld%s%ld%s%ld%s%ld%c]",
' ' , (long)maxinstack , "i," ,(long) maxneststack , "n," , (long) maxparamstac , "p," ,
(long)maxbufstack + 1 , "b," ,(long) maxsavestack + 6 ,
"s stack positions out of " , (long)stacksize , "i," ,(long) nestsize , "n," ,
(long)paramsize , "p," , (long)bufsize , "b," , (long)savesize , 's' ) ;
}
#endif /* STAT */
wakeuptermin () ;
while ( curs > - 1 ) {
if ( curs > 0 )
{
dvibuf [ dviptr ] = 142 ;
incr ( dviptr ) ;
if ( dviptr == dvilimit )
dviswap () ;
}
else {
{
dvibuf [ dviptr ] = 140 ;
incr ( dviptr ) ;
if ( dviptr == dvilimit )
dviswap () ;
}
incr ( totalpages ) ;
}
decr ( curs ) ;
}
if ( totalpages == 0 )
printnl ( 690 ) ;
else {
{
dvibuf [ dviptr ] = 248 ;
incr ( dviptr ) ;
if ( dviptr == dvilimit )
dviswap () ;
}
dvifour ( lastbop ) ;
lastbop = dvioffset + dviptr - 5 ;
dvifour ( 25400000 ) ;
dvifour ( 473628672 ) ;
preparemag () ;
dvifour ( eqtb [ 5284 ] .cint ) ;
dvifour ( maxv ) ;
dvifour ( maxh ) ;
{
dvibuf [ dviptr ] = maxpush / 256 ;
incr ( dviptr ) ;
if ( dviptr == dvilimit )
dviswap () ;
}
{
dvibuf [ dviptr ] = maxpush % 256 ;
incr ( dviptr ) ;
if ( dviptr == dvilimit )
dviswap () ;
}
{
dvibuf [ dviptr ] = totalpages / 256 ;
incr ( dviptr ) ;
if ( dviptr == dvilimit )
dviswap () ;
}
{
dvibuf [ dviptr ] = totalpages % 256 ;
incr ( dviptr ) ;
if ( dviptr == dvilimit )
dviswap () ;
}
while ( fontptr > 0 ) {
if ( fontused [ fontptr ] )
dvifontdef ( fontptr ) ;
decr ( fontptr ) ;
}
{
dvibuf [ dviptr ] = 249 ;
incr ( dviptr ) ;
if ( dviptr == dvilimit )
dviswap () ;
}
dvifour ( lastbop ) ;
{
dvibuf [ dviptr ] = 2 ;
incr ( dviptr ) ;
if ( dviptr == dvilimit )
dviswap () ;
}
k = 4 + ( ( dvibufsize - dviptr ) % 4 ) ;
while ( k > 0 ) {
{
dvibuf [ dviptr ] = 223 ;
incr ( dviptr ) ;
if ( dviptr == dvilimit )
dviswap () ;
}
decr ( k ) ;
}
#ifdef VMS
if((k=dviptr % 512) >0){
k = 512-k;
while ( k > 0 ) {
{
dvibuf [ dviptr ] = 223 ;
incr ( dviptr ) ;
if ( dviptr == dvilimit )
dviswap () ;
}
decr ( k ) ;
}
}
#endif /* vms */
if ( dvilimit == halfbuf )
writedvi ( halfbuf , dvibufsize - 1 ) ;
if ( dviptr > 0 )
writedvi ( 0 , dviptr - 1 ) ;
printnl ( 691 ) ;
print ( outputfilena ) ;
print ( 155 ) ;
printint ( totalpages ) ;
print ( 692 ) ;
if ( totalpages != 1 )
printchar ( 115 ) ;
print ( 693 ) ;
printint ( dvioffset + dviptr ) ;
print ( 694 ) ;
bclose ( dvifile ) ;
}
if ( jobname > 0 )
{
putc('\n', logfile );
aclose ( logfile ) ;
selector = selector - 2 ;
if ( selector == 17 )
{
printnl ( 1120 ) ;
print ( logname ) ;
printchar ( 46 ) ;
}
}
println () ;
if ( ( editnamestar != 0 ) && ( interaction > 0 ) )
calledit ( strpool , editnamestar , editnameleng , editline ) ;
}
finalcleanup () { /* 10 */ r_finalcleanup
smallnumber c ;
c = curchr ;
if ( jobname == 0 )
openlogfile () ;
if ( curlevel > 1 )
{
printnl ( 40 ) ;
printesc ( 1121 ) ;
print ( 1122 ) ;
printint ( curlevel - 1 ) ;
printchar ( 41 ) ;
}
while ( condptr != 0 ) {
printnl ( 40 ) ;
printesc ( 1121 ) ;
print ( 1123 ) ;
printcmdchr ( 104 , curif ) ;
if ( ifline != 0 )
{
print ( 1124 ) ;
printint ( ifline ) ;
}
print ( 1125 ) ;
ifline = mem [(long) condptr + 1 ] .cint ;
curif = mem [(long) condptr ] .hh.b1 ;
condptr = mem [(long) condptr ] .hh .v.RH ;
}
if ( history != 0 )
if ( ( ( history == 1 ) || ( interaction < 3 ) ) )
if ( selector == 19 )
{
selector = 17 ;
printnl ( 1126 ) ;
selector = 19 ;
}
if ( c == 1 )
{
#ifdef INITEX
storefmtfile () ;
return ;
#endif /* INITEX */
printnl ( 1127 ) ;
return ;
}
}
#ifdef INITEX
initprim () { r_initprim
nonewcontrol = false ;
primitive ( 241 , 74 , 3526 ) ;
primitive ( 242 , 74 , 3527 ) ;
primitive ( 243 , 74 , 3528 ) ;
primitive ( 244 , 74 , 3529 ) ;
primitive ( 245 , 74 , 3530 ) ;
primitive ( 246 , 74 , 3531 ) ;
primitive ( 247 , 74 , 3532 ) ;
primitive ( 248 , 74 , 3533 ) ;
primitive ( 249 , 74 , 3534 ) ;
primitive ( 250 , 74 , 3535 ) ;
primitive ( 251 , 74 , 3536 ) ;
primitive ( 252 , 74 , 3537 ) ;
primitive ( 253 , 74 , 3538 ) ;
primitive ( 254 , 74 , 3539 ) ;
primitive ( 255 , 74 , 3540 ) ;
primitive ( 256 , 75 , 3541 ) ;
primitive ( 257 , 75 , 3542 ) ;
primitive ( 258 , 75 , 3543 ) ;
primitive ( 263 , 71 , 4057 ) ;
primitive ( 264 , 71 , 4058 ) ;
primitive ( 265 , 71 , 4059 ) ;
primitive ( 266 , 71 , 4060 ) ;
primitive ( 267 , 71 , 4061 ) ;
primitive ( 268 , 71 , 4062 ) ;
primitive ( 269 , 71 , 4063 ) ;
primitive ( 270 , 71 , 4064 ) ;
primitive ( 271 , 71 , 4065 ) ;
primitive ( 285 , 72 , 5267 ) ;
primitive ( 286 , 72 , 5268 ) ;
primitive ( 287 , 72 , 5269 ) ;
primitive ( 288 , 72 , 5270 ) ;
primitive ( 289 , 72 , 5271 ) ;
primitive ( 290 , 72 , 5272 ) ;
primitive ( 291 , 72 , 5273 ) ;
primitive ( 292 , 72 , 5274 ) ;
primitive ( 293 , 72 , 5275 ) ;
primitive ( 294 , 72 , 5276 ) ;
primitive ( 295 , 72 , 5277 ) ;
primitive ( 296 , 72 , 5278 ) ;
primitive ( 297 , 72 , 5279 ) ;
primitive ( 298 , 72 , 5280 ) ;
primitive ( 299 , 72 , 5281 ) ;
primitive ( 300 , 72 , 5282 ) ;
primitive ( 301 , 72 , 5283 ) ;
primitive ( 302 , 72 , 5284 ) ;
primitive ( 303 , 72 , 5285 ) ;
primitive ( 304 , 72 , 5286 ) ;
primitive ( 305 , 72 , 5287 ) ;
primitive ( 306 , 72 , 5288 ) ;
primitive ( 307 , 72 , 5289 ) ;
primitive ( 308 , 72 , 5290 ) ;
primitive ( 309 , 72 , 5291 ) ;
primitive ( 310 , 72 , 5292 ) ;
primitive ( 311 , 72 , 5293 ) ;
primitive ( 312 , 72 , 5294 ) ;
primitive ( 313 , 72 , 5295 ) ;
primitive ( 314 , 72 , 5296 ) ;
primitive ( 315 , 72 , 5297 ) ;
primitive ( 316 , 72 , 5298 ) ;
primitive ( 317 , 72 , 5299 ) ;
primitive ( 318 , 72 , 5300 ) ;
primitive ( 319 , 72 , 5301 ) ;
primitive ( 320 , 72 , 5302 ) ;
primitive ( 321 , 72 , 5303 ) ;
primitive ( 322 , 72 , 5304 ) ;
primitive ( 323 , 72 , 5305 ) ;
primitive ( 324 , 72 , 5306 ) ;
primitive ( 325 , 72 , 5307 ) ;
primitive ( 326 , 72 , 5308 ) ;
primitive ( 327 , 72 , 5309 ) ;
primitive ( 328 , 72 , 5310 ) ;
primitive ( 329 , 72 , 5311 ) ;
primitive ( 330 , 72 , 5312 ) ;
primitive ( 331 , 72 , 5313 ) ;
primitive ( 332 , 72 , 5314 ) ;
primitive ( 333 , 72 , 5315 ) ;
primitive ( 334 , 72 , 5316 ) ;
primitive ( 338 , 73 , 5701 ) ;
primitive ( 339 , 73 , 5702 ) ;
primitive ( 340 , 73 , 5703 ) ;
primitive ( 341 , 73 , 5704 ) ;
primitive ( 342 , 73 , 5705 ) ;
primitive ( 343 , 73 , 5706 ) ;
primitive ( 344 , 73 , 5707 ) ;
primitive ( 345 , 73 , 5708 ) ;
primitive ( 346 , 73 , 5709 ) ;
primitive ( 347 , 73 , 5710 ) ;
primitive ( 348 , 73 , 5711 ) ;
primitive ( 349 , 73 , 5712 ) ;
primitive ( 350 , 73 , 5713 ) ;
primitive ( 351 , 73 , 5714 ) ;
primitive ( 352 , 73 , 5715 ) ;
primitive ( 353 , 73 , 5716 ) ;
primitive ( 354 , 73 , 5717 ) ;
primitive ( 355 , 73 , 5718 ) ;
primitive ( 356 , 73 , 5719 ) ;
primitive ( 357 , 73 , 5720 ) ;
primitive ( 32 , 64 , 0 ) ;
primitive ( 47 , 44 , 0 ) ;
primitive ( 367 , 45 , 0 ) ;
primitive ( 368 , 89 , 0 ) ;
primitive ( 369 , 40 , 0 ) ;
primitive ( 370 , 41 , 0 ) ;
primitive ( 371 , 61 , 0 ) ;
primitive ( 372 , 16 , 0 ) ;
primitive ( 363 , 106 , 0 ) ;
primitive ( 373 , 15 , 0 ) ;
primitive ( 374 , 91 , 0 ) ;
primitive ( 364 , 66 , 0 ) ;
primitive ( 375 , 62 , 0 ) ;
hash [ 3260 ] .v.RH = 375 ;
eqtb [ 3260 ] = eqtb [ curval ] ;
primitive ( 376 , 101 , 0 ) ;
primitive ( 377 , 87 , 0 ) ;
primitive ( 378 , 76 , 0 ) ;
primitive ( 379 , 32 , 0 ) ;
primitive ( 380 , 36 , 0 ) ;
primitive ( 381 , 39 , 0 ) ;
primitive ( 198 , 37 , 0 ) ;
primitive ( 219 , 18 , 0 ) ;
primitive ( 382 , 46 , 0 ) ;
primitive ( 383 , 17 , 0 ) ;
primitive ( 384 , 54 , 0 ) ;
primitive ( 385 , 90 , 0 ) ;
primitive ( 386 , 34 , 0 ) ;
primitive ( 387 , 102 , 0 ) ;
primitive ( 203 , 55 , 0 ) ;
primitive ( 388 , 63 , 0 ) ;
primitive ( 273 , 83 , 0 ) ;
primitive ( 389 , 42 , 0 ) ;
primitive ( 390 , 79 , 0 ) ;
primitive ( 391 , 65 , 0 ) ;
primitive ( 392 , 95 , 0 ) ;
primitive ( 393 , 0 , 256 ) ;
hash [ 3265 ] .v.RH = 393 ;
eqtb [ 3265 ] = eqtb [ curval ] ;
primitive ( 394 , 97 , 0 ) ;
primitive ( 395 , 108 , 0 ) ;
primitive ( 272 , 70 , 0 ) ;
primitive ( 220 , 38 , 0 ) ;
primitive ( 396 , 33 , 0 ) ;
primitive ( 397 , 56 , 0 ) ;
primitive ( 398 , 35 , 0 ) ;
primitive ( 455 , 13 , 0 ) ;
parloc = curval ;
partoken = 4096 + parloc ;
primitive ( 487 , 103 , 0 ) ;
primitive ( 488 , 103 , 1 ) ;
primitive ( 489 , 109 , 0 ) ;
primitive ( 490 , 109 , 1 ) ;
primitive ( 491 , 109 , 2 ) ;
primitive ( 492 , 109 , 3 ) ;
primitive ( 493 , 109 , 4 ) ;
primitive ( 336 , 88 , 0 ) ;
primitive ( 359 , 88 , 1 ) ;
primitive ( 260 , 88 , 2 ) ;
primitive ( 261 , 88 , 3 ) ;
primitive ( 526 , 78 , 101 ) ;
primitive ( 527 , 78 , 1 ) ;
primitive ( 528 , 81 , 0 ) ;
primitive ( 529 , 81 , 1 ) ;
primitive ( 530 , 82 , 1 ) ;
primitive ( 531 , 82 , 3 ) ;
primitive ( 532 , 82 , 2 ) ;
primitive ( 533 , 69 , 0 ) ;
primitive ( 534 , 69 , 1 ) ;
primitive ( 535 , 69 , 2 ) ;
primitive ( 592 , 107 , 0 ) ;
primitive ( 593 , 107 , 1 ) ;
primitive ( 594 , 107 , 2 ) ;
primitive ( 595 , 107 , 3 ) ;
primitive ( 596 , 107 , 4 ) ;
primitive ( 597 , 107 , 5 ) ;
primitive ( 613 , 104 , 0 ) ;
primitive ( 614 , 104 , 1 ) ;
primitive ( 615 , 104 , 2 ) ;
primitive ( 616 , 104 , 3 ) ;
primitive ( 617 , 104 , 4 ) ;
primitive ( 618 , 104 , 5 ) ;
primitive ( 619 , 104 , 6 ) ;
primitive ( 620 , 104 , 7 ) ;
primitive ( 621 , 104 , 8 ) ;
primitive ( 622 , 104 , 9 ) ;
primitive ( 623 , 104 , 10 ) ;
primitive ( 624 , 104 , 11 ) ;
primitive ( 625 , 104 , 12 ) ;
primitive ( 626 , 104 , 13 ) ;
primitive ( 627 , 104 , 14 ) ;
primitive ( 628 , 104 , 15 ) ;
primitive ( 629 , 104 , 16 ) ;
primitive ( 630 , 105 , 2 ) ;
hash [ 3262 ] .v.RH = 630 ;
eqtb [ 3262 ] = eqtb [ curval ] ;
primitive ( 631 , 105 , 4 ) ;
primitive ( 632 , 105 , 3 ) ;
primitive ( 654 , 86 , 0 ) ;
hash [ 3268 ] .v.RH = 654 ;
eqtb [ 3268 ] = eqtb [ curval ] ;
primitive ( 751 , 4 , 128 ) ;
primitive ( 752 , 5 , 129 ) ;
hash [ 3259 ] .v.RH = 752 ;
eqtb [ 3259 ] = eqtb [ curval ] ;
primitive ( 753 , 5 , 130 ) ;
hash [ 3263 ] .v.RH = 754 ;
hash [ 3264 ] .v.RH = 754 ;
eqtb [ 3264 ] .hh.b0 = 9 ;
eqtb [ 3264 ] .hh .v.RH = memtop - 11 ;
eqtb [ 3264 ] .hh.b1 = 1 ;
eqtb [ 3263 ] = eqtb [ 3264 ] ;
eqtb [ 3263 ] .hh.b0 = 114 ;
primitive ( 818 , 80 , 0 ) ;
primitive ( 819 , 80 , 1 ) ;
primitive ( 820 , 80 , 2 ) ;
primitive ( 821 , 80 , 3 ) ;
primitive ( 822 , 80 , 4 ) ;
primitive ( 823 , 80 , 5 ) ;
primitive ( 824 , 80 , 6 ) ;
primitive ( 825 , 80 , 7 ) ;
primitive ( 873 , 14 , 0 ) ;
primitive ( 874 , 14 , 1 ) ;
primitive ( 875 , 26 , 4 ) ;
primitive ( 876 , 26 , 0 ) ;
primitive ( 877 , 26 , 1 ) ;
primitive ( 878 , 26 , 2 ) ;
primitive ( 879 , 26 , 3 ) ;
primitive ( 880 , 27 , 4 ) ;
primitive ( 881 , 27 , 0 ) ;
primitive ( 882 , 27 , 1 ) ;
primitive ( 883 , 27 , 2 ) ;
primitive ( 884 , 27 , 3 ) ;
primitive ( 204 , 28 , 5 ) ;
primitive ( 208 , 29 , 1 ) ;
primitive ( 210 , 30 , 99 ) ;
primitive ( 902 , 21 , 1 ) ;
primitive ( 903 , 21 , 0 ) ;
primitive ( 904 , 22 , 1 ) ;
primitive ( 905 , 22 , 0 ) ;
primitive ( 274 , 20 , 0 ) ;
primitive ( 906 , 20 , 1 ) ;
primitive ( 907 , 20 , 2 ) ;
primitive ( 813 , 20 , 3 ) ;
primitive ( 908 , 20 , 4 ) ;
primitive ( 815 , 20 , 5 ) ;
primitive ( 909 , 20 , 105 ) ;
primitive ( 910 , 31 , 99 ) ;
primitive ( 911 , 31 , 100 ) ;
primitive ( 912 , 31 , 101 ) ;
primitive ( 913 , 31 , 102 ) ;
primitive ( 928 , 43 , 1 ) ;
primitive ( 929 , 43 , 0 ) ;
primitive ( 938 , 25 , 12 ) ;
primitive ( 939 , 25 , 11 ) ;
primitive ( 940 , 25 , 10 ) ;
primitive ( 941 , 23 , 0 ) ;
primitive ( 942 , 23 , 1 ) ;
primitive ( 943 , 24 , 0 ) ;
primitive ( 944 , 24 , 1 ) ;
primitive ( 45 , 47 , 1 ) ;
primitive ( 217 , 47 , 0 ) ;
primitive ( 975 , 48 , 0 ) ;
primitive ( 976 , 48 , 1 ) ;
primitive ( 719 , 50 , 16 ) ;
primitive ( 720 , 50 , 17 ) ;
primitive ( 721 , 50 , 18 ) ;
primitive ( 722 , 50 , 19 ) ;
primitive ( 723 , 50 , 20 ) ;
primitive ( 724 , 50 , 21 ) ;
primitive ( 725 , 50 , 22 ) ;
primitive ( 726 , 50 , 23 ) ;
primitive ( 728 , 50 , 26 ) ;
primitive ( 727 , 50 , 27 ) ;
primitive ( 977 , 51 , 0 ) ;
primitive ( 731 , 51 , 1 ) ;
primitive ( 732 , 51 , 2 ) ;
primitive ( 714 , 53 , 0 ) ;
primitive ( 715 , 53 , 2 ) ;
primitive ( 716 , 53 , 4 ) ;
primitive ( 717 , 53 , 6 ) ;
primitive ( 995 , 52 , 0 ) ;
primitive ( 996 , 52 , 1 ) ;
primitive ( 997 , 52 , 2 ) ;
primitive ( 998 , 52 , 3 ) ;
primitive ( 999 , 52 , 4 ) ;
primitive ( 1000 , 52 , 5 ) ;
primitive ( 729 , 49 , 30 ) ;
primitive ( 730 , 49 , 31 ) ;
hash [ 3261 ] .v.RH = 730 ;
eqtb [ 3261 ] = eqtb [ curval ] ;
primitive ( 1019 , 92 , 1 ) ;
primitive ( 1020 , 92 , 2 ) ;
primitive ( 1021 , 92 , 4 ) ;
primitive ( 1022 , 96 , 0 ) ;
primitive ( 1023 , 96 , 1 ) ;
primitive ( 1024 , 96 , 2 ) ;
primitive ( 1025 , 96 , 3 ) ;
primitive ( 1039 , 93 , 0 ) ;
primitive ( 1040 , 93 , 1 ) ;
primitive ( 1041 , 94 , 0 ) ;
primitive ( 1042 , 94 , 1 ) ;
primitive ( 1043 , 94 , 2 ) ;
primitive ( 1044 , 94 , 3 ) ;
primitive ( 1045 , 94 , 4 ) ;
primitive ( 1046 , 94 , 5 ) ;
primitive ( 1047 , 94 , 6 ) ;
primitive ( 280 , 84 , 4627 ) ;
primitive ( 284 , 84 , 5139 ) ;
primitive ( 281 , 84 , 4755 ) ;
primitive ( 282 , 84 , 4883 ) ;
primitive ( 283 , 84 , 5011 ) ;
primitive ( 337 , 84 , 5573 ) ;
primitive ( 277 , 85 , 4579 ) ;
primitive ( 278 , 85 , 4595 ) ;
primitive ( 279 , 85 , 4611 ) ;
primitive ( 793 , 98 , 0 ) ;
primitive ( 803 , 98 , 1 ) ;
primitive ( 1063 , 77 , 0 ) ;
primitive ( 1064 , 77 , 1 ) ;
primitive ( 143 , 99 , 0 ) ;
primitive ( 144 , 99 , 1 ) ;
primitive ( 145 , 99 , 2 ) ;
primitive ( 1073 , 99 , 3 ) ;
primitive ( 1074 , 60 , 1 ) ;
primitive ( 1075 , 60 , 0 ) ;
primitive ( 1076 , 58 , 0 ) ;
primitive ( 1077 , 58 , 1 ) ;
primitive ( 1083 , 57 , 4755 ) ;
primitive ( 1084 , 57 , 4883 ) ;
primitive ( 1085 , 19 , 0 ) ;
primitive ( 1086 , 19 , 1 ) ;
primitive ( 1087 , 19 , 2 ) ;
primitive ( 1088 , 19 , 3 ) ;
primitive ( 1129 , 59 , 0 ) ;
primitive ( 452 , 59 , 1 ) ;
writeloc = curval ;
primitive ( 1130 , 59 , 2 ) ;
primitive ( 1131 , 59 , 3 ) ;
primitive ( 1132 , 59 , 4 ) ;
nonewcontrol = true ;
}
#endif /* INITEX */
#ifdef DEBUG
debughelp () { /* 888 10 */ r_debughelp
integer k, l, m, n ;
while ( true ) {
wakeuptermin () ;
printnl ( 1128 ) ;
termflush ( output ) ;
m = getint();
if ( m < 0 )
return ;
else if ( m == 0 )
dumpcore () ;
else {
n = getint();
switch ( m )
{case 1 :
printword ( mem [(long) n ] ) ;
break ;
case 2 :
printint ( mem [(long) n ] .hh .v.LH ) ;
break ;
case 3 :
printint ( mem [(long) n ] .hh .v.RH ) ;
break ;
case 4 :
printword ( eqtb [ n ] ) ;
break ;
case 5 :
printword ( fontinfo [ n ] ) ;
break ;
case 6 :
printword ( savestack [ n ] ) ;
break ;
case 7 :
showbox ( n ) ;
break ;
case 8 :
{
breadthmax = 10000 ;
depththresho = poolsize - poolptr - 10 ;
shownodelist ( n ) ;
}
break ;
case 9 :
showtokenlis ( n , 0 , 1000 ) ;
break ;
case 10 :
print ( n ) ;
break ;
case 11 :
checkmem ( n > 0 ) ;
break ;
case 12 :
searchmem ( n ) ;
break ;
case 13 :
{
l = getint();
printcmdchr ( n , l ) ;
}
break ;
case 14 :
for ( k = 0 ; k <= n ; k ++ )
print ( buffer [ k ] ) ;
break ;
case 15 :
{
fontinshortd = 0 ;
shortdisplay ( n ) ;
}
break ;
case 16 :
panicking = ! panicking ;
break ;
default :
print ( 63 ) ;
break ;
}
}
}
}
#endif /* DEBUG */
texbody () { /* 1 9998 9999 */ r_texbody
integer bufindx ;
/* printf("eqtb a3 %lx %lx\n",(long)zeqtb,(long)eqtb);*/
history = 3 ;
setpaths () ;
if ( readyalready == 314159 )
goto lab1 ;
bad = 0 ;
if ( ( halferrorlin < 30 ) || ( halferrorlin > errorline - 15 ) )
bad = 1 ;
if ( maxprintline < 60 )
bad = 2 ;
if ( dvibufsize % 8 != 0 )
bad = 3 ;
if ( 1100 > memtop )
bad = 4 ;
if ( 2551 > 3000 )
bad = 5 ;
if ( maxinopen >= 128 )
bad = 6 ;
#ifdef INITEX
if ( ( memmin != 0 ) || ( memmax != memtop ) )
bad = 10 ;
#endif /* INITEX */
if ( ( memmin > 0 ) || ( memmax < memtop ) )
bad = 10 ;
if ( ( 0 > 0 ) || ( 255 < 127 ) )
bad = 11 ;
if ( ( 0 > 0 ) || ( 65535L < 32767 ) )
bad = 12 ;
if ( ( 0 < 0 ) || ( 255 > 65535L ) )
bad = 13 ;
if ( ( memmin < 0 ) || ( memmax >= 65535L ) || ( - 0 - memmin > 65536L ) )
bad = 14 ;
if ( ( 0 < 0 ) || ( fontmax > 255 ) )
bad = 15 ;
if ( fontmax > 256 )
bad = 16 ;
if ( ( savesize > 65535L ) || ( maxstrings > 65535L ) )
bad = 17 ;
if ( bufsize > 65535L )
bad = 18 ;
if ( 255 < 255 )
bad = 19 ;
if ( 7621 > 65535L )
bad = 21 ;
if ( 9 > filenamesize )
bad = 31 ;
if ( 2 * 65535L < memtop - memmin )
bad = 41 ;
if ( bad > 0 )
{
fprintf( output , "%s%s%ld\n", "Ouch---my internal constants have been clobbered!" , "---case " , bad ) ;
goto lab9999 ;
}
/*printf(" initialize eqtb a3 %lx %lx\n",(long)zeqtb,(long)eqtb);*/
initialize () ;
#ifdef INITEX
/*printf(" getstring eqtb a3 %lx %lx\n",(long)zeqtb,(long)eqtb);*/
if ( ! getstringsst () )
goto lab9999 ;
/*printf("initprim eqtb a3 %lx %lx\n",(long)zeqtb,(long)eqtb);*/
initprim () ;
/*printf(" after initprim eqtb a3 %lx %lx\n",(long)zeqtb,(long)eqtb);*/
#endif /* INITEX */
readyalready = 314159 ;
lab1: selector = 17 ;
tally = 0 ;
termoffset = 0 ;
fileoffset = 0 ;
Fputs( output , "This is TeX, C Version 2.9" ) ;
if ( formatident == 0 )
fprintf( output , "%s\n", " (no format preloaded)" ) ;
else {
print ( formatident ) ;
println () ;
}
/*printf("termflush eqtb a3 %lx %lx\n",(long)zeqtb,(long)eqtb);*/
termflush ( output ) ;
jobname = 0 ;
nameinprogre = false ;
outputfilena = 0 ;
{
{
inputptr = 0 ;
maxinstack = 0 ;
inopen = 0 ;
maxbufstack = 0 ;
paramptr = 0 ;
maxparamstac = 0 ;
bufindx = bufsize ;
do { buffer [ bufindx ] = 0 ;
decr ( bufindx ) ;
} while ( ! ( bufindx == 0 ) ) ;
scannerstatu = 0 ;
warningindex = 0 ;
first = 1 ;
curinput .statefield = 33 ;
curinput .startfield = 1 ;
curinput .indexfield = 0 ;
line = 0 ;
curinput .namefield = 0 ;
forceeof = false ;
alignstate = 1000000 ;
if ( ! initterminal () )
goto lab9999 ;
curinput .limitfield = last ;
first = last + 1 ;
}
if ( ( formatident == 0 ) || ( buffer [ curinput .locfield ] == 38 ) )
{
if ( formatident != 0 )
initialize () ;
if ( ! openfmtfile () )
goto lab9999 ;
if ( ! loadfmtfile () )
{
wclose ( fmtfile ) ;
goto lab9999 ;
}
wclose ( fmtfile ) ;
while ( ( curinput .locfield < curinput .limitfield ) && ( buffer [
curinput .locfield ] == 32 ) ) incr ( curinput .locfield ) ;
}
/*printf("eqtb a3 %lx %lx\n",(long)zeqtb,(long)eqtb);*/
if ( ( eqtb [ 5315 ] .cint < 0 ) || ( eqtb [ 5315 ] .cint > 127 ) )
decr ( curinput .limitfield ) ;
else buffer [ curinput .limitfield ] = eqtb [ 5315 ] .cint ;
dateandtime ( eqtb [ 5287 ] .cint , eqtb [ 5288 ] .cint , eqtb [ 5289 ]
.cint , eqtb [ 5290 ] .cint ) ;
magicoffset = strstart [ 745 ] - 9 * 16 ;
if ( interaction == 0 )
selector = 16 ;
else selector = 17 ;
if ( ( curinput .locfield < curinput .limitfield ) && ( eqtb [ 4627 +
buffer [ curinput .locfield ] ] .hh .v.RH != 0 ) )
startinput () ;
}
initstrptr = strptr ;
initpoolptr = poolptr ;
history = 0 ;
maincontrol () ;
finalcleanup () ;
lab9998: closefilesan () ;
lab9999: {
termflush ( output ) ;
readyalready = 0 ;
if ( ( history != 0 ) && ( history != 1 ) )
uexit ( 1 ) ;
else uexit ( 0 ) ;
}
}