|
|
1.1 ! root 1: /* ! 2: ** TOKENS.Y -- operator and keyword tables ! 3: ** ! 4: ** Defines: ! 5: ** Optab -- operator table ! 6: ** Kwrdtab -- keyword tables ! 7: ** Kwrdnum -- number of keywords (for binary search in getkey()) ! 8: ** Tokens -- so lexical routines can know about yacc tokens ! 9: ** ! 10: ** Requires: ! 11: ** Kwrdtab must be in alphabetical order!!! ! 12: ** ! 13: ** Version: ! 14: ** @(#)tokens.y 8.2 3/2/85 ! 15: */ ! 16: ! 17: ! 18: struct optab Kwrdtab [] = ! 19: { ! 20: "abs", FOP, 0, ! 21: "all", ALL, 0, ! 22: "and", LBOP, 0, ! 23: "any", AOP, 0, ! 24: "append", APPEND, 0, ! 25: "ascii", FOP, 0, ! 26: "at", AT, 0, ! 27: "atan", FOP, 0, ! 28: "auto", ALLOC, opAUTO, ! 29: "avg", AOP, 0, ! 30: "avgu", AOP, 0, ! 31: "by", BY, 0, ! 32: "char", TYPE, opSTRING, ! 33: "concat", FBOP, 0, ! 34: "copy", COPY, 0, ! 35: "cos", FOP, 0, ! 36: "count", AOP, 0, ! 37: "countu", AOP, 0, ! 38: "create", CREATE, 0, ! 39: "define", DEFINE, 0, ! 40: "delete", DELETE, 0, ! 41: "delim", DELIM, 0, ! 42: "destroy", DESTROY, 0, ! 43: "double", TYPE, opDOUBLE, ! 44: "exit", EXIT, 0, ! 45: "extern", ALLOC, opEXTERN, ! 46: "float", TYPE, opFLOAT, ! 47: "float4", FOP, 4, ! 48: "float8", FOP, 8, ! 49: "from", FROM, 0, ! 50: "gamma", FOP, 0, ! 51: "help", HELP, 0, ! 52: "in", IN, 0, ! 53: "index", INDEX, 0, ! 54: "ingres", INGRES, 0, ! 55: "int", TYPE, opINT, ! 56: "int1", FOP, 1, ! 57: "int2", FOP, 2, ! 58: "int4", FOP, 4, ! 59: "integrity", INTEGRITY, 0, ! 60: "into", INTO, 0, ! 61: "is", IS, 0, ! 62: "log", FOP, 0, ! 63: "long", TYPE, opLONG, ! 64: "max", AOP, 0, ! 65: "min", AOP, 0, ! 66: "mod", FBOP, 0, ! 67: "modify", MODIFY, 0, ! 68: "not", LUOP, 0, ! 69: "of", OF, 0, ! 70: "on", ON, 0, ! 71: "onto", ONTO, 0, ! 72: "or", LBOP, 0, ! 73: "param", PARAM, 0, ! 74: "permit", PERMIT, 0, ! 75: "print", PRINT, 0, ! 76: "rand", FOP, 0, ! 77: "range", RANGE, 0, ! 78: "register", ALLOC, opREGISTER, ! 79: "replace", REPLACE, 0, ! 80: "retrieve", RETRIEVE, 0, ! 81: "save", SAVE, 0, ! 82: "short", TYPE, opSHORT, ! 83: "sin", FOP, 0, ! 84: "sqrt", FOP, 0, ! 85: "static", ALLOC, opSTATIC, ! 86: "struct", STRUCT, opSTRUCT, ! 87: "sum", AOP, 0, ! 88: "sumu", AOP, 0, ! 89: "to", TO, 0, ! 90: "unique", UNIQUE, 0, ! 91: "until", UNTIL, 0, ! 92: "unuse", UNUSE, 0, ! 93: "use", USE, 0, ! 94: "view", VIEW, 0, ! 95: "where", WHERE, 0, ! 96: }; ! 97: ! 98: /* This decalaration must be here as getkey references it, ! 99: ** and it must contain the number of elements in the ! 100: ** Kwrdtab, which is only known here ! 101: */ ! 102: ! 103: int Kwrdnum = sizeof Kwrdtab / sizeof Kwrdtab [0]; ! 104: ! 105: struct optab Optab [] = ! 106: { ! 107: /* PUNCTUATION */ ! 108: ",", COMMA, 0, ! 109: "(", LPAREN, 0, ! 110: ".", PERIOD, 0, ! 111: ")", RPAREN, 0, ! 112: "\"", QUOTE, 0, ! 113: "/*", BGNCMNT, 0, ! 114: "*/", ENDCMNT, 0, ! 115: "#", NONREF, 0, ! 116: ":", COLON, 0, ! 117: "$", DOLLAR, 0, ! 118: "%", PCT, 0, ! 119: ! 120: /* C LANUAGE PUNCTUATION */ ! 121: "{", LBRACE, 0, ! 122: "}", RBRACE, 0, ! 123: "[", LBRKT, 0, ! 124: "]", RBRKT, 0, ! 125: ";", SEMICOL, 0, ! 126: "->", POINTER, 0, ! 127: ! 128: /* UNARY ARITHMETIC OPERATORS */ ! 129: "+", UOP, 0, ! 130: "-", UOP, 0, ! 131: ! 132: /* BINARY ARITHMETIC OPERATORS */ ! 133: "*", BOP, 0, ! 134: "/", BOP, 0, ! 135: "**", BOP, 0, ! 136: "+", UAOP, 0, ! 137: "-", UAOP, 0, ! 138: ! 139: /* BOUNDS OPERATORS */ ! 140: ">", BDOP, 0, ! 141: ">=", BDOP, 0, ! 142: "<", BDOP, 0, ! 143: "<=", BDOP, 0, ! 144: ! 145: /* EQUALITY OPERATORS */ ! 146: "!=", EOP, 0, ! 147: "=", IS, 0, ! 148: 0 ! 149: }; ! 150: ! 151: ! 152: struct special Tokens = ! 153: { ! 154: NAME, ! 155: SCONST, ! 156: I2CONST, ! 157: I4CONST, ! 158: F8CONST, ! 159: QUOTE, ! 160: BGNCMNT, ! 161: ENDCMNT, ! 162: C_CODE, ! 163: STRUCT_VAR, ! 164: };
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.