home *** CD-ROM | disk | FTP | other *** search
- #define EXTERN extern
- #include "texd.h"
-
- void scanint ( )
- {/* 30 */ scanint_regmem
- 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 < 4095 )
- {
- curval = curchr ;
- if ( curcmd <= 2 )
- if ( curcmd == 2 )
- incr ( alignstate ) ;
- else decr ( alignstate ) ;
- }
- else if ( curtok < 4352 )
- curval = curtok - 4096 ;
- else curval = curtok - 4352 ;
- if ( curval > 255 )
- {
- {
- if ( interaction == 3 )
- wakeupterminal () ;
- printnl ( 262 ) ;
- print ( 694 ) ;
- }
- {
- helpptr = 2 ;
- helpline [ 1 ] = 695 ;
- helpline [ 0 ] = 696 ;
- }
- curval = 48 ;
- backerror () ;
- }
- else {
-
- getxtoken () ;
- if ( curcmd != 10 )
- backinput () ;
- }
- }
- else if ( ( curcmd >= 68 ) && ( curcmd <= 89 ) )
- scansomethinginternal ( 0 , false ) ;
- else {
-
- radix = 10 ;
- m = 214748364L ;
- if ( curtok == 3111 )
- {
- radix = 8 ;
- m = 268435456L ;
- getxtoken () ;
- }
- else if ( curtok == 3106 )
- {
- radix = 16 ;
- m = 134217728L ;
- 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 )
- wakeupterminal () ;
- printnl ( 262 ) ;
- print ( 697 ) ;
- }
- {
- helpptr = 2 ;
- helpline [ 1 ] = 698 ;
- helpline [ 0 ] = 699 ;
- }
- error () ;
- curval = 2147483647L ;
- OKsofar = false ;
- }
- }
- else curval = curval * radix + d ;
- getxtoken () ;
- }
- lab30: ;
- if ( vacuous )
- {
- {
- if ( interaction == 3 )
- wakeupterminal () ;
- printnl ( 262 ) ;
- print ( 660 ) ;
- }
- {
- helpptr = 3 ;
- helpline [ 2 ] = 661 ;
- helpline [ 1 ] = 662 ;
- helpline [ 0 ] = 663 ;
- }
- backerror () ;
- }
- else if ( curcmd != 10 )
- backinput () ;
- }
- if ( negative )
- curval = - (integer) curval ;
- }
- void zscandimen ( mu , inf , shortcut )
- boolean mu ;
- boolean inf ;
- boolean shortcut ;
- {/* 30 31 32 40 45 88 89 */ scandimen_regmem
- boolean negative ;
- integer f ;
- integer num, denom ;
- smallnumber k, kk ;
- halfword p, q ;
- 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 >= 68 ) && ( curcmd <= 89 ) )
- if ( mu )
- {
- scansomethinginternal ( 3 , false ) ;
- if ( curvallevel >= 2 )
- {
- v = mem [ curval + 1 ] .cint ;
- deleteglueref ( curval ) ;
- curval = v ;
- }
- if ( curvallevel == 3 )
- goto lab89 ;
- if ( curvallevel != 0 )
- muerror () ;
- }
- else {
-
- scansomethinginternal ( 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 ;
- p = 0 ;
- gettoken () ;
- while ( true ) {
-
- getxtoken () ;
- if ( ( curtok > 3129 ) || ( curtok < 3120 ) )
- goto lab31 ;
- if ( k < 17 )
- {
- q = getavail () ;
- mem [ q ] .hh .v.RH = p ;
- mem [ q ] .hh .v.LH = curtok - 3120 ;
- p = q ;
- incr ( k ) ;
- }
- }
- lab31: {
- register integer for_end; kk = k ; for_end = 1 ; if ( kk >=
- for_end) do
- {
- dig [ kk - 1 ] = mem [ p ] .hh .v.LH ;
- q = p ;
- p = mem [ p ] .hh .v.RH ;
- {
- mem [ q ] .hh .v.RH = avail ;
- avail = q ;
- ;
- #ifdef STAT
- decr ( dynused ) ;
- #endif /* STAT */
- }
- }
- while ( kk-- > for_end ) ; }
- f = rounddecimals ( k ) ;
- if ( curcmd != 10 )
- backinput () ;
- }
- }
- }
- if ( curval < 0 )
- {
- negative = ! negative ;
- curval = - (integer) curval ;
- }
- if ( inf )
- if ( scankeyword ( 309 ) )
- {
- curorder = 1 ;
- while ( scankeyword ( 108 ) ) {
-
- if ( curorder == 3 )
- {
- {
- if ( interaction == 3 )
- wakeupterminal () ;
- printnl ( 262 ) ;
- print ( 701 ) ;
- }
- print ( 702 ) ;
- {
- helpptr = 1 ;
- helpline [ 0 ] = 703 ;
- }
- error () ;
- }
- else incr ( curorder ) ;
- }
- goto lab88 ;
- }
- savecurval = curval ;
- do {
- getxtoken () ;
- } while ( ! ( curcmd != 10 ) ) ;
- if ( ( curcmd < 68 ) || ( curcmd > 89 ) )
- backinput () ;
- else {
-
- if ( mu )
- {
- scansomethinginternal ( 3 , false ) ;
- if ( curvallevel >= 2 )
- {
- v = mem [ curval + 1 ] .cint ;
- deleteglueref ( curval ) ;
- curval = v ;
- }
- if ( curvallevel != 3 )
- muerror () ;
- }
- else scansomethinginternal ( 1 , false ) ;
- v = curval ;
- goto lab40 ;
- }
- if ( mu )
- goto lab45 ;
- if ( scankeyword ( 704 ) )
- v = ( fontinfo [ 6 + parambase [ eqtb [ 4834 ] .hh .v.RH ] ] .cint ) ;
- else if ( scankeyword ( 705 ) )
- v = ( fontinfo [ 5 + parambase [ eqtb [ 4834 ] .hh .v.RH ] ] .cint ) ;
- else goto lab45 ;
- {
- getxtoken () ;
- if ( curcmd != 10 )
- backinput () ;
- }
- lab40: curval = multandadd ( savecurval , v , xnoverd ( v , f , 65536L ) ,
- 1073741823L ) ;
- goto lab89 ;
- lab45: ;
- if ( mu )
- if ( scankeyword ( 334 ) )
- goto lab88 ;
- else {
-
- {
- if ( interaction == 3 )
- wakeupterminal () ;
- printnl ( 262 ) ;
- print ( 701 ) ;
- }
- print ( 706 ) ;
- {
- helpptr = 4 ;
- helpline [ 3 ] = 707 ;
- helpline [ 2 ] = 708 ;
- helpline [ 1 ] = 709 ;
- helpline [ 0 ] = 710 ;
- }
- error () ;
- goto lab88 ;
- }
- if ( scankeyword ( 700 ) )
- {
- preparemag () ;
- if ( eqtb [ 6180 ] .cint != 1000 )
- {
- curval = xnoverd ( curval , 1000 , eqtb [ 6180 ] .cint ) ;
- f = ( 1000 * f + 65536L * remainder ) / eqtb [ 6180 ] .cint ;
- curval = curval + ( f / 65536L ) ;
- f = f % 65536L ;
- }
- }
- if ( scankeyword ( 393 ) )
- goto lab88 ;
- if ( scankeyword ( 711 ) )
- {
- num = 7227 ;
- denom = 100 ;
- }
- else if ( scankeyword ( 712 ) )
- {
- num = 12 ;
- denom = 1 ;
- }
- else if ( scankeyword ( 713 ) )
- {
- num = 7227 ;
- denom = 254 ;
- }
- else if ( scankeyword ( 714 ) )
- {
- num = 7227 ;
- denom = 2540 ;
- }
- else if ( scankeyword ( 715 ) )
- {
- num = 7227 ;
- denom = 7200 ;
- }
- else if ( scankeyword ( 716 ) )
- {
- num = 1238 ;
- denom = 1157 ;
- }
- else if ( scankeyword ( 717 ) )
- {
- num = 14856 ;
- denom = 1157 ;
- }
- else if ( scankeyword ( 718 ) )
- goto lab30 ;
- else {
-
- {
- if ( interaction == 3 )
- wakeupterminal () ;
- printnl ( 262 ) ;
- print ( 701 ) ;
- }
- print ( 719 ) ;
- {
- helpptr = 6 ;
- helpline [ 5 ] = 720 ;
- helpline [ 4 ] = 721 ;
- helpline [ 3 ] = 722 ;
- helpline [ 2 ] = 708 ;
- helpline [ 1 ] = 709 ;
- helpline [ 0 ] = 710 ;
- }
- error () ;
- goto lab32 ;
- }
- curval = xnoverd ( curval , num , denom ) ;
- f = ( num * f + 65536L * remainder ) / denom ;
- curval = curval + ( f / 65536L ) ;
- f = f % 65536L ;
- lab32: ;
- lab88: if ( curval >= 16384 )
- aritherror = true ;
- else curval = curval * 65536L + f ;
- lab30: ;
- {
- getxtoken () ;
- if ( curcmd != 10 )
- backinput () ;
- }
- lab89: if ( aritherror || ( abs ( curval ) >= 1073741824L ) )
- {
- {
- if ( interaction == 3 )
- wakeupterminal () ;
- printnl ( 262 ) ;
- print ( 723 ) ;
- }
- {
- helpptr = 2 ;
- helpline [ 1 ] = 724 ;
- helpline [ 0 ] = 725 ;
- }
- error () ;
- curval = 1073741823L ;
- aritherror = false ;
- }
- if ( negative )
- curval = - (integer) curval ;
- }
- void zscanglue ( level )
- smallnumber level ;
- {/* 10 */ scanglue_regmem
- 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 >= 68 ) && ( curcmd <= 89 ) )
- {
- scansomethinginternal ( 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 = - (integer) curval ;
- }
- q = newspec ( 0 ) ;
- mem [ q + 1 ] .cint = curval ;
- if ( scankeyword ( 726 ) )
- {
- scandimen ( mu , true , false ) ;
- mem [ q + 2 ] .cint = curval ;
- mem [ q ] .hh.b0 = curorder ;
- }
- if ( scankeyword ( 727 ) )
- {
- scandimen ( mu , true , false ) ;
- mem [ q + 3 ] .cint = curval ;
- mem [ q ] .hh.b1 = curorder ;
- }
- curval = q ;
- }
- halfword scanrulespec ( )
- {/* 21 */ register halfword Result; scanrulespec_regmem
- halfword q ;
- q = newrule () ;
- if ( curcmd == 35 )
- mem [ q + 1 ] .cint = 26214 ;
- else {
-
- mem [ q + 3 ] .cint = 26214 ;
- mem [ q + 2 ] .cint = 0 ;
- }
- lab21: if ( scankeyword ( 728 ) )
- {
- scandimen ( false , false , false ) ;
- mem [ q + 1 ] .cint = curval ;
- goto lab21 ;
- }
- if ( scankeyword ( 729 ) )
- {
- scandimen ( false , false , false ) ;
- mem [ q + 3 ] .cint = curval ;
- goto lab21 ;
- }
- if ( scankeyword ( 730 ) )
- {
- scandimen ( false , false , false ) ;
- mem [ q + 2 ] .cint = curval ;
- goto lab21 ;
- }
- Result = q ;
- return(Result) ;
- }
- halfword zstrtoks ( b )
- poolpointer b ;
- {register halfword Result; strtoks_regmem
- halfword p ;
- halfword q ;
- halfword t ;
- poolpointer k ;
- {
- if ( poolptr + 1 > poolsize )
- overflow ( 257 , poolsize - initpoolptr ) ;
- }
- p = memtop - 3 ;
- mem [ p ] .hh .v.RH = 0 ;
- k = b ;
- 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 [ q ] .hh .v.RH ;
- mem [ q ] .hh .v.RH = 0 ;
- ;
- #ifdef STAT
- incr ( dynused ) ;
- #endif /* STAT */
- }
- }
- mem [ p ] .hh .v.RH = q ;
- mem [ q ] .hh .v.LH = t ;
- p = q ;
- }
- incr ( k ) ;
- }
- poolptr = b ;
- Result = p ;
- return(Result) ;
- }
- halfword thetoks ( )
- {register halfword Result; thetoks_regmem
- schar oldsetting ;
- halfword p, q, r ;
- poolpointer b ;
- getxtoken () ;
- scansomethinginternal ( 5 , false ) ;
- if ( curvallevel >= 4 )
- {
- p = memtop - 3 ;
- mem [ p ] .hh .v.RH = 0 ;
- if ( curvallevel == 4 )
- {
- q = getavail () ;
- mem [ p ] .hh .v.RH = q ;
- mem [ q ] .hh .v.LH = 4095 + curval ;
- p = q ;
- }
- else if ( curval != 0 )
- {
- r = mem [ curval ] .hh .v.RH ;
- while ( r != 0 ) {
-
- {
- {
- q = avail ;
- if ( q == 0 )
- q = getavail () ;
- else {
-
- avail = mem [ q ] .hh .v.RH ;
- mem [ q ] .hh .v.RH = 0 ;
- ;
- #ifdef STAT
- incr ( dynused ) ;
- #endif /* STAT */
- }
- }
- mem [ p ] .hh .v.RH = q ;
- mem [ q ] .hh .v.LH = mem [ r ] .hh .v.LH ;
- p = q ;
- }
- r = mem [ r ] .hh .v.RH ;
- }
- }
- Result = p ;
- }
- else {
-
- oldsetting = selector ;
- selector = 21 ;
- b = poolptr ;
- switch ( curvallevel )
- {case 0 :
- printint ( curval ) ;
- break ;
- case 1 :
- {
- printscaled ( curval ) ;
- print ( 393 ) ;
- }
- break ;
- case 2 :
- {
- printspec ( curval , 393 ) ;
- deleteglueref ( curval ) ;
- }
- break ;
- case 3 :
- {
- printspec ( curval , 334 ) ;
- deleteglueref ( curval ) ;
- }
- break ;
- }
- selector = oldsetting ;
- Result = strtoks ( b ) ;
- }
- return(Result) ;
- }
- void insthetoks ( )
- {insthetoks_regmem
- mem [ memtop - 12 ] .hh .v.RH = thetoks () ;
- begintokenlist ( mem [ memtop - 3 ] .hh .v.RH , 4 ) ;
- }
- void convtoks ( )
- {convtoks_regmem
- schar oldsetting ;
- schar c ;
- smallnumber savescannerstatus ;
- poolpointer b ;
- c = curchr ;
- switch ( c )
- {case 0 :
- case 1 :
- scanint () ;
- break ;
- case 2 :
- case 3 :
- {
- savescannerstatus = scannerstatus ;
- scannerstatus = 0 ;
- gettoken () ;
- scannerstatus = savescannerstatus ;
- }
- break ;
- case 4 :
- scanfontident () ;
- break ;
- case 5 :
- if ( jobname == 0 )
- openlogfile () ;
- break ;
- }
- oldsetting = selector ;
- selector = 21 ;
- b = poolptr ;
- switch ( c )
- {case 0 :
- printint ( curval ) ;
- break ;
- case 1 :
- printromanint ( 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 ( 737 ) ;
- printscaled ( fontsize [ curval ] ) ;
- print ( 393 ) ;
- }
- }
- break ;
- case 5 :
- print ( jobname ) ;
- break ;
- }
- selector = oldsetting ;
- mem [ memtop - 12 ] .hh .v.RH = strtoks ( b ) ;
- begintokenlist ( mem [ memtop - 3 ] .hh .v.RH , 4 ) ;
- }
- halfword zscantoks ( macrodef , xpand )
- boolean macrodef ;
- boolean xpand ;
- {/* 40 30 31 32 */ register halfword Result; scantoks_regmem
- halfword t ;
- halfword s ;
- halfword p ;
- halfword q ;
- halfword unbalance ;
- halfword hashbrace ;
- if ( macrodef )
- scannerstatus = 2 ;
- else scannerstatus = 5 ;
- warningindex = curcs ;
- defref = getavail () ;
- mem [ 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 [ p ] .hh .v.RH = q ;
- mem [ q ] .hh .v.LH = curtok ;
- p = q ;
- }
- {
- q = getavail () ;
- mem [ p ] .hh .v.RH = q ;
- mem [ q ] .hh .v.LH = 3584 ;
- p = q ;
- }
- goto lab30 ;
- }
- if ( t == 3129 )
- {
- {
- if ( interaction == 3 )
- wakeupterminal () ;
- printnl ( 262 ) ;
- print ( 740 ) ;
- }
- {
- helpptr = 1 ;
- helpline [ 0 ] = 741 ;
- }
- error () ;
- }
- else {
-
- incr ( t ) ;
- if ( curtok != t )
- {
- {
- if ( interaction == 3 )
- wakeupterminal () ;
- printnl ( 262 ) ;
- print ( 742 ) ;
- }
- {
- helpptr = 2 ;
- helpline [ 1 ] = 743 ;
- helpline [ 0 ] = 744 ;
- }
- backerror () ;
- }
- curtok = s ;
- }
- }
- {
- q = getavail () ;
- mem [ p ] .hh .v.RH = q ;
- mem [ q ] .hh .v.LH = curtok ;
- p = q ;
- }
- }
- lab31: {
-
- q = getavail () ;
- mem [ p ] .hh .v.RH = q ;
- mem [ q ] .hh .v.LH = 3584 ;
- p = q ;
- }
- if ( curcmd == 2 )
- {
- {
- if ( interaction == 3 )
- wakeupterminal () ;
- printnl ( 262 ) ;
- print ( 653 ) ;
- }
- incr ( alignstate ) ;
- {
- helpptr = 2 ;
- helpline [ 1 ] = 738 ;
- helpline [ 0 ] = 739 ;
- }
- error () ;
- goto lab40 ;
- }
- lab30: ;
- }
- else scanleftbrace () ;
- unbalance = 1 ;
- while ( true ) {
-
- if ( xpand )
- {
- while ( true ) {
-
- getnext () ;
- if ( curcmd <= 100 )
- goto lab32 ;
- if ( curcmd != 109 )
- expand () ;
- else {
-
- q = thetoks () ;
- if ( mem [ memtop - 3 ] .hh .v.RH != 0 )
- {
- mem [ p ] .hh .v.RH = mem [ 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 )
- wakeupterminal () ;
- printnl ( 262 ) ;
- print ( 745 ) ;
- }
- sprintcs ( warningindex ) ;
- {
- helpptr = 3 ;
- helpline [ 2 ] = 746 ;
- helpline [ 1 ] = 747 ;
- helpline [ 0 ] = 748 ;
- }
- backerror () ;
- curtok = s ;
- }
- else curtok = 1232 + curchr ;
- }
- {
- q = getavail () ;
- mem [ p ] .hh .v.RH = q ;
- mem [ q ] .hh .v.LH = curtok ;
- p = q ;
- }
- }
- lab40: scannerstatus = 0 ;
- if ( hashbrace != 0 )
- {
- q = getavail () ;
- mem [ p ] .hh .v.RH = q ;
- mem [ q ] .hh .v.LH = hashbrace ;
- p = q ;
- }
- Result = p ;
- return(Result) ;
- }
- void zreadtoks ( n , r )
- integer n ;
- halfword r ;
- {/* 30 */ readtoks_regmem
- halfword p ;
- halfword q ;
- integer s ;
- smallnumber m ;
- scannerstatus = 2 ;
- warningindex = r ;
- defref = getavail () ;
- mem [ defref ] .hh .v.LH = 0 ;
- p = defref ;
- {
- q = getavail () ;
- mem [ p ] .hh .v.RH = q ;
- mem [ q ] .hh .v.LH = 3584 ;
- p = q ;
- }
- if ( ( n < 0 ) || ( n > 15 ) )
- m = 16 ;
- else m = n ;
- s = alignstate ;
- alignstate = 1000000L ;
- do {
- beginfilereading () ;
- curinput .namefield = m + 1 ;
- if ( readopen [ m ] == 2 )
- if ( interaction > 1 )
- if ( n < 0 )
- {
- wakeupterminal () ;
- print ( 335 ) ;
- terminput () ;
- }
- else {
-
- wakeupterminal () ;
- println () ;
- sprintcs ( r ) ;
- {
- wakeupterminal () ;
- print ( 61 ) ;
- terminput () ;
- }
- n = -1 ;
- }
- else fatalerror ( 749 ) ;
- 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 != 1000000L )
- {
- runaway () ;
- {
- if ( interaction == 3 )
- wakeupterminal () ;
- printnl ( 262 ) ;
- print ( 750 ) ;
- }
- printesc ( 530 ) ;
- {
- helpptr = 1 ;
- helpline [ 0 ] = 751 ;
- }
- alignstate = 1000000L ;
- error () ;
- }
- }
- }
- curinput .limitfield = last ;
- if ( ( eqtb [ 6211 ] .cint < 0 ) || ( eqtb [ 6211 ] .cint > 255 ) )
- decr ( curinput .limitfield ) ;
- else buffer [ curinput .limitfield ] = eqtb [ 6211 ] .cint ;
- first = curinput .limitfield + 1 ;
- curinput .locfield = curinput .startfield ;
- curinput .statefield = 33 ;
- while ( true ) {
-
- gettoken () ;
- if ( curtok == 0 )
- goto lab30 ;
- {
- q = getavail () ;
- mem [ p ] .hh .v.RH = q ;
- mem [ q ] .hh .v.LH = curtok ;
- p = q ;
- }
- }
- lab30: endfilereading () ;
- } while ( ! ( alignstate == 1000000L ) ) ;
- curval = defref ;
- scannerstatus = 0 ;
- alignstate = s ;
- }
-