1: /*
   2:  *	C pass 2 header
   3:  */
   4: 
   5: #define swsiz   200
   6: #define ossiz   500
   7: 
   8: struct  tnode {
   9:     int op;
  10:     int type;
  11:     int degree;
  12:     struct  tnode *tr1, *tr2;
  13: };
  14: 
  15: struct  bnode {
  16:     int bop;
  17:     struct  tnode *btree;
  18:     int lbl;
  19:     int cond;
  20: };
  21: 
  22: struct  tname {
  23:     int nop;
  24:     int ntype;
  25:     int elsize;
  26:     char    class;
  27:     char    regno;
  28:     int offset;
  29:     int nloc;
  30: };
  31: 
  32: /*
  33:  * for field selections
  34:  */
  35: struct tsel {
  36:     int op;
  37:     int type;
  38:     int degree;
  39:     struct  tnode *tr1;
  40:     char    flen;
  41:     char    bitoffs;
  42: };
  43: 
  44: struct  tconst {
  45:     int cop;
  46:     int ctype;
  47:     int cdeg;
  48:     int value;
  49: };
  50: 
  51: struct  optab {
  52:     char    tabdeg1;
  53:     char    tabtyp1;
  54:     char    tabdeg2;
  55:     char    tabtyp2;
  56:     char    *tabstring;
  57: };
  58: 
  59: struct  table {
  60:     int tabop;
  61:     struct  optab *tabp;
  62: };
  63: 
  64: struct  instab {
  65:     int iop;
  66:     char    *str1;
  67:     char    *str2;
  68: };
  69: 
  70: struct  swtab {
  71:     int swlab;
  72:     int swval;
  73: };
  74: 
  75: char    maprel[];
  76: char    notrel[];
  77: int nreg;
  78: int isn;
  79: int namsiz;
  80: int line;
  81: char    ascbuf[518];
  82: int nerror;
  83: struct  table   cctab[];
  84: struct  table   efftab[];
  85: struct  table   regtab[];
  86: struct  table   sptab[];
  87: struct  table   lsptab[];
  88: struct  instab  instab[];
  89: struct  instab  branchtab[];
  90: int opdope[];
  91: char    *opntab[];
  92: int nstack;
  93: int nfloat;
  94: int *spacep;
  95: int treespace[ossiz];
  96: int eolflg;
  97: struct tconst czero, cone, fczero;
  98: 
  99: /*
 100: 	operators
 101: */
 102: #define EOF 0
 103: #define SEMI    1
 104: #define LBRACE  2
 105: #define RBRACE  3
 106: #define LBRACK  4
 107: #define RBRACK  5
 108: #define LPARN   6
 109: #define RPARN   7
 110: #define COLON   8
 111: #define COMMA   9
 112: #define FSEL    10
 113: 
 114: #define KEYW    19
 115: #define NAME    20
 116: #define CON 21
 117: #define STRING  22
 118: #define FCON    23
 119: #define SFCON   24
 120: 
 121: #define AUTOI   27
 122: #define AUTOD   28
 123: #define INCBEF  30
 124: #define DECBEF  31
 125: #define INCAFT  32
 126: #define DECAFT  33
 127: #define EXCLA   34
 128: #define AMPER   35
 129: #define STAR    36
 130: #define NEG 37
 131: #define COMPL   38
 132: 
 133: #define DOT 39
 134: #define PLUS    40
 135: #define MINUS   41
 136: #define TIMES   42
 137: #define DIVIDE  43
 138: #define MOD 44
 139: #define RSHIFT  45
 140: #define LSHIFT  46
 141: #define AND 47
 142: #define NAND    55
 143: #define OR  48
 144: #define EXOR    49
 145: #define ARROW   50
 146: #define ITOF    51
 147: #define FTOI    52
 148: #define LOGAND  53
 149: #define LOGOR   54
 150: #define FTOL    56
 151: #define LTOF    57
 152: #define ITOL    58
 153: #define LTOI    59
 154: 
 155: #define EQUAL   60
 156: #define NEQUAL  61
 157: #define LESSEQ  62
 158: #define LESS    63
 159: #define GREATEQ 64
 160: #define GREAT   65
 161: #define LESSEQP 66
 162: #define LESSP   67
 163: #define GREATQP 68
 164: #define GREATP  69
 165: 
 166: #define ASPLUS  70
 167: #define ASMINUS 71
 168: #define ASTIMES 72
 169: #define ASDIV   73
 170: #define ASMOD   74
 171: #define ASRSH   75
 172: #define ASLSH   76
 173: #define ASSAND  77
 174: #define ASOR    78
 175: #define ASXOR   79
 176: #define ASSIGN  80
 177: #define TAND    81
 178: #define LTIMES  82
 179: #define LDIV    83
 180: #define LMOD    84
 181: #define ASSNAND 85
 182: #define LASTIMES 86
 183: #define LASDIV  87
 184: #define LASMOD  88
 185: 
 186: #define QUEST   90
 187: #define LLSHIFT 91
 188: #define ASLSHL  92
 189: #define CALL1   98
 190: #define CALL2   99
 191: #define CALL    100
 192: #define MCALL   101
 193: #define JUMP    102
 194: #define CBRANCH 103
 195: #define INIT    104
 196: #define SETREG  105
 197: #define LOAD    106
 198: #define RFORCE  110
 199: 
 200: /*
 201:  * Intermediate code operators
 202:  */
 203: #define BRANCH  111
 204: #define LABEL   112
 205: #define NLABEL  113
 206: #define RLABEL  114
 207: #define BDATA   200
 208: #define WDATA   201
 209: #define PROG    202
 210: #define DATA    203
 211: #define BSS 204
 212: #define CSPACE  205
 213: #define SSPACE  206
 214: #define SYMDEF  207
 215: #define SAVE    208
 216: #define RETRN   209
 217: #define EVEN    210
 218: #define PROFIL  212
 219: #define SWIT    213
 220: #define EXPR    214
 221: #define SNAME   215
 222: #define RNAME   216
 223: #define ANAME   217
 224: #define NULL    218
 225: 
 226: /*
 227:  *	types
 228:  */
 229: #define INT 0
 230: #define CHAR    1
 231: #define FLOAT   2
 232: #define DOUBLE  3
 233: #define STRUCT  4
 234: #define RSTRUCT 5
 235: #define LONG    6
 236: 
 237: #define TYLEN   2
 238: #define TYPE    07
 239: #define XTYPE   (03<<3)
 240: #define PTR 010
 241: #define FUNC    020
 242: #define ARRAY   030
 243: 
 244: /*
 245: 	storage	classes
 246: */
 247: #define KEYWC   1
 248: #define MOS 10
 249: #define AUTO    11
 250: #define EXTERN  12
 251: #define STATIC  13
 252: #define REG 14
 253: #define STRTAG  15
 254: #define ARG 16
 255: #define OFFS    20
 256: #define XOFFS   21
 257: #define SOFFS   22
 258: 
 259: /*
 260: 	Flag	bits
 261: */
 262: 
 263: #define BINARY  01
 264: #define LVALUE  02
 265: #define RELAT   04
 266: #define ASSGOP  010
 267: #define LWORD   020
 268: #define RWORD   040
 269: #define COMMUTE 0100
 270: #define RASSOC  0200
 271: #define LEAF    0400
 272: #define CNVRT   01000

