|
|
1.1 root 1: #include "awk.h"
2: struct tok
3: { char *tnm;
4: int yval;
5: } tok[] = {
6: "FIRSTTOKEN", 257,
7: "FINAL", 258,
8: "FATAL", 259,
9: "LT", 260,
10: "LE", 261,
11: "GT", 262,
12: "GE", 263,
13: "EQ", 264,
14: "NE", 265,
15: "MATCH", 266,
16: "NOTMATCH", 267,
17: "APPEND", 268,
18: "ADD", 269,
19: "MINUS", 270,
20: "MULT", 271,
21: "DIVIDE", 272,
22: "MOD", 273,
23: "UMINUS", 274,
24: "ASSIGN", 275,
25: "ADDEQ", 276,
26: "SUBEQ", 277,
27: "MULTEQ", 278,
28: "DIVEQ", 279,
29: "MODEQ", 280,
30: "JUMP", 281,
31: "XBEGIN", 282,
32: "XEND", 283,
33: "NL", 284,
34: "PRINT", 285,
35: "PRINTF", 286,
36: "SPRINTF", 287,
37: "SPLIT", 288,
38: "IF", 289,
39: "ELSE", 290,
40: "WHILE", 291,
41: "FOR", 292,
42: "IN", 293,
43: "NEXT", 294,
44: "EXIT", 295,
45: "BREAK", 296,
46: "CONTINUE", 297,
47: "PROGRAM", 298,
48: "PASTAT", 299,
49: "PASTAT2", 300,
50: "ASGNOP", 301,
51: "BOR", 302,
52: "AND", 303,
53: "NOT", 304,
54: "NUMBER", 305,
55: "VAR", 306,
56: "ARRAY", 307,
57: "FNCN", 308,
58: "SUBSTR", 309,
59: "LSUBSTR", 310,
60: "INDEX", 311,
61: "GETLINE", 312,
62: "RELOP", 313,
63: "MATCHOP", 314,
64: "OR", 315,
65: "STRING", 316,
66: "DOT", 317,
67: "CCL", 318,
68: "NCCL", 319,
69: "CHAR", 320,
70: "CAT", 321,
71: "STAR", 322,
72: "PLUS", 323,
73: "QUEST", 324,
74: "POSTINCR", 325,
75: "PREINCR", 326,
76: "POSTDECR", 327,
77: "PREDECR", 328,
78: "INCR", 329,
79: "DECR", 330,
80: "FIELD", 331,
81: "INDIRECT", 332,
82: "LASTTOKEN", 333,
83: };
84: ptoken(n)
85: {
86: if(n<128) printf("lex: %c\n",n);
87: else if(n<=256) printf("lex:? %o\n",n);
88: else if(n<LASTTOKEN) printf("lex: %s\n",tok[n-257].tnm);
89: else printf("lex:? %o\n",n);
90: return;
91: }
92:
93: char *tokname(n)
94: {
95: if (n<=256 || n >= LASTTOKEN)
96: n = 257;
97: return(tok[n-257].tnm);
98: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.