4.1cBSD/usr/src/bin/as/astoks.h

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

/* Copyright (c) 1980 Regents of the University of California */
/* "@(#)astoks.H 4.3 2/14/82" */
/*
 *	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 0

/*
 *	Tokens between ISPACE and INSTn are used by the per keyword switch
 */
# define ISPACE 1
# define IBYTE 2
# define IWORD 3
# define IINT 4
# define ILONG 5
# define IQUAD 6
# define IOCTA 7
# define IDATA 8
# define IGLOBAL 9
# define ISET 10
# define ITEXT 11
# define ICOMM 12
# define ILCOMM 13
# define IFFLOAT 14
# define IDFLOAT 15
# define IGFLOAT 16
# define IHFLOAT 17
# define IORG 18
# define IASCII 19
# define IASCIZ 20
# define ILSYM 21
# define IFILE 22
# define ILINENO 23
# define IABORT 24
# define IFILL 25
/*
 *	Tokens between ISTAB and REG are used in the per token switch
 */
# define ISTAB 26
# define ISTABSTR 27
# define ISTABNONE 28
# define ISTABDOT 29
# define IJXXX 30
# define IALIGN 31
# define INST0 32
# define INSTn 33

# define BFINT 34
# define PARSEEOF 35
# define ILINESKIP 36
# define VOID 37
# define SKIP 38
# define INT 39
# define BIGNUM 40
# define NAME 41
# define STRING 42
/*
 *	Tokens between SIZESPEC and REGOP are used in the instruction
 *	argument switch
 */
# define SIZESPEC 43
# define REG 44
# define MUL 45
# define LITOP 46
# define LP 47
# define MP 48
/*
 *	Tokens between REGOP and DIV are used in the per character switch
 */
# define NEEDSBUF 49 /*signal refilling the input buffer*/
# define REGOP 50 /*the percent sign*/
# define NL 51
# define SCANEOF 52
# define BADCHAR 53
# define SP 54
# define ALPH 55
# define DIG 56
# define SQ 57
# define DQ 58
# define SH 59
# define LSH 60
# define RSH 61
# define MINUS 62
# define SIZEQUOTE 63
/*
 *	Tokens between XOR and RP are used at random (primarily by the
 *	expression analyzer), and not used in any switch
 */
# define XOR 64
# define DIV 65

# define SEMI 66
# define COLON 67
# define PLUS 68
# define IOR 69
# define AND 70
# define TILDE 71
# define ORNOT 72
# define CM 73
# define LB 74
# define RB 75
# define RP 76

# define LASTTOKEN 77