added type-rename operator
[unix-history] / usr / src / old / as.vax / astoks.H
CommitLineData
b41db250 1/* Copyright (c) 1980 Regents of the University of California */
f70ab843 2/* "@(#)astoks.H 4.3 %G%" */
b41db250
RH
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