| 1 | /* Copyright (c) 1980 Regents of the University of California */ |
| 2 | /* "@(#)astoks.H 4.3 %G%" */ |
| 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 NEEDSBUF AWKFIXESME /*signal refilling the input buffer*/ |
| 81 | # define REGOP AWKFIXESME /*the percent sign*/ |
| 82 | # define NL AWKFIXESME |
| 83 | # define SCANEOF AWKFIXESME |
| 84 | # define BADCHAR AWKFIXESME |
| 85 | # define SP AWKFIXESME |
| 86 | # define ALPH AWKFIXESME |
| 87 | # define DIG AWKFIXESME |
| 88 | # define SQ AWKFIXESME |
| 89 | # define DQ AWKFIXESME |
| 90 | # define SH AWKFIXESME |
| 91 | # define LSH AWKFIXESME |
| 92 | # define RSH AWKFIXESME |
| 93 | # define MINUS AWKFIXESME |
| 94 | # define SIZEQUOTE AWKFIXESME |
| 95 | /* |
| 96 | * Tokens between XOR and RP are used at random (primarily by the |
| 97 | * expression analyzer), and not used in any switch |
| 98 | */ |
| 99 | # define XOR AWKFIXESME |
| 100 | # define DIV AWKFIXESME |
| 101 | |
| 102 | # define SEMI AWKFIXESME |
| 103 | # define COLON AWKFIXESME |
| 104 | # define PLUS AWKFIXESME |
| 105 | # define IOR AWKFIXESME |
| 106 | # define AND AWKFIXESME |
| 107 | # define TILDE AWKFIXESME |
| 108 | # define ORNOT AWKFIXESME |
| 109 | # define CM AWKFIXESME |
| 110 | # define LB AWKFIXESME |
| 111 | # define RB AWKFIXESME |
| 112 | # define RP AWKFIXESME |
| 113 | |
| 114 | # define LASTTOKEN AWKFIXESME |