Annotation of 3BSD/cmd/lisp/data.c, revision 1.1.1.1

1.1       root        1: #include <stdio.h>
                      2: 
                      3: #include       "global.h"
                      4: #include       "gtabs.h"
                      5: 
                      6: lispval lispsys[SIGNIF];       /* lisp data used by system */
                      7: 
                      8: lispval gftab[GFTABLEN];       /* global function table for interpreter */
                      9: 
                     10: lispval gctab[GCTABLEN] =      /* global constant table for interpreter */
                     11:        {nil,0,SMALL(-1),SMALL(0),SMALL(1),SMALL(2),SMALL(3),SMALL(4)};
                     12: 
                     13: 
                     14: /* Port definitions *****************************************************/
                     15: FILE   *piport,                /* standard input port          */
                     16:        *poport,                /* standard output port         */
                     17:        *errport,               /* port for error messages      */
                     18:        *rdrport,               /* temporary port for readr     */
                     19:        *proport;               /* port for protocal            */
                     20: int    lineleng =      80;             /* line length desired          */
                     21: int    rlevel;                 /* used to indicate depth of recursion
                     22:                                   in reader.  No longer really necessary */
                     23: char   keybin =        FALSE;          /* logical flag: using keyboard */
                     24: char   protflag =      FALSE;          /* logical flag: want protocall */
                     25: char   rbktf;                          /* logical flag: ] mode         */
                     26: 
                     27: 
                     28: /* name stack ***********************************************************/
                     29: struct argent          *namptr,                /* temporary pointer    */
                     30:                        *nplim;                 /* don't have this = np */
                     31: struct nament          *bnp,                   /* top of bind stack    */
                     32:                        *orgbnp,                /* absolute bottom of ""*/
                     33:                        *bnplim;                /* absolute top of ""   */
                     34: 
                     35: 
                     36: /* the typeing table ****************************************************/
                     37: #ifndef ROWAN
                     38: char typetab[TTSIZE] = {UNBO,ATOM,INT,INT,PORT};
                     39: #else
                     40: char typetab[TTSIZE] = {UNBO,ATOM,INT,INT,INT,PORT};
                     41: #endif
                     42: 
                     43: /* hashing things *******************************************************/
                     44: struct atom    *hasht[HASHTOP];
                     45: int    hash;                                   /* set by ratom         */
                     46: int    atmlen;                 /* length of atom including final null  */
                     47: 
                     48: 
                     49: /* big string buffer for whomever needs it ******************************/
                     50: char   strbuf[STRBLEN];
                     51: char   *endstrb        = strbuf + 255;
                     52: 
                     53: /* set by sstatus commands */
                     54: int uctolc = 0;                /* when set, uc chars in atoms go to lc */
                     55: int dmpmode = 413;     /* default mode for dumplisp 
                     56:                           (note this is decimal not octal) */
                     57: 
                     58: /* break and error declarations *****************************************/
                     59: int    depth = 0;              /* depth of nested breaks               */
                     60: lispval        contval;                /* the value being returned up          */
                     61: struct argent *orgnp;          /* used by top level to reset to start  */
                     62: int    retval;                 /* used by each error/prog call         */
                     63: 
                     64: 
                     65: /* other stuff **********************************************************/
                     66: lispval        ftemp,vtemp,argptr,ttemp;       /* temporaries: use briefly     */
                     67: int itemp;
                     68: lispval sigacts[16];                   /* for catching interrupts      */
                     69: int sigstruck,sigdelay;                        /* for catching interrupts      */
                     70: lispval stattab[16];                   /* miscelleneous options        */
                     71: 
                     72: /*  interpreter globals    */
                     73: 
                     74: int lctrace;
                     75: int fvirgin;
                     76: int GCtime;
                     77: int errp;                      /* where are lying through our teeth. This
                     78:                                   is a pointer to inside a function. */

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.