50 |
} m4_macro; |
} m4_macro; |
51 |
|
|
52 |
typedef struct { |
typedef struct { |
53 |
const char *name; |
const char * name; |
54 |
m4_builtin_func *func; |
m4_builtin_func * func; |
55 |
boolean groks_macro_args; |
boolean groks_macro_args, blind_if_no_args; |
56 |
boolean blind_if_no_args; |
int min_args, max_args; |
57 |
} m4_builtin; |
} m4_builtin; |
58 |
|
|
59 |
|
|
73 |
|
|
74 |
|
|
75 |
extern m4_symbol *m4_macro_pushdef (const char *name, lt_dlhandle handle, |
extern m4_symbol *m4_macro_pushdef (const char *name, lt_dlhandle handle, |
76 |
const char *text, int flags); |
const char *text, int flags, |
77 |
|
int min_args, int max_args); |
78 |
extern m4_symbol *m4_macro_define (const char *name, lt_dlhandle handle, |
extern m4_symbol *m4_macro_define (const char *name, lt_dlhandle handle, |
79 |
const char *text, int flags); |
const char *text, int flags, |
80 |
|
int min_args, int max_args); |
81 |
extern void m4_macro_table_install (lt_dlhandle handle, |
extern void m4_macro_table_install (lt_dlhandle handle, |
82 |
const m4_macro *table); |
const m4_macro *table); |
83 |
|
|
84 |
extern m4_symbol *m4_builtin_pushdef (const char *name, lt_dlhandle handle, |
extern m4_symbol *m4_builtin_pushdef (const char *name, lt_dlhandle handle, |
85 |
m4_builtin_func *func, int flags); |
m4_builtin_func *func, int flags, |
86 |
|
int min_args, int max_args); |
87 |
extern m4_symbol *m4_builtin_define (const char *name, lt_dlhandle handle, |
extern m4_symbol *m4_builtin_define (const char *name, lt_dlhandle handle, |
88 |
m4_builtin_func *func, int flags); |
m4_builtin_func *func, int flags, |
89 |
|
int min_args, int max_args); |
90 |
extern void m4_builtin_table_install (lt_dlhandle handle, |
extern void m4_builtin_table_install (lt_dlhandle handle, |
91 |
const m4_builtin *table); |
const m4_builtin *table); |
92 |
|
|
108 |
extern void m4_symbol_popdef (const char *); |
extern void m4_symbol_popdef (const char *); |
109 |
extern void m4_symbol_delete (const char *); |
extern void m4_symbol_delete (const char *); |
110 |
extern void m4_symbol_builtin (m4_symbol *symbol, lt_dlhandle handle, |
extern void m4_symbol_builtin (m4_symbol *symbol, lt_dlhandle handle, |
111 |
m4_builtin_func *func, int flags); |
m4_builtin_func *func, int flags, |
112 |
|
int min_args, int max_args); |
113 |
extern void m4_symbol_macro (m4_symbol *symbol, lt_dlhandle handle, |
extern void m4_symbol_macro (m4_symbol *symbol, lt_dlhandle handle, |
114 |
const char *text, int flags); |
const char *text, int flags, |
115 |
|
int min_args, int max_args); |
116 |
|
|
117 |
|
|
118 |
/* Various different token types. */ |
/* Various different token types. */ |
388 |
extern void m4_syntax_init (void); |
extern void m4_syntax_init (void); |
389 |
extern int m4_peek_input (void); |
extern int m4_peek_input (void); |
390 |
extern m4_token_t m4_next_token (m4_token *); |
extern m4_token_t m4_next_token (m4_token *); |
391 |
|
extern void m4_token_copy (m4_token *dest, m4_token *src); |
392 |
extern void m4_skip_line (void); |
extern void m4_skip_line (void); |
393 |
|
|
394 |
/* push back input */ |
/* push back input */ |