Annotation of researchv10no/cmd/ccom/common/mfile1.h, revision 1.1

1.1     ! root        1: /* @(#) mfile1.h: 1.1 12/22/83                         */
        !             2: 
        !             3: 
        !             4: # include "macdefs.h"
        !             5: # include "manifest.h"
        !             6: 
        !             7: /*     storage classes  */
        !             8: # define SNULL 0
        !             9: # define AUTO 1
        !            10: # define EXTERN 2
        !            11: # define STATIC 3
        !            12: # define REGISTER 4
        !            13: # define EXTDEF 5
        !            14: # define LABEL 6
        !            15: # define ULABEL 7
        !            16: # define MOS 8
        !            17: # define PARAM 9
        !            18: # define STNAME 10
        !            19: # define MOU 11
        !            20: # define UNAME 12
        !            21: # define TYPEDEF 13
        !            22: # define FORTRAN 14
        !            23: # define ENAME 15
        !            24: # define MOE 16
        !            25: # define UFORTRAN 17
        !            26: # define USTATIC 18
        !            27:        /* field size is ORed in */
        !            28: # define FIELD 0100
        !            29: # define FLDSIZ 077
        !            30: # ifndef NODBG
        !            31: extern char *scnames();
        !            32: # endif
        !            33: 
        !            34: /*     location counters */
        !            35: # define PROG 0
        !            36: # define ADATA 1
        !            37: # define DATA 2
        !            38: # define ISTRNG 3
        !            39: # define STRNG 4
        !            40: 
        !            41: /* symbol table flags */
        !            42: # define SMOS 01
        !            43: # define SHIDDEN 02
        !            44: # define SHIDES 04
        !            45: # define SSET 010
        !            46: # define SREF 020
        !            47: # define SNONUNIQ 040
        !            48: # define STAG 0100
        !            49: # define SBSS 0200
        !            50: 
        !            51: typedef long OFFSZ;
        !            52: 
        !            53: struct symtab {
        !            54:        char *sname;
        !            55:        TWORD stype;  /* type word */
        !            56: 
        !            57:        char sclass;  /* storage class */
        !            58:        char slevel;  /* scope level */
        !            59:        char sflags;  /* flags for set, use, hidden, mos, etc. */
        !            60:        int offset;  /* offset or value */
        !            61:        short dimoff; /* offset into the dimension table */
        !            62:        short sizoff; /* offset into the size table */
        !            63:        short suse;  /* line number of last use of the variable */
        !            64:        struct symtab *scopelink;       /* chain of symbols at same level */
        !            65: };
        !            66: 
        !            67: 
        !            68: struct sw {
        !            69:        CONSZ sval;
        !            70:        int slab;
        !            71: };
        !            72: 
        !            73: extern struct sw swtab[];
        !            74: extern struct sw *swp;
        !            75: extern int swx;
        !            76: 
        !            77: extern int ftnno;
        !            78: extern int blevel;
        !            79: extern int instruct, stwart;
        !            80: 
        !            81: extern int lineno, slineno, nerrors;
        !            82: typedef struct {
        !            83:                union {
        !            84:                int u_intval;
        !            85:                NODE *u_nodep;
        !            86:        } YY_un;
        !            87:        int lineno;
        !            88: } YYSTYPE;
        !            89: #define intval YY_un.u_intval
        !            90: #define nodep YY_un.u_nodep
        !            91: extern YYSTYPE yylval;
        !            92: 
        !            93: extern CONSZ lastcon;
        !            94: extern CONSZ ccast();
        !            95: extern double dcon;
        !            96: 
        !            97: extern char ftitle[];
        !            98: extern struct symtab stab[];
        !            99: extern int curftn;
        !           100: extern int strftn;
        !           101: extern char *locnames[];
        !           102: extern int curloc;
        !           103: extern int curclass;
        !           104: extern int curdim;
        !           105: extern int *dimtab;
        !           106: extern int paramstk[];
        !           107: extern int paramno;
        !           108: extern int argstk[];
        !           109: extern int argsoff[];
        !           110: extern TWORD argty[];
        !           111: extern int argno;
        !           112: extern int autooff, argoff, strucoff;
        !           113: extern int regvar;
        !           114: extern int nextrvar;
        !           115: extern int brkflag;
        !           116: extern char yytext[];
        !           117: 
        !           118: extern int strflg;
        !           119: 
        !           120: extern OFFSZ inoff;
        !           121: 
        !           122: extern int reached;
        !           123: 
        !           124: /*     tunnel to buildtree for name id's */
        !           125: 
        !           126: extern int idname;
        !           127: 
        !           128: extern NODE node[];
        !           129: extern NODE *lastfree;
        !           130: 
        !           131: extern int cflag, hflag, pflag;
        !           132: 
        !           133: /* various labels */
        !           134: extern int brklab;
        !           135: extern int contlab;
        !           136: #ifdef M32B
        !           137:        extern int swregno;
        !           138: #endif
        !           139: extern int flostat;
        !           140: extern int retlab;
        !           141: extern int retstat;
        !           142: extern int asavbc[], *psavbc;
        !           143: 
        !           144: /*     flags used in structures/unions */
        !           145: 
        !           146: # define SEENAME 01
        !           147: # define INSTRUCT 02
        !           148: # define INUNION 04
        !           149: # define FUNNYNAME 010
        !           150: # define TAGNAME 020
        !           151: 
        !           152: /*     flags used in the (elementary) flow analysis ... */
        !           153: 
        !           154: # define FBRK 02
        !           155: # define FCONT 04
        !           156: # define FDEF 010
        !           157: # define FLOOP 020
        !           158: 
        !           159: /*
        !           160: * These defines control "while" and "for" loop code generation.
        !           161: * wloop_level and floop_level each must be set to one of these values.
        !           162: */
        !           163: #define LL_TOP 0       /* test at loop top */
        !           164: #define LL_BOT 1       /* test at loop bottom */
        !           165: #define LL_DUP 2       /* duplicate loop test at top and bottom */
        !           166: 
        !           167: #ifdef M32B
        !           168:        /* for register allocation optimization */
        !           169:        extern int fordepth;
        !           170:        extern int whdepth;
        !           171:        extern int brdepth;
        !           172: #   ifdef IMPREGAL
        !           173:        extern void rainit(), radbl(), raname(), raua(), raftn();
        !           174: #   endif
        !           175: #endif
        !           176: 
        !           177: /*     flags used for return status */
        !           178: 
        !           179: # define RETVAL 1
        !           180: # define NRETVAL 2
        !           181: 
        !           182: /*     used to mark a constant with no name field */
        !           183: 
        !           184: # define NONAME 040000
        !           185: 
        !           186:        /* mark an offset which is undefined */
        !           187: 
        !           188: # define NOOFFSET (-10201)
        !           189: 
        !           190: /*     declarations of various functions */
        !           191: 
        !           192: extern NODE
        !           193:        *aadjust(),
        !           194:        *bcon(),
        !           195:        *bdty(),
        !           196:        *block(),
        !           197:        *bpsize(),
        !           198:        *buildtree(),
        !           199: #ifdef M32B
        !           200:        *myand(),
        !           201:        *setswreg(),
        !           202: #endif
        !           203:        *clocal(),
        !           204:        *conval(),
        !           205:        *convert(),
        !           206:        *dclstruct(),
        !           207:        *doszof(),
        !           208:        *getstr(),
        !           209:        *makety(),
        !           210:        *mkty(),
        !           211:        *oconvert(),
        !           212:        *offcon(),
        !           213:        *optim(),
        !           214:        *pconvert(),
        !           215:        *ptmatch(),
        !           216:        *pvconvert(),
        !           217:        *rstruct(),
        !           218:        *sconvert(),
        !           219:        *strargs(),
        !           220:        *stref(),
        !           221:        *talloc(),
        !           222:        *tymatch(),
        !           223:        *tymerge(),
        !           224:        *unconvert(),
        !           225:        *xicolon();
        !           226: 
        !           227: OFFSZ  tsize(),
        !           228:        psize();
        !           229: 
        !           230: TWORD  types(),
        !           231:        ctype();
        !           232: 
        !           233: char *exname(), *exdcon();
        !           234: 
        !           235: # define checkst(x)
        !           236: 
        !           237: /* type that is equivalent to pointers in size */
        !           238: # ifndef PTRTYPE
        !           239: # define PTRTYPE INT
        !           240: # endif

unix.superglobalmegacorp.com

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