xref: /csrg-svn/old/awk/token.c (revision 17490)
114475Ssam #ifndef lint
2*17490Ssam static char sccsid[] = "@(#)token.c	4.3 (Berkeley) 12/08/84";
314475Ssam #endif
49908Ssam 
59908Ssam #include "awk.h"
69908Ssam struct tok
79908Ssam {	char *tnm;
89908Ssam 	int yval;
99908Ssam } tok[]	= {
109908Ssam "FIRSTTOKEN", 257,
119908Ssam "FINAL", 258,
129908Ssam "FATAL", 259,
139908Ssam "LT", 260,
149908Ssam "LE", 261,
159908Ssam "GT", 262,
169908Ssam "GE", 263,
179908Ssam "EQ", 264,
189908Ssam "NE", 265,
199908Ssam "MATCH", 266,
209908Ssam "NOTMATCH", 267,
219908Ssam "APPEND", 268,
229908Ssam "ADD", 269,
239908Ssam "MINUS", 270,
249908Ssam "MULT", 271,
259908Ssam "DIVIDE", 272,
269908Ssam "MOD", 273,
279908Ssam "UMINUS", 274,
289908Ssam "ASSIGN", 275,
299908Ssam "ADDEQ", 276,
309908Ssam "SUBEQ", 277,
319908Ssam "MULTEQ", 278,
329908Ssam "DIVEQ", 279,
339908Ssam "MODEQ", 280,
349908Ssam "JUMP", 281,
359908Ssam "XBEGIN", 282,
369908Ssam "XEND", 283,
379908Ssam "NL", 284,
389908Ssam "PRINT", 285,
399908Ssam "PRINTF", 286,
409908Ssam "SPRINTF", 287,
419908Ssam "SPLIT", 288,
429908Ssam "IF", 289,
439908Ssam "ELSE", 290,
449908Ssam "WHILE", 291,
459908Ssam "FOR", 292,
469908Ssam "IN", 293,
479908Ssam "NEXT", 294,
489908Ssam "EXIT", 295,
499908Ssam "BREAK", 296,
509908Ssam "CONTINUE", 297,
519908Ssam "PROGRAM", 298,
529908Ssam "PASTAT", 299,
539908Ssam "PASTAT2", 300,
549908Ssam "ASGNOP", 301,
559908Ssam "BOR", 302,
569908Ssam "AND", 303,
579908Ssam "NOT", 304,
589908Ssam "NUMBER", 305,
599908Ssam "VAR", 306,
609908Ssam "ARRAY", 307,
619908Ssam "FNCN", 308,
629908Ssam "SUBSTR", 309,
639908Ssam "LSUBSTR", 310,
649908Ssam "INDEX", 311,
659908Ssam "GETLINE", 312,
669908Ssam "RELOP", 313,
679908Ssam "MATCHOP", 314,
689908Ssam "OR", 315,
699908Ssam "STRING", 316,
709908Ssam "DOT", 317,
719908Ssam "CCL", 318,
729908Ssam "NCCL", 319,
739908Ssam "CHAR", 320,
749908Ssam "CAT", 321,
759908Ssam "STAR", 322,
769908Ssam "PLUS", 323,
779908Ssam "QUEST", 324,
789908Ssam "POSTINCR", 325,
799908Ssam "PREINCR", 326,
809908Ssam "POSTDECR", 327,
819908Ssam "PREDECR", 328,
829908Ssam "INCR", 329,
839908Ssam "DECR", 330,
849908Ssam "FIELD", 331,
859908Ssam "INDIRECT", 332,
869908Ssam "LASTTOKEN", 333,
879908Ssam };
889908Ssam 
tokname(n)899908Ssam char *tokname(n)
909908Ssam {
919908Ssam 	if (n<=256 || n >= LASTTOKEN)
929908Ssam 		n = 257;
939908Ssam 	return(tok[n-257].tnm);
949908Ssam }
95