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