1: static char apl_h_Sccsid[] = "apl.h @(#)apl.h	1.5	2/16/84 Berkeley ";
   2: /*
   3:  *	UNIX APL\11
   4:  *
   5:  *
   6:  *	UNIX APL was originally written by Ken Thompson at Bell Labs.
   7:  *	It spent some time at Yale and finally arrived at Purdue
   8:  *	University.  Since 1976 it has been modified by Jim Besemer
   9:  *	and John Bruner at the School of Electrical Engineering, Purdue,
  10:  *	under the direction of Dr. Anthony P. Reeves.  It is currently
  11:  *	being developed and supported at Purdue/EE by J. Bruner and
  12:  *	A. Reeves on both PDP-11's and VAX-11/780's
  13:  */
  14: 
  15: #include <sys/param.h>
  16: /*
  17:  *	New file system param.h defines MIN and MAX; we
  18:  *	have to undefine them to avoid conflicts
  19:  */
  20: #ifdef MIN
  21: #  undef MIN
  22: #endif MIN
  23: #ifdef MAX
  24: #  undef MAX
  25: #endif MAX
  26: 
  27: #include <sys/stat.h>
  28: #include <sys/dir.h>
  29: #include <sys/time.h>
  30: #include <setjmp.h>
  31: 
  32: /*
  33:  * Configuration information
  34:  *
  35:  * The C preprocessor will automatically supply "vax" if APL is compiled
  36:  * on a VAX-11/780.
  37:  *
  38:  * Other configuration parameters which may be specified are:
  39:  *
  40:  * PURDUE_EE		enable special Purdue/EE code
  41:  * VMUNIX		enable code for Berkeley virtual UNIX stuff
  42:  *  VFORK		use vfork() when possible (implied by VMUNIX)
  43:  *  VLIMIT		use 4.1bsd vlimit() (implied by VMUNIX)
  44:  *  NDIR		4.2bsd directory format (implied by VMUNIX)
  45:  * APL2			generate single-precision version
  46:  */
  47: 
  48: #ifdef VMUNIX
  49: #define VLIMIT
  50: #define VFORK
  51: #endif
  52: 
  53: #define NFDS    20      /* Number of available fd's */
  54: #define MAXEOT  8       /* # of input EOT's before panic */
  55: 
  56: /*
  57:  * Temp file names
  58:  */
  59: 
  60: #define WSFILE  ws_file     /* work space file */
  61: 
  62: /*
  63:  * Magic Numbers
  64:  */
  65: 
  66: #define MRANK   8
  67: #define CANBS   300
  68: #define STKS    500
  69: #define NLS 200
  70: #define NAMS    40
  71: #define OBJS    500
  72: #define MAXLAB  30
  73: 
  74: #ifndef vax
  75: #ifdef APL2
  76: #define MAGIC   0101555     /* PDP-11 single-precision format */
  77: #else
  78: #define MAGIC   0101554     /* PDP-11 double-precision format */
  79: #endif
  80: #else
  81: #ifdef APL2
  82: #define MAGIC   0101557     /* VAX single-precision format */
  83: #else
  84: #define MAGIC   0101556     /* VAX double-precision format */
  85: #endif
  86: #endif
  87: 
  88: #ifdef APL2
  89: #define data    float
  90: #else
  91: #define data    double
  92: #endif
  93: 
  94: /*
  95:  * derived constants
  96:  */
  97: 
  98: #define SDAT    sizeof(data)
  99: #define SINT    sizeof(int)
 100: 
 101: /*
 102:  * Interpreter Op Codes
 103:  */
 104: 
 105: #define EOF (-1)
 106: #define EOL 0
 107: 
 108: #define ADD 1
 109: #define PLUS    2
 110: #define SUB 3
 111: #define MINUS   4
 112: #define MUL 5
 113: #define SGN 6
 114: #define DIV 7
 115: #define RECIP   8
 116: #define MOD 9
 117: #define ABS 10
 118: #define MIN 11
 119: #define FLOOR   12
 120: #define MAX 13
 121: #define CEIL    14
 122: #define PWR 15
 123: #define EXP 16
 124: #define LOG 17
 125: #define LOGE    18
 126: #define CIR 19
 127: #define PI  20
 128: #define COMB    21
 129: #define FAC 22
 130: 
 131: #define DEAL    23
 132: #define RAND    24
 133: #define DRHO    25
 134: #define MRHO    26
 135: #define DIOT    27
 136: #define MIOT    28
 137: #define ROT0    29
 138: #define REV0    30
 139: #define DTRN    31
 140: #define MTRN    32
 141: #define DIBM    33
 142: #define MIBM    34
 143: 
 144: #define GDU 35
 145: #define GDUK    36
 146: #define GDD 37
 147: #define GDDK    38
 148: #define EXD 39
 149: #define SCAN    40
 150: #define EXDK    41
 151: #define SCANK   42
 152: #define IPROD   43
 153: #define OPROD   44
 154: #define QUAD    45
 155: #define QQUAD   46
 156: #define BRAN0   47
 157: #define BRAN    48
 158: #define DDOM    49
 159: #define MDOM    50
 160: 
 161: #define COM 51
 162: #define RED 52
 163: #define COMK    53
 164: #define REDK    54
 165: #define ROT 55
 166: #define REV 56
 167: #define ROTK    57
 168: #define REVK    58
 169: #define CAT 59
 170: #define RAV 60
 171: #define CATK    61
 172: #define RAVK    62
 173: 
 174: #define PRINT   63
 175: #define QUOT    64
 176: #define ELID    65
 177: #define CQUAD   66
 178: #define COMNT   67
 179: #define INDEX   68
 180: #define HPRINT  69
 181: 
 182: #define LT  71
 183: #define LE  72
 184: #define GT  73
 185: #define GE  74
 186: #define EQ  75
 187: #define NE  76
 188: #define AND 77
 189: #define OR  78
 190: #define NAND    79
 191: #define NOR 80
 192: #define NOT 81
 193: #define EPS 82
 194: #define MEPS    83
 195: #define REP 84
 196: #define TAKE    85
 197: #define DROP    86
 198: #define ASGN    88
 199: #define IMMED   89
 200: 
 201: 
 202: #define NAME    90
 203: #define CONST   91
 204: #define FUN 92
 205: #define ARG1    93
 206: #define ARG2    94
 207: #define AUTO    95
 208: #define REST    96
 209: 
 210: #define COM0    97
 211: #define RED0    98
 212: #define EXD0    99
 213: #define SCAN0   100
 214: #define BASE    101
 215: #define MENC    102 /*	monadic	encode	*/
 216: #define LABEL   103 /* statement label */
 217: #define PSI 104 /* PSI input character */
 218: #define PSI1    105 /* PSI monadic half */
 219: #define PSI2    106 /* PSI dyadic half */
 220: #define ISP 107 /* ISP input code */
 221: #define ISP1    108 /* ISP monadic half */
 222: #define ISP2    109 /* ISP dyadic half */
 223: #define QWID    110 /* quad fn1 */
 224: #define QFUZZ   111
 225: #define QRUN    112
 226: #define QFORK   113
 227: #define QWAIT   114
 228: #define QEXEC   115
 229: #define FDEF    116
 230: #define QEXIT   117
 231: #define QPIPE   118
 232: #define QCHDIR  119
 233: #define QOPEN   120
 234: #define QCLOSE  121
 235: #define QREAD   122
 236: #define QWRITE  123
 237: #define QCREAT  124
 238: #define QSEEK   125
 239: #define QUNLNK  126
 240: #define QRD 127
 241: #define QDUP    128
 242: #define QAP 129
 243: #define QKILL   130
 244: #define QCRP    131
 245: #define DFMT    132
 246: #define MFMT    133
 247: #define QNC 134
 248: #define NILRET  135
 249: #define XQUAD   136
 250: #define SICLR   137
 251: #define SICLR0  138
 252: #define RVAL    139
 253: #define QSIGNL  140
 254: #define QFLOAT  141     /* Float character string to data */
 255: #define QNL 142     /* Produce namelist */
 256: 
 257: /*
 258:  * Immediate sub-op codes
 259:  */
 260: 
 261: #define CLEAR   1
 262: #define DIGITS  2
 263: #define EDIT    3
 264: #define ERASE   4
 265: #define FNS 5
 266: #define FUZZ    6
 267: #define READ    7
 268: #define ORIGIN  8
 269: #define VARS    9
 270: #define WIDTH   10
 271: #define DEBUG   11
 272: #define OFF 12
 273: #define LOAD    13
 274: #define SAVE    14
 275: #define COPY    15
 276: #define CONTIN  16
 277: #define LIB 17
 278: #define DROPC   18
 279: #define VSAVE   19
 280: #define SCRIPT  20
 281: #define EDITF   21
 282: #define TRACE   22
 283: #define UNTRACE 23
 284: #define WRITE   24
 285: #define RESET   25
 286: #define SICOM   26
 287: #define CODE    27
 288: #define DEL 28
 289: #define SHELL   29
 290: #define LIST    30
 291: #define PRWS    31
 292: 
 293: struct  chrstrct
 294: {
 295:     char    c[2];           /* Can't be 0 anymore (VAX) */
 296: };
 297: 
 298: union uci
 299: {
 300:     char    cv[sizeof(int)];    /* character array */
 301:     unsigned i;         /* unsigned integer value */
 302: };
 303: 
 304: data    zero;
 305: data    one;
 306: data    pi;
 307: data    maxexp; /* the largest value such that exp(maxexp) is defined */
 308: data    datum;
 309: data    getdat();
 310: int funtrace;   /* function trace enabled */
 311: int labgen;     /* label processing being done */
 312: int apl_term;   /* flag set if apl terminal mapping req'd */
 313: jmp_buf gbl_env;    /* Used for setexit/reset */
 314: 
 315: /*
 316:  * Several unrelated values, which appear
 317:  * together in the header of an apl workspace file.
 318:  */
 319: struct
 320: {
 321:     double  fuzz;
 322:     int iorg;
 323:     int digits;
 324:     int width;
 325:     int rl;     /* Random Seed (Ph.A. S.B.B.) */
 326: } thread;
 327: 
 328: /*
 329:  * Data types
 330:  * Each new type should be accomodated for
 331:  * in dealloc [a0.c]
 332:  */
 333: 
 334: #define DA  1
 335: #define CH  2
 336: #define LV  3
 337: #define QD  4
 338: #define QQ  5
 339: #define IN  6
 340: #define EL  7
 341: #define NF  8
 342: #define MF  9
 343: #define DF  10
 344: #define QC  11
 345: #define QV  12  /* quad variables */
 346: #define DU  13  /* dummy -- causes fetch error except on print */
 347: #define QX  14  /* latent expr. quad "Llx" */
 348: #define LBL 15  /* locked label value */
 349: #define NTYPES  16  /* number of defined types */
 350: 
 351: /*
 352:  * This is a descriptor for apl data, allocated by "newdat".
 353:  * The actual data starts at item.dim[item.rank], and thus
 354:  * &item.dim[item.rank] should always == item.datap.
 355:  * See the comment in "newdat" (a0.c) about "dim".
 356:  *
 357:  * A null item is a vector(!), and is rank==1, size==0.
 358:  *
 359:  * the stack is the operand stack, and sp is the pointer to the
 360:  * top of  the stack.
 361:  */
 362: 
 363: struct item
 364: {
 365:     char    rank;
 366:     char    type;
 367:     int size;
 368:     int index;
 369:     data    *datap;
 370:     int dim[MRANK];
 371: } *stack[STKS], **sp;
 372: 
 373: /*
 374:  * variable/fn (and file name) descriptor block.
 375:  * contains useful information about all LVals.
 376:  * Also kludged up to handle file names (only nlist.namep
 377:  * is then used.)
 378:  *
 379:  * For fns, nlist.itemp is an array of pointers to character
 380:  * strings which are the compiled code for a line of the fn.
 381:  * (Itemp == 0) means that the fn has not yet been compiled .
 382:  * nlist.itemp[0] == the number of lines in the fn, and
 383:  * nlist.itemp[1] == the function startup code, and
 384:  * nlist.itemp[max] == the close down shop code.
 385:  */
 386: 
 387: struct nlist
 388: {
 389:     char    use;
 390:     char    type;   /* == LV */
 391:     struct item  *itemp;
 392:     char    *namep;
 393:     int label;
 394: } nlist[NLS];
 395: 
 396: /*
 397:  * This is the structure used to implement the
 398:  * APL state indicator.
 399:  *
 400:  * The structure is allocated dynamically in ex_fun (ai.c),
 401:  * but not explicitly.   Ex_fun declares a single, local
 402:  * structure (allocated by C, itself), and links it to
 403:  * previous instances of the structure.  SI is used for
 404:  * two basic things:
 405:  *
 406:  *	1) error traceback (Including ")SI" stuff).
 407:  *	2) Restoration of the global variable environment
 408:  *	   (or any other, pending environment).
 409:  *
 410:  * The global variable "gsip" is a pointer to the
 411:  * head of a chain of these structures, one for each
 412:  * instance of an activated function.  (Gsip == 0) implies
 413:  * an empty list, (gsip->sip == 0) implies the end of the list,
 414:  * and (gsip->np == 0) implies a state indicator seperator.
 415:  * (A new function was evoked with an old one pending.)
 416:  *
 417:  * Note that "gsip->funlc" is the same as the old global
 418:  * variable "funlc", and
 419:  *
 420:  *	(gsip && gsip->sip ? gsip->sip->funlc : 0)
 421:  *
 422:  * is the value of the old global, "ibeam36".
 423:  */
 424: 
 425: struct si {
 426:     int suspended;  /* fn is suspended <=1, pending <= 0 */
 427:     struct si *sip;     /* previous fn activation */
 428:     struct nlist *np;   /* current fn vital stats. */
 429:     int funlc;      /* current fn current line number */
 430:     struct item **oldsp;    /* top of operand stack upon fn entry */
 431:     char *oldpcp;       /* execution string upon fn entry */
 432:     jmp_buf env;        /* for restoration of local
 433: 				 * fn activation record */
 434: } *gsip;
 435: 
 436: /*
 437:  * exop[i] is the address of the i'th action routine.
 438:  * Because of a "symbol table overflow" problem with C,
 439:  * the table was moved from a1.c to its own at.c
 440:  */
 441: 
 442: int (*exop[])();
 443: 
 444: double  floor();
 445: double  fabs();
 446: double  ceil();
 447: double  log();
 448: double  sin();
 449: double  cos();
 450: double  atan();
 451: double  atan2();
 452: double  sqrt();
 453: double  exp();
 454: double  gamma();
 455: double  ltod();
 456: char *rline();
 457: char *alloc();
 458: char *compile();
 459: struct nlist *nlook();
 460: struct item *fetch(), *fetch1(), *fetch2(), *extend();
 461: struct item *newdat(), *dupdat();
 462: 
 463: int integ;
 464: int signgam;
 465: int column;
 466: int intflg;
 467: int echoflg;
 468: int offexit;        /* if != 0, require ")off" to exit */
 469: int prwsflg;
 470: int ifile;
 471: int wfile;
 472: int debug;
 473: int ttystat[3];
 474: long    stime;
 475: char    *pcp;   /* global copy of arg to exec */
 476: int     rowsz;
 477: int mencflg;
 478: int aftrace;
 479: char    *mencptr;
 480: int oldlb[MAXLAB];
 481: int pt;
 482: int syze;
 483: int pas1;
 484: int ibeam36;
 485: int protofile;
 486: int lastop; /* last (current) operator exec'ed */
 487: char *scr_file; /* scratch file name */
 488: char *ws_file;  /* apl workspace file */
 489: 
 490: 
 491: struct
 492: {
 493:     char    rank;
 494:     char    type;
 495:     int size;
 496:     int dimk;
 497:     int delk;
 498:     int dim[MRANK];
 499:     int del[MRANK];
 500:     int idx[MRANK];
 501: } idx;
 502: 
 503: 
 504: /* Following are definitions for buffered I/O.
 505:  * To generate a version of APL without buffered I/O,
 506:  * leave NBUF undefined.
 507:  */
 508: 
 509: #define NBUF    4       /* Number of I/O buffers */
 510: 
 511: 
 512: #ifdef NBUF
 513: 
 514: #ifdef vax
 515: #define BLEN    512     /* Buffered I/O buffer length */
 516: #else
 517: #define BLEN    256     /* Buffered I/O buffer length */
 518: #endif
 519: 
 520: struct iobuf {          /* Buffered I/O buffer structure */
 521:     int b_len;      /* Buffer length */
 522:     int b_next;     /* Next available character */
 523:     int b_fd;       /* Assigned file descriptor */
 524:     char b_buf[BLEN];   /* Actual buffer */
 525: } *iobuf;
 526: 
 527: 
 528: struct fds {
 529:     dev_t   fd_dev;     /* Device major/minor number */
 530:     ino_t   fd_ind;     /* File inode number */
 531:     int fd_pipe;    /* (1=pipe, 0=not a pipe) */
 532:     int fd_buf;     /* Number of assigned buffer */
 533:     char    fd_lastop;  /* Last operation (0=read, 1=write) */
 534:     char    fd_uniq;    /* Unique flag (1=unique, 0=not unique) */
 535:     char    fd_dup;     /* Principal fd for dups */
 536:     char    fd_open;    /* (0=closed, 1=open) */
 537: } files[NFDS];
 538: 
 539: 
 540: #define READF   readf       /* Buffered read routine */
 541: #define WRITEF  writef      /* Buffered write routine */
 542: #define SEEKF   lseekf      /* Buffered seek routine */
 543: #define OPENF   openf       /* Buffered file open routine */
 544: #define CREATF  creatf      /* Buffered file create routine */
 545: #define DUPF    dupf        /* Buffered file dup routine */
 546: #define CLOSEF  closef      /* Buffered file close routine */
 547: #define FSTATF  fstatf      /* Buffered "fstat" call */
 548: #ifndef VFORK
 549: #define FORKF(x) (bflush(),fork())
 550: #else
 551: #define FORKF(x) (bflush(),(x) ? vfork() : fork())
 552: #endif
 553: 
 554: #endif
 555: 
 556: 
 557: #ifndef NBUF
 558: 
 559: #define READF   read        /* Normal read routine */
 560: #define WRITEF  write       /* Normal write routine */
 561: #define SEEKF   lseek       /* Normal seek routine */
 562: #define OPENF   open        /* Normal file open routine */
 563: #define CREATF  creat       /* Normal file create routine */
 564: #define DUPF    dup     /* Normal file dup routine */
 565: #define CLOSEF  close       /* Normal file close routine */
 566: #define FSTATF  fstat       /* Normal "fstat" call */
 567: #define FORKF(x) fork()     /* Normal "fork" call */
 568: 
 569: #endif
 570: 
 571: 
 572: long SEEKF();                   /* declare SEEKF properly */
 573: 
 574: #define setexit() setjmp(gbl_env)   /* "setexit" equivalent */
 575: #define reset() longjmp(gbl_env)    /* "reset" equivalent */
 576: #define alloc(x) malloc(x)

