home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Atari FTP
/
ATARI_FTP_0693.zip
/
ATARI_FTP_0693
/
Tex
/
texsrc.arc
/
TEX3.C
< prev
next >
Wrap
C/C++ Source or Header
|
1988-09-14
|
44KB
|
2,018 lines
overlay "tex3"
#define EXTERN extern
#include "texd.h"
scancharnum () { r_scancharnum
scanint () ;
if ( ( curval < 0 ) || ( curval > 255 ) )
{
{
if ( interaction == 3 )
wakeuptermin () ;
printnl ( 133 ) ;
print ( 543 ) ;
}
{
helpptr = 2 ;
helpline [ 1 ] = 550 ;
helpline [ 0 ] = 545 ;
}
interror ( curval ) ;
curval = 0 ;
}
}
scanfifteenb () { r_scanfifteenb
scanint () ;
if ( ( curval < 0 ) || ( curval > 32767 ) )
{
{
if ( interaction == 3 )
wakeuptermin () ;
printnl ( 133 ) ;
print ( 551 ) ;
}
{
helpptr = 2 ;
helpline [ 1 ] = 552 ;
helpline [ 0 ] = 545 ;
}
interror ( curval ) ;
curval = 0 ;
}
}
scantwentyse () { r_scantwentyse
scanint () ;
if ( ( curval < 0 ) || ( curval > 134217727 ) )
{
{
if ( interaction == 3 )
wakeuptermin () ;
printnl ( 133 ) ;
print ( 553 ) ;
}
{
helpptr = 2 ;
helpline [ 1 ] = 554 ;
helpline [ 0 ] = 545 ;
}
interror ( curval ) ;
curval = 0 ;
}
}
scanfontiden () { r_scanfontiden
internalfont f ;
halfword m ;
do { getxtoken () ;
} while ( ! ( curcmd != 10 ) ) ;
if ( curcmd == 87 )
f = eqtb [ 4578 ] .hh .v.RH ;
else if ( curcmd == 86 )
f = curchr ;
else if ( curcmd == 85 )
{
m = curchr ;
scanfourbiti () ;
f = eqtb [ m + curval ] .hh .v.RH ;
}
else {
{
if ( interaction == 3 )
wakeuptermin () ;
printnl ( 133 ) ;
print ( 670 ) ;
}
{
helpptr = 2 ;
helpline [ 1 ] = 671 ;
helpline [ 0 ] = 672 ;
}
backerror () ;
f = 0 ;
}
curval = f ;
}
zfindfontdime ( writing )
boolean writing ;
{r_findfontdime
internalfont f ;
integer n ;
scanint () ;
n = curval ;
scanfontiden () ;
f = curval ;
if ( n <= 0 )
curval = fmemptr ;
else {
if ( writing && ( n <= 4 ) && ( n >= 2 ) && ( fontglue [ f ] != 0 ) )
{
deletegluere ( fontglue [ f ] ) ;
fontglue [ f ] = 0 ;
}
if ( n > fontparams [ f ] )
if ( f < fontptr )
curval = fmemptr ;
else {
do { if ( fmemptr == fontmemsize )
overflow ( 677 , fontmemsize ) ;
fontinfo [ fmemptr ] .cint = 0 ;
incr ( fmemptr ) ;
incr ( fontparams [ f ] ) ;
} while ( ! ( n == fontparams [ f ] ) ) ;
curval = fmemptr - 1 ;
}
else curval = n + parambase [ f ] ;
}
if ( curval == fmemptr )
{
{
if ( interaction == 3 )
wakeuptermin () ;
printnl ( 133 ) ;
print ( 655 ) ;
}
printesc ( hash [ 3268 + f ] .v.RH ) ;
print ( 673 ) ;
printint ( fontparams [ f ] ) ;
print ( 674 ) ;
{
helpptr = 2 ;
helpline [ 1 ] = 675 ;
helpline [ 0 ] = 676 ;
}
error () ;
}
}
zscansomethin ( level , negative )
smallnumber level ;
boolean negative ;
{r_scansomethin
halfword m ;
integer p ;
m = curchr ;
switch ( curcmd )
{case 84 :
{
scansevenbit () ;
if ( m == 5139 )
{
curval = eqtb [ 5139 + curval ] .hh .v.RH ;
curvallevel = 0 ;
}
else if ( m < 5139 )
{
curval = eqtb [ m + curval ] .hh .v.RH ;
curvallevel = 0 ;
}
else {
curval = eqtb [ m + curval ] .cint ;
curvallevel = 0 ;
}
}
break ;
case 70 :
case 71 :
case 85 :
case 86 :
case 87 :
if ( level != 5 )
{
{
if ( interaction == 3 )
wakeuptermin () ;
printnl ( 133 ) ;
print ( 522 ) ;
}
{
helpptr = 3 ;
helpline [ 2 ] = 523 ;
helpline [ 1 ] = 524 ;
helpline [ 0 ] = 525 ;
}
backerror () ;
{
curval = 0 ;
curvallevel = 1 ;
}
}
else if ( curcmd <= 71 )
{
if ( curcmd < 71 )
{
scaneightbit () ;
m = 4066 + curval ;
}
{
curval = eqtb [ m ] .hh .v.RH ;
curvallevel = 5 ;
}
}
else {
backinput () ;
scanfontiden () ;
{
curval = 3268 + curval ;
curvallevel = 4 ;
}
}
break ;
case 72 :
{
curval = eqtb [ m ] .cint ;
curvallevel = 0 ;
}
break ;
case 73 :
{
curval = eqtb [ m ] .cint ;
curvallevel = 1 ;
}
break ;
case 74 :
{
curval = eqtb [ m ] .hh .v.RH ;
curvallevel = 2 ;
}
break ;
case 75 :
{
curval = eqtb [ m ] .hh .v.RH ;
curvallevel = 3 ;
}
break ;
case 78 :
if ( abs ( curlist .modefield ) != m )
{
{
if ( interaction == 3 )
wakeuptermin () ;
printnl ( 133 ) ;
print ( 536 ) ;
}
printcmdchr ( 78 , m ) ;
{
helpptr = 4 ;
helpline [ 3 ] = 537 ;
helpline [ 2 ] = 538 ;
helpline [ 1 ] = 539 ;
helpline [ 0 ] = 540 ;
}
error () ;
if ( level != 5 )
{
curval = 0 ;
curvallevel = 1 ;
}
else {
curval = 0 ;
curvallevel = 0 ;
}
}
else {
curval = curlist .auxfield ;
if ( m == 1 )
curvallevel = 1 ;
else curvallevel = 0 ;
}
break ;
case 79 :
{
nest [ nestptr ] = curlist ;
p = nestptr ;
while ( abs ( nest [ p ] .modefield ) != 1 ) decr ( p ) ;
{
curval = nest [ p ] .pgfield ;
curvallevel = 0 ;
}
}
break ;
case 81 :
{
if ( m == 0 )
curval = deadcycles ;
else curval = insertpenalt ;
curvallevel = 0 ;
}
break ;
case 80 :
{
if ( pagecontents == 0 )
if ( m == 0 )
curval = 1073741823 ;
else curval = 0 ;
else curval = pagesofar [ m ] ;
curvallevel = 1 ;
}
break ;
case 83 :
{
if ( eqtb [ 4056 ] .hh .v.RH == 0 )
curval = 0 ;
else curval = mem [(long) eqtb [ 4056 ] .hh .v.RH ] .hh .v.LH ;
curvallevel = 0 ;
}
break ;
case 82 :
{
scaneightbit () ;
if ( eqtb [ 4322 + curval ] .hh .v.RH == 0 )
curval = 0 ;
else curval = mem [(long) eqtb [ 4322 + curval ] .hh .v.RH + m ] .cint ;
curvallevel = 1 ;
}
break ;
case 67 :
case 68 :
{
curval = curchr ;
curvallevel = 0 ;
}
break ;
case 76 :
{
findfontdime ( false ) ;
fontinfo [ fmemptr ] .cint = 0 ;
{
curval = fontinfo [ curval ] .cint ;
curvallevel = 1 ;
}
}
break ;
case 77 :
{
scanfontiden () ;
if ( m == 0 )
{
curval = hyphenchar [ curval ] ;
curvallevel = 0 ;
}
else {
curval = skewchar [ curval ] ;
curvallevel = 0 ;
}
}
break ;
case 88 :
{
scaneightbit () ;
switch ( m )
{case 0 :
curval = eqtb [ 5317 + curval ] .cint ;
break ;
case 1 :
curval = eqtb [ 5721 + curval ] .cint ;
break ;
case 2 :
curval = eqtb [ 3544 + curval ] .hh .v.RH ;
break ;
case 3 :
curval = eqtb [ 3800 + curval ] .hh .v.RH ;
break ;
}
curvallevel = m ;
}
break ;
case 69 :
{
if ( curchr == 2 )
curval = 0 ;
else curval = 0 ;
curvallevel = curchr ;
if ( ! ( curlist .tailfield >= himemmin ) && ( curlist .modefield != 0 )
)
switch ( curchr )
{case 0 :
if ( mem [(long) curlist .tailfield ] .hh.b0 == 12 )
curval = mem [(long) curlist .tailfield + 1 ] .cint ;
break ;
case 1 :
if ( mem [(long) curlist .tailfield ] .hh.b0 == 11 )
curval = mem [(long) curlist .tailfield + 1 ] .cint ;
break ;
case 2 :
if ( mem [(long) curlist .tailfield ] .hh.b0 == 10 )
{
curval = mem [(long) curlist .tailfield + 1 ] .hh .v.LH ;
if ( mem [(long) curlist .tailfield ] .hh.b1 == 99 )
curvallevel = 3 ;
}
break ;
}
else if ( ( curlist .modefield == 1 ) && ( curlist .tailfield == curlist
.headfield ) )
switch ( curchr )
{case 0 :
curval = lastpenalty ;
break ;
case 1 :
curval = lastkern ;
break ;
case 2 :
if ( lastglue != 65535L )
curval = lastglue ;
break ;
}
}
break ;
default :
{
{
if ( interaction == 3 )
wakeuptermin () ;
printnl ( 133 ) ;
print ( 541 ) ;
}
printcmdchr ( curcmd , curchr ) ;
print ( 542 ) ;
printesc ( 395 ) ;
{
helpptr = 1 ;
helpline [ 0 ] = 540 ;
}
error () ;
if ( level != 5 )
{
curval = 0 ;
curvallevel = 1 ;
}
else {
curval = 0 ;
curvallevel = 0 ;
}
}
break ;
}
while ( curvallevel > level ) {
if ( curvallevel == 2 )
curval = mem [(long) curval + 1 ] .cint ;
else if ( curvallevel == 3 )
muerror () ;
decr ( curvallevel ) ;
}
if ( negative )
if ( curvallevel >= 2 )
{
curval = newspec ( curval ) ;
{
mem [(long) curval + 1 ] .cint = - mem [(long) curval + 1 ] .cint ;
mem [(long) curval + 2 ] .cint = - mem [(long) curval + 2 ] .cint ;
mem [(long) curval + 3 ] .cint = - mem [(long) curval + 3 ] .cint ;
}
}
else curval = - curval ;
else if ( ( curvallevel >= 2 ) && ( curvallevel <= 3 ) )
incr ( mem [(long) curval ] .hh .v.RH ) ;
}
scanint () { /* 30 */ r_scanint
boolean negative ;
integer m ;
smallnumber d ;
boolean vacuous ;
boolean OKsofar ;
radix = 0 ;
OKsofar = true ;
negative = false ;
do { do { getxtoken () ;
} while ( ! ( curcmd != 10 ) ) ;
if ( curtok == 3117 )
{
negative = ! negative ;
curtok = 3115 ;
}
} while ( ! ( curtok != 3115 ) ) ;
if ( curtok == 3168 )
{
gettoken () ;
if ( curtok < 4096 )
{
curval = curchr ;
if ( curcmd <= 2 )
if ( curcmd == 2 )
incr ( alignstate ) ;
else decr ( alignstate ) ;
}
else if ( curtok < 4225 )
curval = curtok - 4097 ;
else curval = curtok - 4225 ;
if ( curval > 127 )
{
{
if ( interaction == 3 )
wakeuptermin () ;
printnl ( 133 ) ;
print ( 555 ) ;
}
{
helpptr = 2 ;
helpline [ 1 ] = 556 ;
helpline [ 0 ] = 557 ;
}
curval = 48 ;
backerror () ;
}
else {
getxtoken () ;
if ( curcmd != 10 )
backinput () ;
}
}
else if ( ( curcmd >= 67 ) && ( curcmd <= 88 ) )
scansomethin ( 0 , false ) ;
else {
radix = 10 ;
m = 214748364 ;
if ( curtok == 3111 )
{
radix = 8 ;
m = 268435456 ;
getxtoken () ;
}
else if ( curtok == 3106 )
{
radix = 16 ;
m = 134217728 ;
getxtoken () ;
}
vacuous = true ;
curval = 0 ;
while ( true ) {
if ( ( curtok < 3120 + radix ) && ( curtok >= 3120 ) && ( curtok <= 3129
) )
d = curtok - 3120 ;
else if ( radix == 16 )
if ( ( curtok <= 2886 ) && ( curtok >= 2881 ) )
d = curtok - 2871 ;
else if ( ( curtok <= 3142 ) && ( curtok >= 3137 ) )
d = curtok - 3127 ;
else goto lab30 ;
else goto lab30 ;
vacuous = false ;
if ( ( curval >= m ) && ( ( curval > m ) || ( d > 7 ) || ( radix != 10 )
) )
{
if ( OKsofar )
{
{
if ( interaction == 3 )
wakeuptermin () ;
printnl ( 133 ) ;
print ( 558 ) ;
}
{
helpptr = 2 ;
helpline [ 1 ] = 559 ;
helpline [ 0 ] = 560 ;
}
error () ;
curval = 2147483647 ;
OKsofar = false ;
}
}
else curval = curval * radix + d ;
getxtoken () ;
}
lab30: ;
if ( vacuous )
{
{
if ( interaction == 3 )
wakeuptermin () ;
printnl ( 133 ) ;
print ( 522 ) ;
}
{
helpptr = 3 ;
helpline [ 2 ] = 523 ;
helpline [ 1 ] = 524 ;
helpline [ 0 ] = 525 ;
}
backerror () ;
}
else if ( curcmd != 10 )
backinput () ;
}
if ( negative )
curval = - curval ;
}
zscandimen ( mu , inf , shortcut )
boolean mu , inf , shortcut ;
{/* 30 31 32 40 45 88 89 */ r_scandimen
boolean negative ;
integer f ;
integer num, denom ;
smallnumber k ;
scaled v ;
integer savecurval ;
f = 0 ;
aritherror = false ;
curorder = 0 ;
negative = false ;
if ( ! shortcut )
{
negative = false ;
do { do { getxtoken () ;
} while ( ! ( curcmd != 10 ) ) ;
if ( curtok == 3117 )
{
negative = ! negative ;
curtok = 3115 ;
}
} while ( ! ( curtok != 3115 ) ) ;
if ( ( curcmd >= 67 ) && ( curcmd <= 88 ) )
if ( mu )
{
scansomethin ( 3 , false ) ;
if ( curvallevel >= 2 )
{
v = mem [(long) curval + 1 ] .cint ;
deletegluere ( curval ) ;
curval = v ;
}
if ( curvallevel == 3 )
goto lab89 ;
if ( curvallevel != 0 )
muerror () ;
}
else {
scansomethin ( 1 , false ) ;
if ( curvallevel == 1 )
goto lab89 ;
}
else {
backinput () ;
if ( curtok == 3116 )
curtok = 3118 ;
if ( curtok != 3118 )
scanint () ;
else {
radix = 10 ;
curval = 0 ;
}
if ( curtok == 3116 )
curtok = 3118 ;
if ( ( radix == 10 ) && ( curtok == 3118 ) )
{
k = 0 ;
gettoken () ;
while ( true ) {
getxtoken () ;
if ( ( curtok > 3129 ) || ( curtok < 3120 ) )
goto lab31 ;
if ( k < 17 )
{
dig [ k ] = curtok - 3120 ;
incr ( k ) ;
}
}
lab31: f = rounddecimal ( k ) ;
if ( curcmd != 10 )
backinput () ;
}
}
}
if ( curval < 0 )
{
negative = ! negative ;
curval = - curval ;
}
if ( inf )
if ( scankeyword ( 180 ) )
{
curorder = 1 ;
while ( scankeyword ( 108 ) ) {
if ( curorder == 3 )
{
{
if ( interaction == 3 )
wakeuptermin () ;
printnl ( 133 ) ;
print ( 562 ) ;
}
print ( 563 ) ;
{
helpptr = 1 ;
helpline [ 0 ] = 564 ;
}
error () ;
}
else incr ( curorder ) ;
}
goto lab88 ;
}
savecurval = curval ;
do { getxtoken () ;
} while ( ! ( curcmd != 10 ) ) ;
if ( ( curcmd < 67 ) || ( curcmd > 88 ) )
backinput () ;
else {
if ( mu )
{
scansomethin ( 3 , false ) ;
if ( curvallevel >= 2 )
{
v = mem [(long) curval + 1 ] .cint ;
deletegluere ( curval ) ;
curval = v ;
}
if ( curvallevel != 3 )
muerror () ;
}
else scansomethin ( 1 , false ) ;
v = curval ;
goto lab40 ;
}
if ( mu )
goto lab45 ;
if ( scankeyword ( 565 ) )
v = ( fontinfo [ 6 + parambase [ eqtb [ 4578 ] .hh .v.RH ] ] .cint ) ;
else if ( scankeyword ( 566 ) )
v = ( fontinfo [ 5 + parambase [ eqtb [ 4578 ] .hh .v.RH ] ] .cint ) ;
else goto lab45 ;
{
getxtoken () ;
if ( curcmd != 10 )
backinput () ;
}
lab40: curval = nxplusy ( savecurval , v , xnoverd ( v , f , 65536 ) ) ;
goto lab89 ;
lab45: ;
if ( mu )
if ( scankeyword ( 205 ) )
goto lab88 ;
else {
{
if ( interaction == 3 )
wakeuptermin () ;
printnl ( 133 ) ;
print ( 562 ) ;
}
print ( 567 ) ;
{
helpptr = 4 ;
helpline [ 3 ] = 568 ;
helpline [ 2 ] = 569 ;
helpline [ 1 ] = 570 ;
helpline [ 0 ] = 571 ;
}
error () ;
goto lab88 ;
}
if ( scankeyword ( 561 ) )
{
preparemag () ;
if ( eqtb [ 5284 ] .cint != 1000 )
{
curval = xnoverd ( curval , 1000 , eqtb [ 5284 ] .cint ) ;
f = ( 1000 * f + 65536 * remainder ) / eqtb [ 5284 ] .cint ;
curval = curval + ( f / 65536 ) ;
f = f % 65536 ;
}
}
if ( scankeyword ( 262 ) )
goto lab88 ;
if ( scankeyword ( 572 ) )
{
num = 7227 ;
denom = 100 ;
}
else if ( scankeyword ( 573 ) )
{
num = 12 ;
denom = 1 ;
}
else if ( scankeyword ( 574 ) )
{
num = 7227 ;
denom = 254 ;
}
else if ( scankeyword ( 575 ) )
{
num = 7227 ;
denom = 2540 ;
}
else if ( scankeyword ( 576 ) )
{
num = 7227 ;
denom = 7200 ;
}
else if ( scankeyword ( 577 ) )
{
num = 1238 ;
denom = 1157 ;
}
else if ( scankeyword ( 578 ) )
{
num = 14856 ;
denom = 1157 ;
}
else if ( scankeyword ( 579 ) )
goto lab30 ;
else {
{
if ( interaction == 3 )
wakeuptermin () ;
printnl ( 133 ) ;
print ( 562 ) ;
}
print ( 580 ) ;
{
helpptr = 6 ;
helpline [ 5 ] = 581 ;
helpline [ 4 ] = 582 ;
helpline [ 3 ] = 583 ;
helpline [ 2 ] = 569 ;
helpline [ 1 ] = 570 ;
helpline [ 0 ] = 571 ;
}
error () ;
goto lab32 ;
}
curval = xnoverd ( curval , num , denom ) ;
f = ( num * f + 65536 * remainder ) / denom ;
curval = curval + ( f / 65536 ) ;
f = f % 65536 ;
lab32: ;
lab88: if ( curval >= 16384 )
aritherror = true ;
else curval = curval * 65536 + f ;
lab30: ;
{
getxtoken () ;
if ( curcmd != 10 )
backinput () ;
}
lab89: if ( aritherror || ( abs ( curval ) >= 1073741824 ) )
{
{
if ( interaction == 3 )
wakeuptermin () ;
printnl ( 133 ) ;
print ( 584 ) ;
}
{
helpptr = 2 ;
helpline [ 1 ] = 585 ;
helpline [ 0 ] = 586 ;
}
error () ;
curval = 1073741823 ;
aritherror = false ;
}
if ( negative )
curval = - curval ;
}
zscanglue ( level )
smallnumber level ;
{/* 10 */ r_scanglue
boolean negative ;
halfword q ;
boolean mu ;
mu = ( level == 3 ) ;
negative = false ;
do { do { getxtoken () ;
} while ( ! ( curcmd != 10 ) ) ;
if ( curtok == 3117 )
{
negative = ! negative ;
curtok = 3115 ;
}
} while ( ! ( curtok != 3115 ) ) ;
if ( ( curcmd >= 67 ) && ( curcmd <= 88 ) )
{
scansomethin ( level , negative ) ;
if ( curvallevel >= 2 )
{
if ( curvallevel != level )
muerror () ;
return ;
}
if ( curvallevel == 0 )
scandimen ( mu , false , true ) ;
else if ( level == 3 )
muerror () ;
}
else {
backinput () ;
scandimen ( mu , false , false ) ;
if ( negative )
curval = - curval ;
}
q = newspec ( 0 ) ;
mem [(long) q + 1 ] .cint = curval ;
if ( scankeyword ( 587 ) )
{
scandimen ( mu , true , false ) ;
mem [(long) q + 2 ] .cint = curval ;
mem [(long) q ] .hh.b0 = curorder ;
}
if ( scankeyword ( 588 ) )
{
scandimen ( mu , true , false ) ;
mem [(long) q + 3 ] .cint = curval ;
mem [(long) q ] .hh.b1 = curorder ;
}
curval = q ;
}
halfword scanrulespec () { /* 21 */ register halfword Result;
r_scanrulespec
halfword q ;
q = newrule () ;
if ( curcmd == 35 )
mem [(long) q + 1 ] .cint = 26214 ;
else {
mem [(long) q + 3 ] .cint = 26214 ;
mem [(long) q + 2 ] .cint = 0 ;
}
lab21: if ( scankeyword ( 589 ) )
{
scandimen ( false , false , false ) ;
mem [(long) q + 1 ] .cint = curval ;
goto lab21 ;
}
if ( scankeyword ( 590 ) )
{
scandimen ( false , false , false ) ;
mem [(long) q + 3 ] .cint = curval ;
goto lab21 ;
}
if ( scankeyword ( 591 ) )
{
scandimen ( false , false , false ) ;
mem [(long) q + 2 ] .cint = curval ;
goto lab21 ;
}
Result = q ;
return(Result) ;
}
halfword strtoks () { register halfword Result; r_strtoks
halfword p ;
halfword q ;
halfword t ;
poolpointer k ;
{
if ( poolptr + 1 > poolsize )
overflow ( 128 , poolsize - initpoolptr ) ;
}
p = memtop - 3 ;
mem [(long) p ] .hh .v.RH = 0 ;
k = strstart [ strptr ] ;
while ( k < poolptr ) {
t = strpool [ k ] ;
if ( t == 32 )
t = 2592 ;
else t = 3072 + t ;
{
{
q = avail ;
if ( q == 0 )
q = getavail () ;
else {
avail = mem [(long) q ] .hh .v.RH ;
mem [(long) q ] .hh .v.RH = 0 ;
#ifdef STAT
incr ( dynused ) ;
#endif /* STAT */
}
}
mem [(long) p ] .hh .v.RH = q ;
mem [(long) q ] .hh .v.LH = t ;
p = q ;
}
incr ( k ) ;
}
poolptr = strstart [ strptr ] ;
Result = p ;
return(Result) ;
}
halfword thetoks () { register halfword Result; r_thetoks
quarterword oldsetting ;
halfword p, q, r ;
getxtoken () ;
scansomethin ( 5 , false ) ;
if ( curvallevel >= 4 )
{
p = memtop - 3 ;
mem [(long) p ] .hh .v.RH = 0 ;
if ( curvallevel == 4 )
{
q = getavail () ;
mem [(long) p ] .hh .v.RH = q ;
mem [(long) q ] .hh .v.LH = 4096 + curval ;
p = q ;
}
else if ( curval != 0 )
{
r = mem [(long) curval ] .hh .v.RH ;
while ( r != 0 ) {
{
{
q = avail ;
if ( q == 0 )
q = getavail () ;
else {
avail = mem [(long) q ] .hh .v.RH ;
mem [(long) q ] .hh .v.RH = 0 ;
#ifdef STAT
incr ( dynused ) ;
#endif /* STAT */
}
}
mem [(long) p ] .hh .v.RH = q ;
mem [(long) q ] .hh .v.LH = mem [(long) r ] .hh .v.LH ;
p = q ;
}
r = mem [(long) r ] .hh .v.RH ;
}
}
Result = p ;
}
else {
oldsetting = selector ;
selector = 21 ;
switch ( curvallevel )
{case 0 :
printint ( curval ) ;
break ;
case 1 :
{
printscaled ( curval ) ;
print ( 262 ) ;
}
break ;
case 2 :
{
printspec ( curval , 262 ) ;
deletegluere ( curval ) ;
}
break ;
case 3 :
{
printspec ( curval , 205 ) ;
deletegluere ( curval ) ;
}
break ;
}
selector = oldsetting ;
Result = strtoks () ;
}
return(Result) ;
}
insthetoks () { r_insthetoks
mem [(long) memtop - 12 ] .hh .v.RH = thetoks () ;
begintokenli ( mem [(long) memtop - 3 ] .hh .v.RH , 4 ) ;
}
convtoks () { r_convtoks
quarterword oldsetting ;
quarterword c ;
smallnumber savescanners ;
c = curchr ;
switch ( c )
{case 0 :
case 1 :
scanint () ;
break ;
case 2 :
case 3 :
{
savescanners = scannerstatu ;
scannerstatu = 0 ;
gettoken () ;
scannerstatu = savescanners ;
}
break ;
case 4 :
scanfontiden () ;
break ;
case 5 :
if ( jobname == 0 )
openlogfile () ;
break ;
}
oldsetting = selector ;
selector = 21 ;
switch ( c )
{case 0 :
printint ( curval ) ;
break ;
case 1 :
printromanin ( curval ) ;
break ;
case 2 :
if ( curcs != 0 )
sprintcs ( curcs ) ;
else printchar ( curchr ) ;
break ;
case 3 :
printmeaning () ;
break ;
case 4 :
{
print ( fontname [ curval ] ) ;
if ( fontsize [ curval ] != fontdsize [ curval ] )
{
print ( 598 ) ;
printscaled ( fontsize [ curval ] ) ;
print ( 262 ) ;
}
}
break ;
case 5 :
print ( jobname ) ;
break ;
}
selector = oldsetting ;
mem [(long) memtop - 12 ] .hh .v.RH = strtoks () ;
begintokenli ( mem [(long) memtop - 3 ] .hh .v.RH , 4 ) ;
}
halfword zscantoks ( macrodef , xpand )
boolean macrodef , xpand ;
{/* 40 30 31 32 */ register halfword Result; r_scantoks
halfword t ;
halfword s ;
halfword p ;
halfword q ;
halfword unbalance ;
halfword hashbrace ;
if ( macrodef )
scannerstatu = 2 ;
else scannerstatu = 5 ;
warningindex = curcs ;
defref = getavail () ;
mem [(long) defref ] .hh .v.LH = 0 ;
p = defref ;
hashbrace = 0 ;
t = 3120 ;
if ( macrodef )
{
while ( true ) {
gettoken () ;
if ( curtok < 768 )
goto lab31 ;
if ( curcmd == 6 )
{
s = 3328 + curchr ;
gettoken () ;
if ( curcmd == 1 )
{
hashbrace = curtok ;
{
q = getavail () ;
mem [(long) p ] .hh .v.RH = q ;
mem [(long) q ] .hh .v.LH = curtok ;
p = q ;
}
{
q = getavail () ;
mem [(long) p ] .hh .v.RH = q ;
mem [(long) q ] .hh .v.LH = 3584 ;
p = q ;
}
goto lab30 ;
}
if ( t == 3129 )
{
{
if ( interaction == 3 )
wakeuptermin () ;
printnl ( 133 ) ;
print ( 601 ) ;
}
{
helpptr = 1 ;
helpline [ 0 ] = 602 ;
}
error () ;
}
else {
incr ( t ) ;
if ( curtok != t )
{
{
if ( interaction == 3 )
wakeuptermin () ;
printnl ( 133 ) ;
print ( 603 ) ;
}
{
helpptr = 2 ;
helpline [ 1 ] = 604 ;
helpline [ 0 ] = 605 ;
}
backerror () ;
}
curtok = s ;
}
}
{
q = getavail () ;
mem [(long) p ] .hh .v.RH = q ;
mem [(long) q ] .hh .v.LH = curtok ;
p = q ;
}
}
lab31: {
q = getavail () ;
mem [(long) p ] .hh .v.RH = q ;
mem [(long) q ] .hh .v.LH = 3584 ;
p = q ;
}
if ( curcmd == 2 )
{
{
if ( interaction == 3 )
wakeuptermin () ;
printnl ( 133 ) ;
print ( 515 ) ;
}
incr ( alignstate ) ;
{
helpptr = 2 ;
helpline [ 1 ] = 599 ;
helpline [ 0 ] = 600 ;
}
error () ;
goto lab40 ;
}
lab30: ;
}
else scanleftbrac () ;
unbalance = 1 ;
while ( true ) {
if ( xpand )
{
while ( true ) {
getnext () ;
if ( curcmd <= 99 )
goto lab32 ;
if ( curcmd != 108 )
expand () ;
else {
q = thetoks () ;
if ( mem [(long) memtop - 3 ] .hh .v.RH != 0 )
{
mem [(long) p ] .hh .v.RH = mem [(long) memtop - 3 ] .hh .v.RH ;
p = q ;
}
}
}
lab32: xtoken () ;
}
else gettoken () ;
if ( curtok < 768 )
if ( curcmd < 2 )
incr ( unbalance ) ;
else {
decr ( unbalance ) ;
if ( unbalance == 0 )
goto lab40 ;
}
else if ( curcmd == 6 )
if ( macrodef )
{
s = curtok ;
if ( xpand )
getxtoken () ;
else gettoken () ;
if ( curcmd != 6 )
if ( ( curtok <= 3120 ) || ( curtok > t ) )
{
{
if ( interaction == 3 )
wakeuptermin () ;
printnl ( 133 ) ;
print ( 606 ) ;
}
sprintcs ( warningindex ) ;
{
helpptr = 3 ;
helpline [ 2 ] = 607 ;
helpline [ 1 ] = 608 ;
helpline [ 0 ] = 609 ;
}
backerror () ;
curtok = s ;
}
else curtok = 1232 + curchr ;
}
{
q = getavail () ;
mem [(long) p ] .hh .v.RH = q ;
mem [(long) q ] .hh .v.LH = curtok ;
p = q ;
}
}
lab40: scannerstatu = 0 ;
if ( hashbrace != 0 )
{
q = getavail () ;
mem [(long) p ] .hh .v.RH = q ;
mem [(long) q ] .hh .v.LH = hashbrace ;
p = q ;
}
Result = p ;
return(Result) ;
}
zreadtoks ( n , r )
integer n ;
halfword r ;
{/* 30 */ r_readtoks
halfword p ;
halfword q ;
integer s ;
smallnumber m ;
scannerstatu = 2 ;
warningindex = r ;
defref = getavail () ;
mem [(long) defref ] .hh .v.LH = 0 ;
p = defref ;
{
q = getavail () ;
mem [(long) p ] .hh .v.RH = q ;
mem [(long) q ] .hh .v.LH = 3584 ;
p = q ;
}
if ( ( n < 0 ) || ( n > 15 ) )
m = 16 ;
else m = n ;
s = alignstate ;
alignstate = 1000000 ;
do { beginfilerea () ;
curinput .namefield = m + 1 ;
if ( readopen [ m ] == 2 )
if ( interaction > 1 )
if ( n < 0 )
{
wakeuptermin () ;
print ( 206 ) ;
terminput () ;
}
else {
wakeuptermin () ;
println () ;
sprintcs ( r ) ;
{
wakeuptermin () ;
print ( 61 ) ;
terminput () ;
}
n = - 1 ;
}
else fatalerror ( 610 ) ;
else if ( readopen [ m ] == 1 )
if ( inputln ( readfile [ m ] , false ) )
readopen [ m ] = 0 ;
else {
aclose ( readfile [ m ] ) ;
readopen [ m ] = 2 ;
}
else {
if ( ! inputln ( readfile [ m ] , true ) )
{
aclose ( readfile [ m ] ) ;
readopen [ m ] = 2 ;
if ( alignstate != 1000000 )
{
runaway () ;
{
if ( interaction == 3 )
wakeuptermin () ;
printnl ( 133 ) ;
print ( 611 ) ;
}
printesc ( 392 ) ;
{
helpptr = 1 ;
helpline [ 0 ] = 612 ;
}
alignstate = 1000000 ;
error () ;
}
}
}
curinput .limitfield = last ;
if ( ( eqtb [ 5315 ] .cint < 0 ) || ( eqtb [ 5315 ] .cint > 127 ) )
decr ( curinput .limitfield ) ;
else buffer [ curinput .limitfield ] = eqtb [ 5315 ] .cint ;
first = curinput .limitfield + 1 ;
curinput .locfield = curinput .startfield ;
curinput .statefield = 33 ;
while ( true ) {
gettoken () ;
if ( curtok == 0 )
goto lab30 ;
{
q = getavail () ;
mem [(long) p ] .hh .v.RH = q ;
mem [(long) q ] .hh .v.LH = curtok ;
p = q ;
}
}
lab30: endfilereadi () ;
} while ( ! ( alignstate == 1000000 ) ) ;
curval = defref ;
scannerstatu = 0 ;
alignstate = s ;
}
passtext () { /* 30 */ r_passtext
integer l ;
smallnumber savescanners ;
savescanners = scannerstatu ;
scannerstatu = 1 ;
l = 0 ;
skipline = line ;
while ( true ) {
getnext () ;
if ( curcmd == 105 )
{
if ( l == 0 )
goto lab30 ;
if ( curchr == 2 )
decr ( l ) ;
}
else if ( curcmd == 104 )
incr ( l ) ;
}
lab30: scannerstatu = savescanners ;
}
zchangeiflimi ( l , p )
smallnumber l ;
halfword p ;
{/* 10 */ r_changeiflimi
halfword q ;
if ( p == condptr )
iflimit = l ;
else {
q = condptr ;
while ( true ) {
if ( q == 0 )
confusion ( 613 ) ;
if ( mem [(long) q ] .hh .v.RH == p )
{
mem [(long) q ] .hh.b0 = l ;
return ;
}
q = mem [(long) q ] .hh .v.RH ;
}
}
}
conditional () { /* 10 50 */ r_conditional
boolean b ;
quarterword r ;
integer m, n ;
halfword p, q ;
smallnumber savescanners ;
halfword savecondptr ;
smallnumber thisif ;
{
p = getnode ( 2 ) ;
mem [(long) p ] .hh .v.RH = condptr ;
mem [(long) p ] .hh.b0 = iflimit ;
mem [(long) p ] .hh.b1 = curif ;
mem [(long) p + 1 ] .cint = ifline ;
condptr = p ;
curif = curchr ;
iflimit = 1 ;
ifline = line ;
}
savecondptr = condptr ;
thisif = curchr ;
switch ( thisif )
{case 0 :
case 1 :
{
{
getxtoken () ;
if ( curcmd == 0 )
if ( curchr == 257 )
{
curcmd = 13 ;
curchr = curtok - 4097 ;
}
}
if ( ( curcmd > 13 ) || ( curchr > 127 ) )
{
m = 0 ;
n = 256 ;
}
else {
m = curcmd ;
n = curchr ;
}
{
getxtoken () ;
if ( curcmd == 0 )
if ( curchr == 257 )
{
curcmd = 13 ;
curchr = curtok - 4097 ;
}
}
if ( ( curcmd > 13 ) || ( curchr > 127 ) )
{
curcmd = 0 ;
curchr = 256 ;
}
if ( thisif == 0 )
b = ( n == curchr ) ;
else b = ( m == curcmd ) ;
}
break ;
case 2 :
case 3 :
{
if ( thisif == 2 )
scanint () ;
else scandimen ( false , false , false ) ;
n = curval ;
do { getxtoken () ;
} while ( ! ( curcmd != 10 ) ) ;
if ( ( curtok >= 3132 ) && ( curtok <= 3134 ) )
r = curtok - 3072 ;
else {
{
if ( interaction == 3 )
wakeuptermin () ;
printnl ( 133 ) ;
print ( 637 ) ;
}
printcmdchr ( 104 , thisif ) ;
{
helpptr = 1 ;
helpline [ 0 ] = 638 ;
}
backerror () ;
r = 61 ;
}
if ( thisif == 2 )
scanint () ;
else scandimen ( false , false , false ) ;
switch ( r )
{case 60 :
b = ( n < curval ) ;
break ;
case 61 :
b = ( n == curval ) ;
break ;
case 62 :
b = ( n > curval ) ;
break ;
}
}
break ;
case 4 :
{
scanint () ;
b = odd ( curval ) ;
}
break ;
case 5 :
b = ( abs ( curlist .modefield ) == 1 ) ;
break ;
case 6 :
b = ( abs ( curlist .modefield ) == 101 ) ;
break ;
case 7 :
b = ( abs ( curlist .modefield ) == 201 ) ;
break ;
case 8 :
b = ( curlist .modefield < 0 ) ;
break ;
case 9 :
case 10 :
case 11 :
{
scaneightbit () ;
p = eqtb [ 4322 + curval ] .hh .v.RH ;
if ( thisif == 9 )
b = ( p == 0 ) ;
else if ( p == 0 )
b = false ;
else if ( thisif == 10 )
b = ( mem [(long) p ] .hh.b0 == 0 ) ;
else b = ( mem [(long) p ] .hh.b0 == 1 ) ;
}
break ;
case 12 :
{
savescanners = scannerstatu ;
scannerstatu = 0 ;
getnext () ;
n = curcs ;
p = curcmd ;
q = curchr ;
getnext () ;
if ( curcmd != p )
b = false ;
else if ( curcmd < 110 )
b = ( curchr == q ) ;
else {
p = mem [(long) curchr ] .hh .v.RH ;
q = mem [(long) eqtb [ n ] .hh .v.RH ] .hh .v.RH ;
while ( ( p != 0 ) && ( q != 0 ) ) if ( mem [(long) p ] .hh .v.LH != mem [(long) q
] .hh .v.LH )
p = 0 ;
else {
p = mem [(long) p ] .hh .v.RH ;
q = mem [(long) q ] .hh .v.RH ;
}
b = ( ( p == 0 ) && ( q == 0 ) ) ;
}
scannerstatu = savescanners ;
}
break ;
case 13 :
{
scanfourbiti () ;
b = ( readopen [ curval ] == 2 ) ;
}
break ;
case 14 :
b = true ;
break ;
case 15 :
b = false ;
break ;
case 16 :
{
scanint () ;
n = curval ;
if ( eqtb [ 5303 ] .cint > 1 )
{
begindiagnos () ;
print ( 639 ) ;
printint ( n ) ;
printchar ( 125 ) ;
enddiagnosti ( false ) ;
}
while ( n != 0 ) {
passtext () ;
if ( condptr == savecondptr )
if ( curchr == 4 )
decr ( n ) ;
else goto lab50 ;
else if ( curchr == 2 )
{
p = condptr ;
ifline = mem [(long) p + 1 ] .cint ;
curif = mem [(long) p ] .hh.b1 ;
iflimit = mem [(long) p ] .hh.b0 ;
condptr = mem [(long) p ] .hh .v.RH ;
freenode ( p , 2 ) ;
}
}
changeiflimi ( 4 , savecondptr ) ;
return ;
}
break ;
}
if ( eqtb [ 5303 ] .cint > 1 )
{
begindiagnos () ;
if ( b )
print ( 635 ) ;
else print ( 636 ) ;
enddiagnosti ( false ) ;
}
if ( b )
{
changeiflimi ( 3 , savecondptr ) ;
return ;
}
while ( true ) {
passtext () ;
if ( condptr == savecondptr )
{
if ( curchr != 4 )
goto lab50 ;
{
if ( interaction == 3 )
wakeuptermin () ;
printnl ( 133 ) ;
print ( 633 ) ;
}
printesc ( 631 ) ;
{
helpptr = 1 ;
helpline [ 0 ] = 634 ;
}
error () ;
}
else if ( curchr == 2 )
{
p = condptr ;
ifline = mem [(long) p + 1 ] .cint ;
curif = mem [(long) p ] .hh.b1 ;
iflimit = mem [(long) p ] .hh.b0 ;
condptr = mem [(long) p ] .hh .v.RH ;
freenode ( p , 2 ) ;
}
}
lab50: if ( curchr == 2 )
{
p = condptr ;
ifline = mem [(long) p + 1 ] .cint ;
curif = mem [(long) p ] .hh.b1 ;
iflimit = mem [(long) p ] .hh.b0 ;
condptr = mem [(long) p ] .hh .v.RH ;
freenode ( p , 2 ) ;
}
else iflimit = 2 ;
}
beginname () { r_beginname
areadelimite = 0 ;
extdelimiter = 0 ;
}
boolean zmorename ( c )
ASCIIcode c ;
{register boolean Result; r_morename
if ( c == 32 )
Result = false ;
else {
if ( ( c == 47 ) )
{
areadelimite = poolptr ;
extdelimiter = 0 ;
}
else if ( ( c == 46 ) && ( extdelimiter == 0 ) )
extdelimiter = poolptr ;
{
if ( poolptr + 1 > poolsize )
overflow ( 128 , poolsize - initpoolptr ) ;
}
{
strpool [ poolptr ] = c ;
incr ( poolptr ) ;
}
Result = true ;
}
return(Result) ;
}
endname () { r_endname
if ( strptr + 3 > maxstrings )
overflow ( 129 , maxstrings - initstrptr ) ;
if ( areadelimite == 0 )
curarea = 206 ;
else {
curarea = strptr ;
incr ( strptr ) ;
strstart [ strptr ] = areadelimite + 1 ;
}
if ( extdelimiter == 0 )
{
curext = 206 ;
curname = makestring () ;
}
else {
curname = strptr ;
incr ( strptr ) ;
strstart [ strptr ] = extdelimiter ;
curext = makestring () ;
}
}
zpackfilename ( n , a , e )
strnumber n , a , e ;
{r_packfilename
integer k ;
ASCIIcode c ;
poolpointer j ;
k = 0 ;
for ( j = strstart [ a ] ; j <= strstart [ a + 1 ] - 1 ; j ++ )
{
c = strpool [ j ] ;
incr ( k ) ;
if ( k <= filenamesize )
nameoffile [ k ] = xchr [ c ] ;
}
for ( j = strstart [ n ] ; j <= strstart [ n + 1 ] - 1 ; j ++ )
{
c = strpool [ j ] ;
incr ( k ) ;
if ( k <= filenamesize )
nameoffile [ k ] = xchr [ c ] ;
}
for ( j = strstart [ e ] ; j <= strstart [ e + 1 ] - 1 ; j ++ )
{
c = strpool [ j ] ;
incr ( k ) ;
if ( k <= filenamesize )
nameoffile [ k ] = xchr [ c ] ;
}
if ( k <= filenamesize )
namelength = k ;
else namelength = filenamesize ;
for ( k = namelength + 1 ; k <= filenamesize ; k ++ )
nameoffile [ k ] = ' ' ;
}
zpackbuffered ( n , a , b )
smallnumber n ;
integer a , b ;
{r_packbuffered
integer k ;
ASCIIcode c ;
integer j ;
if ( n + b - a + 5 > filenamesize )
b = a + filenamesize - n - 5 ;
k = 0 ;
for ( j = 1 ; j <= n ; j ++ )
{
c = xord [ TEXformatdef [ j ] ] ;
incr ( k ) ;
if ( k <= filenamesize )
nameoffile [ k ] = xchr [ c ] ;
}
for ( j = a ; j <= b ; j ++ )
{
c = buffer [ j ] ;
incr ( k ) ;
if ( k <= filenamesize )
nameoffile [ k ] = xchr [ c ] ;
}
for ( j = 6 ; j <= 9 ; j ++ )
{
c = xord [ TEXformatdef [ j ] ] ;
incr ( k ) ;
if ( k <= filenamesize )
nameoffile [ k ] = xchr [ c ] ;
}
if ( k <= filenamesize )
namelength = k ;
else namelength = filenamesize ;
for ( k = namelength + 1 ; k <= filenamesize ; k ++ )
nameoffile [ k ] = ' ' ;
}
strnumber makenamestri () { register strnumber Result; r_makenamestri
integer k, kstart ;
k = 1 ;
while ( ( k < filenamesize ) && ( xord [ realnameoffi [ k ] ] != 32 ) ) incr
( k ) ;
namelength = k - 1 ;
{
if ( poolptr + namelength > poolsize )
overflow ( 128 , poolsize - initpoolptr ) ;
}
if ( ( xord [ realnameoffi [ 1 ] ] == 46 ) && ( xord [ realnameoffi [ 2 ] ]
== 47 ) )
kstart = 3 ;
else kstart = 1 ;
for ( k = kstart ; k <= namelength ; k ++ )
{
strpool [ poolptr ] = xord [ realnameoffi [ k ] ] ;
incr ( poolptr ) ;
}
Result = makestring () ;
return(Result) ;
}
strnumber zamakenamestr ( f )
alphafile f ;
{register strnumber Result; r_amakenamestr
Result = makenamestri () ;
return(Result) ;
}
strnumber zbmakenamestr ( f )
bytefile f ;
{register strnumber Result; r_bmakenamestr
Result = makenamestri () ;
return(Result) ;
}
#ifdef INITEX
strnumber zwmakenamestr ( f )
wordfile f ;
{register strnumber Result; r_wmakenamestr
Result = makenamestri () ;
return(Result) ;
}
#endif /* INITEX */
scanfilename () { /* 30 */ r_scanfilename
nameinprogre = true ;
beginname () ;
do { getxtoken () ;
} while ( ! ( curcmd != 10 ) ) ;
while ( true ) {
if ( ( curcmd > 12 ) || ( curchr > 127 ) )
{
backinput () ;
goto lab30 ;
}
if ( ! morename ( curchr ) )
goto lab30 ;
getxtoken () ;
}
lab30: endname () ;
nameinprogre = false ;
}
zpackjobname ( s )
strnumber s ;
{r_packjobname
curarea = 206 ;
curext = s ;
curname = jobname ;
packfilename ( curname , curarea , curext ) ;
}
zpromptfilena ( s , e )
strnumber s , e ;
{/* 30 */ r_promptfilena
integer k ;
if ( interaction == 2 )
wakeuptermin () ;
if ( s == 640 )
{
if ( interaction == 3 )
wakeuptermin () ;
printnl ( 133 ) ;
print ( 641 ) ;
}
else {
if ( interaction == 3 )
wakeuptermin () ;
printnl ( 133 ) ;
print ( 642 ) ;
}
printfilenam ( curname , curarea , curext ) ;
print ( 643 ) ;
if ( e == 644 )
showcontext () ;
printnl ( 645 ) ;
print ( s ) ;
if ( interaction < 2 )
fatalerror ( 646 ) ;
cleartermina () ;
{
wakeuptermin () ;
print ( 426 ) ;
terminput () ;
}
{
beginname () ;
k = first ;
while ( ( buffer [ k ] == 32 ) && ( k < last ) ) incr ( k ) ;
while ( true ) {
if ( k == last )
goto lab30 ;
if ( ! morename ( buffer [ k ] ) )
goto lab30 ;
incr ( k ) ;
}
lab30: endname () ;
}
if ( curext == 206 )
curext = e ;
packfilename ( curname , curarea , curext ) ;
}
openlogfile () { r_openlogfile
quarterword oldsetting ;
integer k ;
integer l ;
ccharpointer months ;
oldsetting = selector ;
if ( jobname == 0 )
jobname = 649 ;
packjobname ( 650 ) ;
while ( ! aopenout ( logfile ) ) {
if ( interaction < 2 )
{
{
if ( interaction == 3 )
wakeuptermin () ;
printnl ( 133 ) ;
print ( 642 ) ;
}
printfilenam ( curname , curarea , curext ) ;
print ( 643 ) ;
jobname = 0 ;
history = 3 ;
jumpout () ;
}
promptfilena ( 652 , 650 ) ;
}
logname = amakenamestr ( logfile ) ;
selector = 18 ;
{
Fputs( logfile , "This is TeX, C Version 2.9" ) ;
print ( formatident ) ;
print ( 653 ) ;
printint ( eqtb [ 5288 ] .cint ) ;
printchar ( 32 ) ;
months = " JANFEBMARAPRMAYJUNJULAUGSEPOCTNOVDEC" ;
for ( k = 3 * eqtb [ 5289 ] .cint - 2 ; k <= 3 * eqtb [ 5289 ] .cint ; k
++ )
putc( months [ k ] , logfile );
printchar ( 32 ) ;
printint ( eqtb [ 5290 ] .cint ) ;
printchar ( 32 ) ;
printtwo ( eqtb [ 5287 ] .cint / 60 ) ;
printchar ( 58 ) ;
printtwo ( eqtb [ 5287 ] .cint % 60 ) ;
}
inputstack [ inputptr ] = curinput ;
printnl ( 651 ) ;
l = inputstack [ 0 ] .limitfield ;
if ( buffer [ l ] == eqtb [ 5315 ] .cint )
decr ( l ) ;
for ( k = 1 ; k <= l ; k ++ )
print ( buffer [ k ] ) ;
println () ;
selector = oldsetting + 2 ;
}