# common blocks. # these have been lumped into one place to minimize # the operational problems of picking up several small # files in an environment that doesn't support files # by name. The individual routines still name as comments the # actual common blocks they need, but actually include # everything in this batch, with a statement: # include commonblocks common /cchar/ extdig(10), intdig(10), extlet(26), intlet(26), extbig(26), intbig(26), extchr(NCHARS), intchr(NCHARS), extblk, intblk, intran(127) integer extdig # external representation of digits integer intdig # internal rep (ascii) integer extlet # external rep of letters (normal case) integer intlet # internal rep (ascii lower case) integer extbig # external rep of upper case, if used integer intbig # internal rep (upper case ascii) integer extchr # external rep of special chars integer intchr # internal rep (ascii) integer extblk # external blank integer intblk # internal blank (ascii) byte intran # input translation table. common /cdefio/ bp, buf(BUFSIZE) integer bp # next available character; init = 0 character buf # pushed-back characters common /cfor/ fordep, forstk(MAXFORSTK) integer fordep # current depth of for statements character forstk # stack of reinit strings common /ckeywd/ sdo, sif, selse, swhile, sbreak, snext, sfor, srept, suntil, vdo, vif, velse, vwhile, vbreak, vnext, vfor, vrept, vuntil integer sdo(3), sif(3), selse(5), swhile(6), sbreak(6), snext(5) integer sfor(4), srept(7), suntil(6) integer vdo(2), vif(2), velse(2), vwhile(2), vbreak(2), vnext(2) integer vfor(2), vrept(2), vuntil(2) common /cline/ level, linect(NFILES), infile(NFILES), inbufp(NFILES),inbufb,blk(NFILES),insize, inbuff(NFILES),inbufe(NFILES),instat(NFILES) integer level # level of file inclusion; init = 1 integer linect # line count on input file(level); init = 1 integer infile # file number(level); init infile(1) = STDIN integer inbufp # index of next char in inbuf level i. integer inbufb # index of beginning of buffer of current level. integer blk # next block to be read in. integer insize # size of each input buffer. integer inbuff # index of first char position in full buffer # (buffer being emptied) integer inbufe # index of first char position in empty buffer # (buffer being read) integer instat # status return from last read. common /clook/ lastp, lastt, namptr(MAXPTR), table(MAXTBL) integer lastp # last used in namptr; init = 0 integer lastt # last used in table; init = 0 integer namptr # name pointers character table # actual text of names and defns common /coutln/ outp, outbuf(MAXLINE), obufp, obuff, obufe, osize, ochan, ostat, oblk integer outp # last position filled in outbuf; init = 0 character outbuf # output lines collected here integer*2 obufp # index of next available character position # in obuf in buffer beginning at obuff. integer*2 obuff # index of first character position in buffer # being filled. integer*2 obufe # index of first character position in buffer # being written. integer*2 osize # size in characters of output buffer. integer*2 ochan # output RT-11 channel. integer*2 ostat # status return from last write. integer*2 oblk # block number of next block to be written. common /ciobuf/ obuf(1024),inbuf(10240) byte obuf # output buffer for syslib i/o. byte inbuf # input buffers for syslib i/o.