Annotation of researchv9/jerq/sgs/comp/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: 
        !            50: typedef long OFFSZ;
        !            51: 
        !            52: struct symtab {
        !            53:        char *sname;
        !            54:        TWORD stype;  /* type word */
        !            55: 
        !            56:        char sclass;  /* storage class */
        !            57:        char slevel;  /* scope level */
        !            58:        char sflags;  /* flags for set, use, hidden, mos, etc. */
        !            59:        int offset;  /* offset or value */
        !            60:        short dimoff; /* offset into the dimension table */
        !            61:        short sizoff; /* offset into the size table */
        !            62:        short suse;  /* line number of last use of the variable */
        !            63:        struct symtab *scopelink;       /* chain of symbols at same level */
        !            64: };
        !            65: 
        !            66: 
        !            67: struct sw {
        !            68:        CONSZ sval;
        !            69:        int slab;
        !            70: };
        !            71: 
        !            72: extern struct sw swtab[];
        !            73: extern struct sw *swp;
        !            74: extern int swx;
        !            75: 
        !            76: extern int ftnno;
        !            77: extern int blevel;
        !            78: extern int instruct, stwart;
        !            79: 
        !            80: extern int lineno, nerrors;
        !            81: typedef union {
        !            82:        int intval;
        !            83:        NODE * nodep;
        !            84: } YYSTYPE;
        !            85: extern YYSTYPE yylval;
        !            86: 
        !            87: extern CONSZ lastcon;
        !            88: extern CONSZ ccast();
        !            89: extern double dcon;
        !            90: 
        !            91: extern char ftitle[];
        !            92: extern struct symtab stab[];
        !            93: extern int curftn;
        !            94: extern int strftn;
        !            95: extern char *locnames[];
        !            96: extern int curloc;
        !            97: extern int curclass;
        !            98: extern int curdim;
        !            99: extern int dimtab[];
        !           100: extern int paramstk[];
        !           101: extern int paramno;
        !           102: extern int argstk[];
        !           103: extern int argsoff[];
        !           104: extern TWORD argty[];
        !           105: extern int argno;
        !           106: extern int autooff, argoff, strucoff;
        !           107: extern int regvar;
        !           108: extern int nextrvar;
        !           109: extern int brkflag;
        !           110: extern char yytext[];
        !           111: 
        !           112: extern int strflg;
        !           113: 
        !           114: extern OFFSZ inoff;
        !           115: 
        !           116: extern int reached;
        !           117: 
        !           118: /*     tunnel to buildtree for name id's */
        !           119: 
        !           120: extern int idname;
        !           121: 
        !           122: extern NODE node[];
        !           123: extern NODE *lastfree;
        !           124: 
        !           125: extern int cflag, hflag, pflag;
        !           126: 
        !           127: /* various labels */
        !           128: extern int brklab;
        !           129: extern int contlab;
        !           130: #ifdef M32B
        !           131:        extern int swregno;
        !           132: #endif
        !           133: extern int flostat;
        !           134: extern int retlab;
        !           135: extern int retstat;
        !           136: extern int asavbc[], *psavbc;
        !           137: 
        !           138: /*     flags used in structures/unions */
        !           139: 
        !           140: # define SEENAME 01
        !           141: # define INSTRUCT 02
        !           142: # define INUNION 04
        !           143: # define FUNNYNAME 010
        !           144: # define TAGNAME 020
        !           145: 
        !           146: /*     flags used in the (elementary) flow analysis ... */
        !           147: 
        !           148: # define FBRK 02
        !           149: # define FCONT 04
        !           150: # define FDEF 010
        !           151: # define FLOOP 020
        !           152: 
        !           153: /*
        !           154: * These defines control "while" and "for" loop code generation.
        !           155: * wloop_level and floop_level each must be set to one of these values.
        !           156: */
        !           157: #define LL_TOP 0       /* test at loop top */
        !           158: #define LL_BOT 1       /* test at loop bottom */
        !           159: #define LL_DUP 2       /* duplicate loop test at top and bottom */
        !           160: 
        !           161: #ifdef M32B
        !           162:        /* for register allocation optimization */
        !           163:        extern int fordepth;
        !           164:        extern int whdepth;
        !           165:        extern int brdepth;
        !           166: #   ifdef IMPREGAL
        !           167:        extern void rainit(), radbl(), raname(), raua(), raftn();
        !           168: #   endif
        !           169: #endif
        !           170: 
        !           171: /*     flags used for return status */
        !           172: 
        !           173: # define RETVAL 1
        !           174: # define NRETVAL 2
        !           175: 
        !           176: /*     used to mark a constant with no name field */
        !           177: 
        !           178: # define NONAME 040000
        !           179: 
        !           180:        /* mark an offset which is undefined */
        !           181: 
        !           182: # define NOOFFSET (-10201)
        !           183: 
        !           184: /*     declarations of various functions */
        !           185: 
        !           186: extern NODE
        !           187:        *aadjust(),
        !           188:        *bcon(),
        !           189:        *bdty(),
        !           190:        *block(),
        !           191:        *bpsize(),
        !           192:        *buildtree(),
        !           193: #ifdef M32B
        !           194:        *myand(),
        !           195:        *setswreg(),
        !           196: #endif
        !           197:        *clocal(),
        !           198:        *conval(),
        !           199:        *convert(),
        !           200:        *dclstruct(),
        !           201:        *doszof(),
        !           202:        *getstr(),
        !           203:        *makety(),
        !           204:        *mkty(),
        !           205:        *oconvert(),
        !           206:        *offcon(),
        !           207:        *optim(),
        !           208:        *pconvert(),
        !           209:        *ptmatch(),
        !           210:        *pvconvert(),
        !           211:        *rstruct(),
        !           212:        *sconvert(),
        !           213:        *strargs(),
        !           214:        *stref(),
        !           215:        *talloc(),
        !           216:        *tymatch(),
        !           217:        *tymerge(),
        !           218:        *unconvert(),
        !           219:        *xicolon();
        !           220: 
        !           221: OFFSZ  tsize(),
        !           222:        psize();
        !           223: 
        !           224: TWORD  types(),
        !           225:        ctype();
        !           226: 
        !           227: char *exname(), *exdcon();
        !           228: 
        !           229: # define checkst(x)
        !           230: 
        !           231: # ifdef SDB
        !           232: # include "sdb.h"
        !           233: # endif
        !           234: 
        !           235: /* type that is equivalent to pointers in size */
        !           236: # ifndef PTRTYPE
        !           237: # define PTRTYPE INT
        !           238: # endif

unix.superglobalmegacorp.com

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