|
|
1.1 root 1: # ifndef TOKENS
2: # define TOKENS 0
3: # define ERROR 1 /* an error node */
4: # define FREE 2 /* an unused node */
5: # define STRING 3 /* a string constant */
6: # define ICON 4 /* an integer constant */
7: # define FCON 5 /* a floating point constant */
8: # define DCON 6 /* a double precision f.p. constant */
9: # define NAME 7 /* an identifier */
10: # define REG 8 /* a register */
11: # define OREG 9 /* register and offset */
12: # define CCODES 10 /* condition codes */
13: # define FLD 11 /* a bit field */
14: # define PLUS 12 /* + */
15: # define PLUSEQ 13 /* += */
16: # define UPLUS 14 /* unary + (for completeness) */
17: # define MINUS 15 /* - */
18: # define MINUSEQ 16 /* -= */
19: # define UMINUS 17 /* unary - */
20: # define MUL 18 /* * */
21: # define MULEQ 19 /* *= */
22: # define DIV 21 /* / */
23: # define DIVEQ 22 /* /= */
24: # define MOD 23 /* % */
25: # define MODEQ 24 /* %= */
26: # define INCR 25 /* ++ */
27: # define DECR 26 /* -- */
28: # define ASSIGN 27 /* = (these last 3 are stretching it) */
29: # define AND 28 /* & */
30: # define ANDEQ 29 /* &= */
31: # define OR 31 /* | */
32: # define OREQ 32 /* |= */
33: # define ER 33 /* ^ */
34: # define EREQ 34 /* ^= */
35: # define LS 35 /* << */
36: # define LSEQ 36 /* <<= */
37: # define RS 37 /* >> */
38: # define RSEQ 38 /* >>= */
39: # define COMPL 39 /* ~ */
40: # define EQ 40 /* == */
41: # define NE 41 /* != */
42: # define LE 42 /* <= */
43: # define LT 43 /* < */
44: # define GE 44 /* >= */
45: # define GT 45 /* > */
46: # define ULE 46 /* unsigned <= */
47: # define ULT 47 /* unsigned < */
48: # define UGE 48 /* unsigned >= */
49: # define UGT 49 /* unsigned > */
50: # define QUEST 50 /* ? (for conditional expressions) */
51: # define COLON 51 /* : (for conditional expressions) */
52: # define ANDAND 52 /* && */
53: # define OROR 53 /* || */
54: # define NOT 54 /* ! */
55: # define CALL 55 /* call by value */
56: # define UCALL 57 /* call with no arguments */
57: # define FORTCALL 58 /* call by reference? */
58: # define UFORTCALL 60 /* ??? */
59: # ifdef INLINE
60: # define INLINE 61 /* inline function */
61: # define UINLINE 63 /* inline with no arguments */
62: # endif INLINE
63: # define DEREF 20 /* * */
64: # define ADDROF 30 /* & */
65: # define DOT 64 /* . */
66: # define STREF 65 /* -> */
67: # define STASG 66 /* structure assignment */
68: # define STARG 67 /* an argument of type structure */
69: # define STCALL 68 /* a function of type structure */
70: # define USTCALL 70 /* unary structure function */
71: # define SCONV 71 /* scalar conversion */
72: # define PCONV 72 /* pointer conversion */
73: # define PMCONV 73 /* pointer multiply conversion */
74: # define PVCONV 74 /* pointer divide conversion */
75: # define CAST 75 /* redundant? */
76: # define LB 76 /* [ */
77: # define RB 77 /* ] */
78: # define COMOP 78 /* , (in expressions) */
79: # define CM 79 /* , (in argument lists) */
80: # define FORCE 80 /* result of last expression goes in r0 */
81: # define GOTO 81 /* unconditional goto */
82: # define CBRANCH 82 /* goto label if !test */
83: # define RETURN 83 /* return from function */
84: # define INIT 84 /* initialized data */
85: # define TYPE 85 /* a type */
86: # define CLASS 86 /* a storage class */
87: # define MAXOP 86 /* highest numbered PCC op */
88: # define FORTOPS 150
89: # define FTEXT 150 /* pass literal assembler text */
90: # define FEXPR 151 /* a statement */
91: # define FSWITCH 152 /* not implemented */
92: # define FLBRAC 153 /* beginning of subroutine */
93: # define FRBRAC 154 /* end of subroutine */
94: # define FEOF 155 /* end of file */
95: # define FARIF 156 /* not implemented */
96: # define FLABEL 157 /* an f77 label */
97: # endif TOKENS
98: # define UNDEF 0
99: # define FARG 1 /* function argument */
100: # define CHAR 2
101: # define SHORT 3
102: # define INT 4
103: # define LONG 5
104: # define FLOAT 6
105: # define DOUBLE 7
106: # define STRTY 8
107: # define UNIONTY 9
108: # define ENUMTY 10
109: # define MOETY 11 /* member of enum */
110: # define UCHAR 12
111: # define USHORT 13
112: # define UNSIGNED 14
113: # define ULONG 15
114: # define PTR 020
115: # define FTN 040
116: # define ARY 060
117: # define BASETYPE 017
118: # define TYPESHIFT 2
119: # define ASG 1+
120: # define UNARY 2+
121: # define NOASG (-1)+
122: # define NOUNARY (-2)+
123: # ifndef LOCALTOKENS
124: # define LOCALTOKENS 100
125: # ifdef _PASS1_
126: # define ASOP 100 /* assignment ops */
127: # define RELOP 101 /* <=, <, >=, > */
128: # define EQUOP 102 /* ==, != */
129: # define DIVOP 103 /* /, % */
130: # define SHIFTOP 104 /* <<, >> */
131: # define INCOP 105 /* ++, -- */
132: # define UNOP 106 /* !, ~ */
133: # define STROP 107 /* ., -> */
134: # define LP 108 /* ( */
135: # define RP 109 /* ) */
136: # define LC 110 /* { */
137: # define RC 111 /* } */
138: # endif _PASS1_
139: # define STRUCT 112
140: # define IF 113
141: # define ELSE 114
142: # define SWITCH 115
143: # define BREAK 116
144: # define CONTINUE 117
145: # define WHILE 118
146: # define DO 119
147: # define FOR 120
148: # define DEFAULT 121
149: # define CASE 122
150: # define SIZEOF 123
151: # define ENUM 124
152: # define SM 125
153: # endif LOCALTOKENS
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.