Defined variables

ascbuf defined in line 81; used 35 times
branchtab defined in line 89; used 1 times
cctab defined in line 83; used 11 times
cone defined in line 97; used 1 times
czero defined in line 97; used 1 times
efftab defined in line 84; used 10 times
eolflg defined in line 96; never used
fczero defined in line 97; never used
instab defined in line 88; used 1 times
isn defined in line 78; used 25 times
line defined in line 80; used 3 times
lsptab defined in line 87; used 6 times
maprel defined in line 75; used 2 times
namsiz defined in line 79; never used
nerror defined in line 82; used 2 times
nfloat defined in line 93; used 2 times
notrel defined in line 76; used 1 times
nreg defined in line 77; used 7 times
nstack defined in line 92; used 10 times
opdope defined in line 90; used 21 times
opntab defined in line 91; used 2 times
regtab defined in line 85; used 10 times
spacep defined in line 94; used 5 times
sptab defined in line 86; used 7 times
treespace defined in line 95; used 6 times

Defined struct's

bnode defined in line 15; never used
instab defined in line 64; used 8 times
optab defined in line 51; used 4 times
swtab defined in line 70; used 10 times
table defined in line 59; used 26 times
tconst defined in line 44; used 8 times
tname defined in line 22; used 4 times
tnode defined in line 8; used 136 times
tsel defined in line 35; never used

Defined macros

