|
|
1.1 ! root 1: /* Copyright (c) 1980 Regents of the University of California */ ! 2: /* "@(#)astoks.H 4.4 6/30/83" */ ! 3: /* ! 4: * Message to the wary: The order of tokens has been ! 5: * hand optimized and assigned to that all switch statements ! 6: * are implemented by a casel instruction on the VAX. ! 7: * there are 4 switch statements that have to be worried about: ! 8: * l) Per character switch in the character scanner (scan_dot_s) ! 9: * 2) Per token switch in the buffer manager (yylex) ! 10: * 3) Per keyword switch in the parser (yyparse) ! 11: * 4) Leading token switch for argments to opcodes ! 12: * ! 13: * You can't just add new tokens willy-nilly; make sure that you ! 14: * add them into the proper order! ! 15: */ ! 16: # define FIRSTTOKEN AWKFIXESME ! 17: ! 18: /* ! 19: * Tokens between ISPACE and INSTn are used by the per keyword switch ! 20: */ ! 21: # define ISPACE AWKFIXESME ! 22: # define IBYTE AWKFIXESME ! 23: # define IWORD AWKFIXESME ! 24: # define IINT AWKFIXESME ! 25: # define ILONG AWKFIXESME ! 26: # define IQUAD AWKFIXESME ! 27: # define IDATA AWKFIXESME ! 28: # define IGLOBAL AWKFIXESME ! 29: # define ISET AWKFIXESME ! 30: # define ITEXT AWKFIXESME ! 31: # define ICOMM AWKFIXESME ! 32: # define ILCOMM AWKFIXESME ! 33: # define IFFLOAT AWKFIXESME ! 34: # define IDFLOAT AWKFIXESME ! 35: # define IORG AWKFIXESME ! 36: # define IASCII AWKFIXESME ! 37: # define IASCIZ AWKFIXESME ! 38: # define ILSYM AWKFIXESME ! 39: # define IFILE AWKFIXESME ! 40: # define ILINENO AWKFIXESME ! 41: # define IABORT AWKFIXESME ! 42: # define IFILL AWKFIXESME ! 43: /* ! 44: * Tokens between ISTAB and REG are used in the per token switch ! 45: */ ! 46: # define ISTAB AWKFIXESME ! 47: # define ISTABSTR AWKFIXESME ! 48: # define ISTABNONE AWKFIXESME ! 49: # define ISTABDOT AWKFIXESME ! 50: # define IJXXX AWKFIXESME ! 51: # define IALIGN AWKFIXESME ! 52: # define INST0 AWKFIXESME ! 53: # define INSTn AWKFIXESME ! 54: ! 55: # define BFINT AWKFIXESME ! 56: # define PARSEEOF AWKFIXESME ! 57: # define ILINESKIP AWKFIXESME ! 58: # define VOID AWKFIXESME ! 59: # define SKIP AWKFIXESME ! 60: # define INT AWKFIXESME ! 61: # define BIGNUM AWKFIXESME ! 62: # define NAME AWKFIXESME ! 63: # define STRING AWKFIXESME ! 64: /* ! 65: * Tokens between SIZESPEC and REGOP are used in the instruction ! 66: * argument switch ! 67: */ ! 68: # define SIZESPEC AWKFIXESME ! 69: # define REG AWKFIXESME ! 70: # define MUL AWKFIXESME ! 71: # define LITOP AWKFIXESME ! 72: # define LP AWKFIXESME ! 73: # define MP AWKFIXESME ! 74: /* ! 75: * Tokens between REGOP and DIV are used in the per character switch ! 76: */ ! 77: # define REGOP AWKFIXESME /*the percent sign*/ ! 78: # define NL AWKFIXESME ! 79: # define SCANEOF AWKFIXESME ! 80: # define BADCHAR AWKFIXESME ! 81: # define SP AWKFIXESME ! 82: # define ALPH AWKFIXESME ! 83: # define DIG AWKFIXESME ! 84: # define SQ AWKFIXESME ! 85: # define DQ AWKFIXESME ! 86: # define SH AWKFIXESME ! 87: # define LSH AWKFIXESME ! 88: # define RSH AWKFIXESME ! 89: # define MINUS AWKFIXESME ! 90: # define SIZEQUOTE AWKFIXESME ! 91: /* ! 92: * Tokens between XOR and RP are used at random (primarily by the ! 93: * expression analyzer), and not used in any switch ! 94: */ ! 95: # define XOR AWKFIXESME ! 96: # define DIV AWKFIXESME ! 97: ! 98: # define SEMI AWKFIXESME ! 99: # define COLON AWKFIXESME ! 100: # define PLUS AWKFIXESME ! 101: # define IOR AWKFIXESME ! 102: # define AND AWKFIXESME ! 103: # define TILDE AWKFIXESME ! 104: # define ORNOT AWKFIXESME ! 105: # define CM AWKFIXESME ! 106: # define LB AWKFIXESME ! 107: # define RB AWKFIXESME ! 108: # define RP AWKFIXESME ! 109: ! 110: # define LASTTOKEN AWKFIXESME
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.