4.4BSD/usr/src/old/as.vax/astoks.H

Compare this file to the similar file:
Show the results in this format:

/*
 * Copyright (c) 1980 Regents of the University of California.
 * All rights reserved.  The Berkeley software License Agreement
 * specifies the terms and conditions for redistribution.
 *
 *	@(#)astoks.H	5.1 (Berkeley) 4/30/85
 */

/*
 *	Message to the wary:  The order of tokens has been
 *	hand optimized and assigned to that all switch statements
 *	are implemented by a casel instruction on the VAX. 
 *	there are 4 switch statements that have to be worried about:
 *	l)	Per character switch in the character scanner (scan_dot_s)
 *	2)	Per token switch in the buffer manager (yylex)
 *	3)	Per keyword switch in the parser (yyparse)
 *	4)	Leading token switch for argments to opcodes
 *	
 *	You can't just add new tokens willy-nilly; make sure that you
 *	add them into the proper order!
 */
# define FIRSTTOKEN	AWKFIXESME

/*
 *	Tokens between ISPACE and INSTn are used by the per keyword switch
 */
# define ISPACE 	AWKFIXESME
# define IBYTE 		AWKFIXESME
# define IWORD 		AWKFIXESME
# define IINT 		AWKFIXESME
# define ILONG 		AWKFIXESME
# define IQUAD 		AWKFIXESME
# define IOCTA 		AWKFIXESME
# define IDATA 		AWKFIXESME
# define IGLOBAL 	AWKFIXESME
# define ISET 		AWKFIXESME
# define ITEXT 		AWKFIXESME
# define ICOMM 		AWKFIXESME
# define ILCOMM 	AWKFIXESME
# define IFFLOAT 	AWKFIXESME
# define IDFLOAT 	AWKFIXESME
# define IGFLOAT 	AWKFIXESME
# define IHFLOAT 	AWKFIXESME
# define IORG 		AWKFIXESME
# define IASCII 	AWKFIXESME
# define IASCIZ 	AWKFIXESME
# define ILSYM 		AWKFIXESME
# define IFILE 		AWKFIXESME
# define ILINENO 	AWKFIXESME
# define IABORT 	AWKFIXESME
# define IFILL		AWKFIXESME
/*
 *	Tokens between ISTAB and REG are used in the per token switch
 */
# define ISTAB 		AWKFIXESME
# define ISTABSTR 	AWKFIXESME
# define ISTABNONE 	AWKFIXESME
# define ISTABDOT 	AWKFIXESME
# define IJXXX 		AWKFIXESME
# define IALIGN 	AWKFIXESME
# define INST0 		AWKFIXESME
# define INSTn 		AWKFIXESME

# define BFINT		AWKFIXESME
# define PARSEEOF	AWKFIXESME
# define ILINESKIP	AWKFIXESME
# define VOID		AWKFIXESME
# define SKIP		AWKFIXESME
# define INT		AWKFIXESME
# define BIGNUM		AWKFIXESME
# define NAME		AWKFIXESME
# define STRING		AWKFIXESME
/*
 *	Tokens between SIZESPEC and REGOP are used in the instruction
 *	argument switch
 */
# define SIZESPEC 	AWKFIXESME
# define REG		AWKFIXESME
# define MUL		AWKFIXESME
# define LITOP		AWKFIXESME
# define LP		AWKFIXESME
# define MP		AWKFIXESME
/*
 *	Tokens between REGOP and DIV are used in the per character switch
 */
# define REGOP		AWKFIXESME	/*the percent sign*/
# define NL		AWKFIXESME
# define SCANEOF	AWKFIXESME
# define BADCHAR	AWKFIXESME
# define SP		AWKFIXESME
# define ALPH		AWKFIXESME
# define DIG		AWKFIXESME
# define SQ		AWKFIXESME
# define DQ		AWKFIXESME
# define SH		AWKFIXESME
# define LSH		AWKFIXESME
# define RSH		AWKFIXESME
# define MINUS		AWKFIXESME
# define SIZEQUOTE	AWKFIXESME
/*
 *	Tokens between XOR and RP are used at random (primarily by the
 *	expression analyzer), and not used in any switch
 */
# define XOR		AWKFIXESME
# define DIV		AWKFIXESME

# define SEMI		AWKFIXESME
# define COLON		AWKFIXESME
# define PLUS		AWKFIXESME
# define IOR		AWKFIXESME 
# define AND		AWKFIXESME
# define TILDE		AWKFIXESME
# define ORNOT		AWKFIXESME
# define CM		AWKFIXESME
# define LB		AWKFIXESME
# define RB		AWKFIXESME
# define RP		AWKFIXESME

# define LASTTOKEN	AWKFIXESME