AMPER defined in line 128; used 8 times
ANAME defined in line 223; never used
AND defined in line 141; used 3 times
ARG defined in line 254; never used
ARRAY defined in line 242; never used
ARROW defined in line 145; never used
ASDIV defined in line 169; used 2 times
ASLSH defined in line 172; used 3 times
ASLSHL defined in line 188; used 1 times
ASMINUS defined in line 167; never used
ASMOD defined in line 170; used 1 times
ASOR defined in line 174; never used
ASPLUS defined in line 166; used 2 times
ASRSH defined in line 171; used 1 times
ASSAND defined in line 173; never used
ASSGOP defined in line 266; never used
ASSIGN defined in line 176; used 2 times
ASSNAND defined in line 181; used 1 times
ASTIMES defined in line 168; used 2 times
ASXOR defined in line 175; never used
AUTO defined in line 249; used 1 times
AUTOD defined in line 122; used 2 times
AUTOI defined in line 121; used 2 times
BDATA defined in line 207; never used
BINARY defined in line 263; used 7 times
BRANCH defined in line 203; never used
BSS defined in line 211; never used
CALL defined in line 191; never used
CALL1 defined in line 189; used 1 times
CALL2 defined in line 190; used 1 times
CBRANCH defined in line 194; used 2 times
CHAR defined in line 230; used 11 times
CNVRT defined in line 272; used 4 times
COLON defined in line 110; never used
COMMA defined in line 111; used 1 times
COMMUTE defined in line 269; used 1 times
COMPL defined in line 131; used 3 times
CON defined in line 116; used 31 times
CSPACE defined in line 212; never used
DATA defined in line 210; never used
DECAFT defined in line 126; used 3 times
DECBEF defined in line 124; used 1 times
DIVIDE defined in line 137; used 4 times
DOT defined in line 133; never used
DOUBLE defined in line 232; used 5 times
EOF defined in line 102; never used
EQUAL defined in line 155; used 5 times
EVEN defined in line 217; never used
EXCLA defined in line 127; used 1 times
EXOR defined in line 144; never used
EXPR defined in line 220; never used
EXTERN defined in line 250; used 4 times
FCON defined in line 118; never used
FLOAT defined in line 231; used 4 times
FSEL defined in line 112; never used
FTOI defined in line 147; never used
FTOL defined in line 150; never used
FUNC defined in line 241; never used
GREAT defined in line 160; used 2 times
GREATEQ defined in line 159; used 2 times
GREATP defined in line 164; used 2 times
GREATQP defined in line 163; used 2 times
INCAFT defined in line 125; used 5 times
INCBEF defined in line 123; never used
INIT defined in line 195; never used
INT defined in line 229; used 12 times
ITOF defined in line 146; never used
ITOL defined in line 152; used 6 times
JUMP defined in line 193; never used
KEYW defined in line 114; never used
KEYWC defined in line 247; never used
LABEL defined in line 204; never used
LASDIV defined in line 183; never used
LASMOD defined in line 184; never used
LASTIMES defined in line 182; used 1 times
LBRACE defined in line 104; never used
LBRACK defined in line 106; never used
LDIV defined in line 179; never used
LEAF defined in line 271; used 8 times
LESS defined in line 158; used 2 times
LESSEQ defined in line 157; used 2 times
LESSEQP defined in line 161; used 2 times
LESSP defined in line 162; used 2 times
LLSHIFT defined in line 187; used 1 times
LMOD defined in line 180; never used
LOAD defined in line 197; used 1 times
LOGAND defined in line 148; used 1 times
LOGOR defined in line 149; used 1 times
LONG defined in line 235; used 16 times
LPARN defined in line 108; never used
LSHIFT defined in line 140; used 4 times
LTIMES defined in line 178; used 1 times
LTOF defined in line 151; never used
LTOI defined in line 153; never used
LVALUE defined in line 264; never used
LWORD defined in line 267; never used
MCALL defined in line 192; never used
MINUS defined in line 135; used 3 times
MOD defined in line 138; used 1 times
MOS defined in line 248; never used
NAME defined in line 115; used 23 times
NAND defined in line 142; used 1 times
NEG defined in line 130; used 1 times
NEQUAL defined in line 156; used 4 times
NLABEL defined in line 205; never used
NULL defined in line 224; never used
OFFS defined in line 255; used 5 times
OR defined in line 143; used 1 times
PLUS defined in line 134; used 20 times
PROFIL defined in line 218; never used
PROG defined in line 209; never used
PTR defined in line 240; used 4 times
QUEST defined in line 186; used 1 times
RASSOC defined in line 270; never used
RBRACE defined in line 105; never used
RBRACK defined in line 107; never used
REG defined in line 252; used 11 times
RELAT defined in line 265; used 7 times
RETRN defined in line 216; never used
RFORCE defined in line 198; used 1 times
RLABEL defined in line 206; never used
RNAME defined in line 222; never used
RPARN defined in line 109; never used
RSHIFT defined in line 139; used 3 times
RSTRUCT defined in line 234; never used
RWORD defined in line 268; never used
SAVE defined in line 215; never used
SEMI defined in line 103; never used
SETREG defined in line 196; never used
SFCON defined in line 119; used 4 times
SNAME defined in line 221; never used
SOFFS defined in line 257; used 1 times
SSPACE defined in line 213; never used
STAR defined in line 129; used 10 times
STATIC defined in line 251; used 1 times
STRING defined in line 117; never used
STRTAG defined in line 253; never used
STRUCT defined in line 233; never used
SWIT defined in line 219; never used
SYMDEF defined in line 214; never used
TAND defined in line 177; used 1 times
TIMES defined in line 136; used 11 times
TYLEN defined in line 237; never used
TYPE defined in line 238; used 3 times
WDATA defined in line 208; never used
XOFFS defined in line 256; used 1 times
XTYPE defined in line 239; used 1 times
ossiz defined in line 6; used 2 times
swsiz defined in line 5; used 1 times

Usage of this include

c1h.c used 3 times
Last modified: 1975-07-18
Generated: 2016-12-26
Generated by src2html V0.67
page hit count: 1999
Valid CSS Valid XHTML 1.0 Strict