#include "awk.h" struct toke { char *tnm; int yval; } tok[] = { { "FIRSTTOKEN", 257 }, { "FINAL", 258 }, { "FATAL", 259 }, { "LT", 260 }, { "LE", 261 }, { "GT", 262 }, { "GE", 263 }, { "EQ", 264 }, { "NE", 265 }, { "MATCH", 266 }, { "NOTMATCH", 267 }, { "APPEND", 268 }, { "ADD", 269 }, { "MINUS", 270 }, { "MULT", 271 }, { "DIVIDE", 272 }, { "MOD", 273 }, { "UMINUS", 274 }, { "ASSIGN", 275 }, { "ADDEQ", 276 }, { "SUBEQ", 277 }, { "MULTEQ", 278 }, { "DIVEQ", 279 }, { "MODEQ", 280 }, { "JUMP", 281 }, { "XBEGIN", 282 }, { "XEND", 283 }, { "NL", 284 }, { "PRINT", 285 }, { "PRINTF", 286 }, { "SPRINTF", 287 }, { "SPLIT", 288 }, { "IF", 289 }, { "ELSE", 290 }, { "WHILE", 291 }, { "FOR", 292 }, { "IN", 293 }, { "NEXT", 294 }, { "EXIT", 295 }, { "BREAK", 296 }, { "CONTINUE", 297 }, { "PROGRAM", 298 }, { "PASTAT", 299 }, { "PASTAT2", 300 }, { "REGEXPR", 301 }, { "ASGNOP", 302 }, { "BOR", 303 }, { "AND", 304 }, { "NOT", 305 }, { "NUMBER", 306 }, { "VAR", 307 }, { "ARRAY", 308 }, { "FNCN", 309 }, { "SUBSTR", 310 }, { "LSUBSTR", 311 }, { "INDEX", 312 }, { "GETLINE", 313 }, { "RELOP", 314 }, { "MATCHOP", 315 }, { "OR", 316 }, { "STRING", 317 }, { "DOT", 318 }, { "CCL", 319 }, { "NCCL", 320 }, { "CHAR", 321 }, { "CAT", 322 }, { "STAR", 323 }, { "PLUS", 324 }, { "QUEST", 325 }, { "POSTINCR", 326 }, { "PREINCR", 327 }, { "POSTDECR", 328 }, { "PREDECR", 329 }, { "INCR", 330 }, { "DECR", 331 }, { "FIELD", 332 }, { "INDIRECT", 333 }, { "LASTTOKEN", 334 }, }; char *tokname(int n) { if (n < FIRSTTOKEN || n >= LASTTOKEN) n = FIRSTTOKEN; return(tok[n - FIRSTTOKEN].tnm); }