43 |
size_t length; /* length of the string */ |
size_t length; /* length of the string */ |
44 |
} m4_string; |
} m4_string; |
45 |
|
|
|
/* Operation modes for m4_lookup_symbol (). */ |
|
|
typedef enum |
|
|
{ |
|
|
M4_SYMBOL_INSERT, |
|
|
M4_SYMBOL_PUSHDEF |
|
|
} m4_symbol_lookup_t; |
|
|
|
|
46 |
typedef struct { |
typedef struct { |
47 |
const char *name; |
const char *name; |
48 |
const char *value; |
const char *value; |
70 |
extern lt_dlhandle m4_module_find_by_builtin (const m4_builtin*); |
extern lt_dlhandle m4_module_find_by_builtin (const m4_builtin*); |
71 |
|
|
72 |
|
|
73 |
extern void m4_macro_define (const lt_dlhandle, |
extern m4_symbol *m4_macro_pushdef (const char *name, lt_dlhandle handle, |
74 |
const char *, const char *, m4_symbol_lookup_t); |
const char *text); |
75 |
extern void m4_macro_table_install ( |
extern m4_symbol *m4_macro_insert (const char *name, lt_dlhandle handle, |
76 |
const lt_dlhandle, const m4_macro *); |
const char *text); |
77 |
|
extern void m4_macro_table_install (lt_dlhandle handle, |
78 |
extern void m4_builtin_define (const lt_dlhandle, |
const m4_macro *table); |
79 |
const char *, const m4_builtin *, |
|
80 |
m4_symbol_lookup_t, boolean); |
extern m4_symbol *m4_builtin_pushdef (const char *name, lt_dlhandle handle, |
81 |
extern void m4_builtin_table_install ( |
const m4_builtin *bp); |
82 |
const lt_dlhandle, const m4_builtin *); |
extern m4_symbol *m4_builtin_insert (const char *name, lt_dlhandle handle, |
83 |
|
const m4_builtin *bp); |
84 |
|
extern void m4_builtin_table_install (lt_dlhandle handle, |
85 |
|
const m4_builtin *table); |
86 |
|
|
87 |
extern const m4_builtin *m4_builtin_find_by_name ( |
extern const m4_builtin *m4_builtin_find_by_name ( |
88 |
const m4_builtin *, const char *); |
const m4_builtin *, const char *); |
91 |
|
|
92 |
extern m4_hash *m4_symtab; |
extern m4_hash *m4_symtab; |
93 |
|
|
94 |
extern void m4_symtab_init (void); |
extern void m4_symtab_init (void); |
95 |
extern m4_symbol *m4_lookup_symbol (const char *, m4_symbol_lookup_t); |
extern int m4_symtab_apply (m4_symtab_apply_func *, void *); |
96 |
|
extern void m4_symtab_remove_module_references (lt_dlhandle); |
97 |
|
|
98 |
extern m4_symbol *m4_symbol_lookup (const char *); |
extern m4_symbol *m4_symbol_lookup (const char *); |
99 |
extern m4_symbol *m4_symbol_pushdef (const char *); |
extern m4_symbol *m4_symbol_pushdef (const char *); |
100 |
extern m4_symbol *m4_symbol_insert (const char *); |
extern m4_symbol *m4_symbol_insert (const char *); |
101 |
extern void m4_symbol_popdef (const char *); |
extern void m4_symbol_popdef (const char *); |
102 |
extern void m4_symbol_delete (const char *); |
extern void m4_symbol_delete (const char *); |
103 |
extern int m4_symtab_apply (m4_symtab_apply_func *, void *); |
extern void m4_symbol_builtin (m4_symbol *symbol, lt_dlhandle handle, |
104 |
extern void m4_symtab_remove_module_references (lt_dlhandle); |
const m4_builtin *bp); |
105 |
|
extern void m4_symbol_macro (m4_symbol *symbol, lt_dlhandle handle, |
106 |
|
const char *text); |
107 |
|
|
108 |
|
|
109 |
/* Various different token types. */ |
/* Various different token types. */ |