2 * (c) copyright 1987 by the Vrije Universiteit, Amsterdam, The Netherlands.
3 * See the copyright notice in the ACK home directory, in the file "Copyright".
5 /* $Id: macro.str,v 3.11 1994/06/24 12:05:14 ceriel Exp $ */
6 /* PREPROCESSOR: DEFINITION OF MACRO DESCRIPTOR */
11 /* The flags of the mc_flag field of the macro structure. Note that
12 these flags can be set simultaneously.
14 #define NOFLAG 0 /* no special flags */
15 #define FUNC 01 /* function attached */
16 #define NOREPLACE 02 /* don't replace */
18 #define FORMALP 0200 /* mask for creating macro formal parameter */
20 /* The macro descriptor is very simple, except the fact that the
21 mc_text, which points to the replacement text, contains the
22 non-ascii characters \201, \202, etc, indicating the position of a
23 formal parameter in this text.
27 char * mc_text; /* the replacement text */
28 int mc_nps; /* number of formal parameters */
29 int mc_length; /* length of replacement text */
30 int mc_count; /* # of "concurrent" invocations*/
31 char mc_flag; /* marking this macro */
34 /* ALLOCDEF "macro" 20 */
43 /* ALLOCDEF "mlist" 20 */
45 /* `token' numbers of keywords of command-line processor
59 #define K_FILE 100 /* for dependency generator */