|
|
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 IOCTA AWKFIXESME ! 28: # define IDATA AWKFIXESME ! 29: # define IGLOBAL AWKFIXESME ! 30: # define ISET AWKFIXESME ! 31: # define ITEXT AWKFIXESME ! 32: # define ICOMM AWKFIXESME ! 33: # define ILCOMM AWKFIXESME ! 34: # define IFFLOAT AWKFIXESME ! 35: # define IDFLOAT AWKFIXESME ! 36: # define IGFLOAT AWKFIXESME ! 37: # define IHFLOAT AWKFIXESME ! 38: # define IORG AWKFIXESME ! 39: # define IASCII AWKFIXESME ! 40: # define IASCIZ AWKFIXESME ! 41: # define ILSYM AWKFIXESME ! 42: # define IFILE AWKFIXESME ! 43: # define ILINENO AWKFIXESME ! 44: # define IABORT AWKFIXESME ! 45: # define IFILL AWKFIXESME ! 46: /* ! 47: * Tokens between ISTAB and REG are used in the per token switch ! 48: */ ! 49: # define ISTAB AWKFIXESME ! 50: # define ISTABSTR AWKFIXESME ! 51: # define ISTABNONE AWKFIXESME ! 52: # define ISTABDOT AWKFIXESME ! 53: # define IJXXX AWKFIXESME ! 54: # define IALIGN AWKFIXESME ! 55: # define INST0 AWKFIXESME ! 56: # define INSTn AWKFIXESME ! 57: ! 58: # define BFINT AWKFIXESME ! 59: # define PARSEEOF AWKFIXESME ! 60: # define ILINESKIP AWKFIXESME ! 61: # define VOID AWKFIXESME ! 62: # define SKIP AWKFIXESME ! 63: # define INT AWKFIXESME ! 64: # define BIGNUM AWKFIXESME ! 65: # define NAME AWKFIXESME ! 66: # define STRING AWKFIXESME ! 67: /* ! 68: * Tokens between SIZESPEC and REGOP are used in the instruction ! 69: * argument switch ! 70: */ ! 71: # define SIZESPEC AWKFIXESME ! 72: # define REG AWKFIXESME ! 73: # define MUL AWKFIXESME ! 74: # define LITOP AWKFIXESME ! 75: # define LP AWKFIXESME ! 76: # define MP AWKFIXESME ! 77: /* ! 78: * Tokens between REGOP and DIV are used in the per character switch ! 79: */ ! 80: # define REGOP AWKFIXESME /*the percent sign*/ ! 81: # define NL AWKFIXESME ! 82: # define SCANEOF AWKFIXESME ! 83: # define BADCHAR AWKFIXESME ! 84: # define SP AWKFIXESME ! 85: # define ALPH AWKFIXESME ! 86: # define DIG AWKFIXESME ! 87: # define SQ AWKFIXESME ! 88: # define DQ AWKFIXESME ! 89: # define SH AWKFIXESME ! 90: # define LSH AWKFIXESME ! 91: # define RSH AWKFIXESME ! 92: # define MINUS AWKFIXESME ! 93: # define SIZEQUOTE AWKFIXESME ! 94: /* ! 95: * Tokens between XOR and RP are used at random (primarily by the ! 96: * expression analyzer), and not used in any switch ! 97: */ ! 98: # define XOR AWKFIXESME ! 99: # define DIV AWKFIXESME ! 100: ! 101: # define SEMI AWKFIXESME ! 102: # define COLON AWKFIXESME ! 103: # define PLUS AWKFIXESME ! 104: # define IOR AWKFIXESME ! 105: # define AND AWKFIXESME ! 106: # define TILDE AWKFIXESME ! 107: # define ORNOT AWKFIXESME ! 108: # define CM AWKFIXESME ! 109: # define LB AWKFIXESME ! 110: # define RB AWKFIXESME ! 111: # define RP AWKFIXESME ! 112: ! 113: # define LASTTOKEN AWKFIXESME
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.