41 |
m4_macro *mp; /* `m4_macro_table' address */ |
m4_macro *mp; /* `m4_macro_table' address */ |
42 |
}; |
}; |
43 |
|
|
44 |
|
struct m4_token_arg { |
45 |
|
int index; |
46 |
|
int flags; |
47 |
|
char * default_val; |
48 |
|
}; |
49 |
|
|
50 |
|
/* m4_token_arg.flags bit masks: */ |
51 |
|
|
52 |
|
#define TOKEN_ARG_REST_BIT (1 << 0) |
53 |
|
#define TOKEN_ARG_KEY_BIT (1 << 1) |
54 |
|
|
55 |
struct m4_token { |
struct m4_token { |
56 |
m4_token * next; |
m4_token * next; |
57 |
lt_dlhandle handle; |
lt_dlhandle handle; |
58 |
int flags; |
int flags; |
59 |
|
|
60 |
|
m4_hash * arg_signature; |
61 |
int min_args, max_args; |
int min_args, max_args; |
62 |
|
|
63 |
m4_data_t type; |
m4_data_t type; |
70 |
#define TOKEN_NEXT(T) ((T)->next) |
#define TOKEN_NEXT(T) ((T)->next) |
71 |
#define TOKEN_HANDLE(T) ((T)->handle) |
#define TOKEN_HANDLE(T) ((T)->handle) |
72 |
#define TOKEN_FLAGS(T) ((T)->flags) |
#define TOKEN_FLAGS(T) ((T)->flags) |
73 |
|
#define TOKEN_ARG_SIGNATURE(T) ((T)->arg_signature) |
74 |
#define TOKEN_MIN_ARGS(T) ((T)->min_args) |
#define TOKEN_MIN_ARGS(T) ((T)->min_args) |
75 |
#define TOKEN_MAX_ARGS(T) ((T)->max_args) |
#define TOKEN_MAX_ARGS(T) ((T)->max_args) |
76 |
#define TOKEN_TYPE(T) ((T)->type) |
#define TOKEN_TYPE(T) ((T)->type) |
105 |
#define SYMBOL_NEXT(S) (TOKEN_NEXT (SYMBOL_TOKEN (S))) |
#define SYMBOL_NEXT(S) (TOKEN_NEXT (SYMBOL_TOKEN (S))) |
106 |
#define SYMBOL_HANDLE(S) (TOKEN_HANDLE (SYMBOL_TOKEN (S))) |
#define SYMBOL_HANDLE(S) (TOKEN_HANDLE (SYMBOL_TOKEN (S))) |
107 |
#define SYMBOL_FLAGS(S) (TOKEN_FLAGS (SYMBOL_TOKEN (S))) |
#define SYMBOL_FLAGS(S) (TOKEN_FLAGS (SYMBOL_TOKEN (S))) |
108 |
|
#define SYMBOL_ARG_SIGNATURE(S) (TOKEN_ARG_SIGNATURE (SYMBOL_TOKEN (S))) |
109 |
#define SYMBOL_MIN_ARGS(S) (TOKEN_MIN_ARGS (SYMBOL_TOKEN (S))) |
#define SYMBOL_MIN_ARGS(S) (TOKEN_MIN_ARGS (SYMBOL_TOKEN (S))) |
110 |
#define SYMBOL_MAX_ARGS(S) (TOKEN_MAX_ARGS (SYMBOL_TOKEN (S))) |
#define SYMBOL_MAX_ARGS(S) (TOKEN_MAX_ARGS (SYMBOL_TOKEN (S))) |
111 |
#define SYMBOL_TYPE(S) (TOKEN_TYPE (SYMBOL_TOKEN (S))) |
#define SYMBOL_TYPE(S) (TOKEN_TYPE (SYMBOL_TOKEN (S))) |