Defined variables

aftrace defined in line 478; used 4 times
apl_h_Sccsid defined in line 1; never used
echoflg defined in line 467; used 7 times
files defined in line 537; used 45 times
funtrace defined in line 310; used 5 times
gbl_env defined in line 313; used 2 times
ibeam36 defined in line 484; never used
ifile defined in line 470; used 23 times
integ defined in line 463; used 18 times
iobuf defined in line 525; used 11 times
labgen defined in line 311; used 4 times
lastop defined in line 486; used 2 times
mencptr defined in line 479; used 5 times
offexit defined in line 468; used 7 times
oldlb defined in line 480; never used
pas1 defined in line 483; never used
protofile defined in line 485; used 11 times
pt defined in line 481; never used
rowsz defined in line 476; used 7 times
signgam defined in line 464; used 1 times
sp defined in line 371; used 196 times
stime defined in line 474; used 3 times
syze defined in line 482; never used
ttystat defined in line 473; never used
ws_file defined in line 488; used 4 times

Defined struct's

fds defined in line 528; used 20 times
iobuf defined in line 520; used 8 times
item defined in line 363; used 292 times
nlist defined in line 387; used 120 times
si defined in line 425; used 14 times

Defined union's

uci defined in line 298; used 4 times

Defined macros

ABS defined in line 117; never used
ADD defined in line 108; used 1 times
AND defined in line 188; never used
ARG1 defined in line 205; used 2 times
ARG2 defined in line 206; used 1 times
ASGN defined in line 198; used 4 times
AUTO defined in line 207; used 2 times
BASE defined in line 214; never used
BLEN defined in line 517; used 6 times
BRAN defined in line 157; used 1 times
BRAN0 defined in line 156; used 1 times
CANBS defined in line 67; used 2 times
CAT defined in line 169; never used
CATK defined in line 171; never used
CEIL defined in line 121; never used
CIR defined in line 126; never used
CLEAR defined in line 261; never used
CODE defined in line 287; never used
COM defined in line 161; never used
COM0 defined in line 210; never used
COMB defined in line 128; never used
COMK defined in line 163; never used
COMNT defined in line 178; used 4 times
CONST defined in line 203; used 1 times
CONTIN defined in line 276; never used
COPY defined in line 275; never used
CQUAD defined in line 177; never used
DDOM defined in line 158; never used
DEAL defined in line 131; never used
DEBUG defined in line 271; never used
DEL defined in line 288; used 1 times
DFMT defined in line 245; never used
DIBM defined in line 141; never used
DIGITS defined in line 262; never used
DIOT defined in line 135; never used
DIV defined in line 114; never used
DRHO defined in line 133; never used
DROP defined in line 197; never used
DROPC defined in line 278; never used
DTRN defined in line 139; never used
EDIT defined in line 263; never used
EDITF defined in line 281; never used
EL defined in line 340; used 4 times
ELID defined in line 176; used 5 times
EOL defined in line 106; used 4 times
EPS defined in line 193; never used
EQ defined in line 186; never used
ERASE defined in line 264; never used
EXD defined in line 148; never used
EXD0 defined in line 212; never used
EXDK defined in line 150; never used
EXP defined in line 123; never used
FAC defined in line 129; never used
FDEF defined in line 229; never used
FLOOR defined in line 119; never used
FNS defined in line 265; never used
FSTATF defined in line 566; used 1 times
FUN defined in line 204; used 3 times
FUZZ defined in line 266; never used
GDD defined in line 146; never used
GDDK defined in line 147; never used
GDU defined in line 144; never used
GDUK defined in line 145; never used
GE defined in line 185; never used
GT defined in line 184; never used
HPRINT defined in line 180; used 1 times
IMMED defined in line 199; used 2 times
INDEX defined in line 179; used 1 times
IPROD defined in line 152; used 1 times
ISP defined in line 220; never used
ISP1 defined in line 221; never used
ISP2 defined in line 222; never used
LABEL defined in line 216; never used
LE defined in line 183; never used
LIB defined in line 277; never used
LIST defined in line 290; never used
LOAD defined in line 273; never used
LOG defined in line 124; never used
LOGE defined in line 125; never used
LT defined in line 182; never used
MAGIC defined in line 84; used 5 times
MAX defined in line 120; used 2 times
MAXEOT defined in line 54; used 1 times
MAXLAB defined in line 72; used 3 times
MDOM defined in line 159; never used
MENC defined in line 215; never used
MEPS defined in line 194; never used
MFMT defined in line 246; never used
MIBM defined in line 142; never used
MIN defined in line 118; used 2 times
MINUS defined in line 111; never used
MIOT defined in line 136; never used
MOD defined in line 116; never used
MRANK defined in line 66; used 10 times
MRHO defined in line 134; never used
MTRN defined in line 140; never used
MUL defined in line 112; used 1 times
NAME defined in line 202; used 4 times
NAMS defined in line 70; used 3 times
NAND defined in line 190; never used
NE defined in line 187; never used
NFDS defined in line 53; used 13 times
NILRET defined in line 248; used 1 times
NLS defined in line 69; used 4 times
NOR defined in line 191; never used
NOT defined in line 192; never used
NTYPES defined in line 349; used 4 times
OBJS defined in line 71; never used
OFF defined in line 272; never used
OPROD defined in line 153; used 1 times
OR defined in line 189; never used
ORIGIN defined in line 268; never used
PI defined in line 127; never used
PLUS defined in line 109; never used
PRINT defined in line 174; used 6 times
PRWS defined in line 291; never used
PSI defined in line 217; never used
PSI1 defined in line 218; never used
PSI2 defined in line 219; never used
PWR defined in line 122; never used
QAP defined in line 242; never used
QC defined in line 344; used 1 times
QCHDIR defined in line 232; never used
QCLOSE defined in line 234; never used
QCREAT defined in line 237; never used
QCRP defined in line 244; never used
QD defined in line 337; used 1 times
QDUP defined in line 241; never used
QEXEC defined in line 228; never used
QEXIT defined in line 230; never used
QFLOAT defined in line 254; never used
QFORK defined in line 226; never used
QFUZZ defined in line 224; never used
QKILL defined in line 243; never used
QNC defined in line 247; never used
QNL defined in line 255; never used
QOPEN defined in line 233; never used
QPIPE defined in line 231; never used
QQ defined in line 338; used 1 times
QQUAD defined in line 155; never used
QRD defined in line 240; never used
QREAD defined in line 235; never used
QRUN defined in line 225; never used
QSEEK defined in line 238; never used
QSIGNL defined in line 253; never used
QUAD defined in line 154; never used
QUNLNK defined in line 239; never used
QUOT defined in line 175; used 1 times
QV defined in line 345; never used
QWAIT defined in line 227; never used
QWID defined in line 223; never used
QWRITE defined in line 236; never used
QX defined in line 347; used 1 times
RAND defined in line 132; never used
RAV defined in line 170; never used
RAVK defined in line 172; never used
READ defined in line 267; never used
RECIP defined in line 115; never used
RED defined in line 162; never used
RED0 defined in line 211; never used
REDK defined in line 164; never used
REP defined in line 195; never used
RESET defined in line 285; never used
REST defined in line 208; used 5 times
REV defined in line 166; never used
REV0 defined in line 138; never used
REVK defined in line 168; never used
ROT defined in line 165; never used
ROT0 defined in line 137; never used
ROTK defined in line 167; never used
RVAL defined in line 252; used 1 times
SAVE defined in line 274; never used
SCAN defined in line 149; never used
SCAN0 defined in line 213; never used
SCANK defined in line 151; never used
SCRIPT defined in line 280; never used
SGN defined in line 113; never used
SHELL defined in line 289; never used
SICLR defined in line 250; used 1 times
SICLR0 defined in line 251; used 1 times
SICOM defined in line 286; never used
STKS defined in line 68; used 2 times
SUB defined in line 110; never used
TAKE defined in line 196; never used
TRACE defined in line 282; never used
UNTRACE defined in line 283; never used
VARS defined in line 269; never used
VFORK defined in line 50; used 1 times
VLIMIT defined in line 49; used 3 times
VSAVE defined in line 279; never used
WIDTH defined in line 270; never used
WRITE defined in line 284; never used
WSFILE defined in line 60; used 3 times
XQUAD defined in line 249; never used
reset defined in line 575; used 2 times
setexit defined in line 574; used 2 times

Usage of this include

Last modified: 1984-02-17
Generated: 2016-12-26
Generated by src2html V0.67
page hit count: 8157
Valid CSS Valid XHTML 1.0 Strict