|
|
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.