ack/lang/cem/lint/lpass2/class.h
1988-10-12 15:49:11 +00:00

31 lines
825 B
C

/*
* (c) copyright 1987 by the Vrije Universiteit, Amsterdam, The Netherlands.
* See the copyright notice in the ACK home directory, in the file "Copyright".
*/
/* $Header$ */
/* Bit patterns to allow fast answers to set questions about classes.
The classes in the inpdef are given as single letters; the array
class[] contains a bit pattern for each letter, with those bits set
that correspond to the lint class meaning of the letter.
This facility is used through the macro is_class(inpdef_var, CL_XXX)
*/
#define CL_DEF (1<<0)
#define CL_DECL (1<<1)
#define CL_USAGE (1<<2)
#define CL_FUNC (1<<3)
#define CL_VAR (1<<4)
#define CL_LIB (1<<5)
#define CL_EXT (1<<6)
#define CL_IMPL (1<<7)
#define CL_STAT (1<<8)
extern int class[];
#define is_class(id,cl) ((class[(id)->id_class-'a'] & (cl)) == (cl))