Annotation of 3BSD/cmd/lisp/data.c, revision 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.