/[m4]/m4/m4/m4module.h
ViewVC logotype

Diff of /m4/m4/m4module.h

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.40 by gary, Wed Jun 4 10:56:32 2003 UTC revision 1.41 by gary, Thu Jun 5 16:12:16 2003 UTC
# Line 79  extern lt_dlhandle  m4_module_find_by_bu Line 79  extern lt_dlhandle  m4_module_find_by_bu
79    
80    
81    
 /* --- MACRO (and builtin) MANAGEMENT --- */  
   
 extern m4_symbol *m4_macro_pushdef      (const char *name, lt_dlhandle handle,  
                                          const char *text, int flags,  
                                          int min_args, int max_args);  
 extern m4_symbol *m4_macro_define       (const char *name, lt_dlhandle handle,  
                                          const char *text, int flags,  
                                          int min_args, int max_args);  
 extern void       m4_macro_table_install (lt_dlhandle handle,  
                                           const m4_macro *table);  
   
 extern m4_symbol *m4_builtin_pushdef    (const char *name, lt_dlhandle handle,  
                                          m4_builtin_func *func, int flags,  
                                          int min_args, int max_args);  
 extern m4_symbol *m4_builtin_define     (const char *name, lt_dlhandle handle,  
                                          m4_builtin_func *func, int flags,  
                                          int min_args, int max_args);  
 extern void       m4_builtin_table_install (lt_dlhandle handle,  
                                          const m4_builtin *table);  
   
 extern const m4_builtin *m4_builtin_find_by_name (  
                                 const m4_builtin *, const char *);  
 extern const m4_builtin *m4_builtin_find_by_func (  
                                 const m4_builtin *, m4_builtin_func *);  
   
   
   
82  /* --- SYMBOL TABLE MANAGEMENT --- */  /* --- SYMBOL TABLE MANAGEMENT --- */
83    
84  extern m4_hash *m4_symtab;  extern m4_hash *m4_symtab;
# Line 120  extern m4_symbol *m4_symbol_pushdef    (con Line 93  extern m4_symbol *m4_symbol_pushdef    (con
93  extern m4_symbol *m4_symbol_define      (const char *);  extern m4_symbol *m4_symbol_define      (const char *);
94  extern void       m4_symbol_popdef      (const char *);  extern void       m4_symbol_popdef      (const char *);
95  extern void       m4_symbol_delete      (const char *);  extern void       m4_symbol_delete      (const char *);
96  extern void       m4_symbol_builtin     (m4_symbol *symbol, lt_dlhandle handle,  extern m4_symbol *m4_symbol_builtin     (m4_symbol *symbol, m4_token *token);
97                                           m4_builtin_func *func, int flags,  extern m4_symbol *m4_symbol_macro       (m4_symbol *symbol, m4_token *token);
                                          int min_args, int max_args);  
 extern void       m4_symbol_macro       (m4_symbol *symbol, lt_dlhandle handle,  
                                          const char *text, int flags,  
                                          int min_args, int max_args);  
98    
99    
100  /* Various different token types.  */  /* Various different token types.  */
# Line 146  typedef enum { Line 115  typedef enum {
115    M4_TOKEN_FUNC    M4_TOKEN_FUNC
116  } m4_data_t;  } m4_data_t;
117    
118    
119    
120    
121    /* --- MACRO (and builtin) MANAGEMENT --- */
122    
123    extern m4_symbol *m4_symbol_token (const char *name, m4_data_t type,
124                            m4_token *token,
125                            m4_symbol *(*getter) (const char *name),
126                            m4_symbol *(*setter) (m4_symbol *, m4_token *));
127    
128    extern void       m4_macro_table_install (lt_dlhandle handle,
129                                              const m4_macro *table);
130    extern void       m4_builtin_table_install (lt_dlhandle handle,
131                                             const m4_builtin *table);
132    
133    extern const m4_builtin *m4_builtin_find_by_name (
134                                    const m4_builtin *, const char *);
135    extern const m4_builtin *m4_builtin_find_by_func (
136                                    const m4_builtin *, m4_builtin_func *);
137    
138    #define m4_macro_pushdef(name, macro)                                   \
139            m4_symbol_token ((name), M4_TOKEN_TEXT, (macro),                \
140                             m4_symbol_pushdef, m4_symbol_macro)
141    #define m4_macro_define(name, macro)                                    \
142            m4_symbol_token ((name), M4_TOKEN_TEXT, (macro),                \
143                             m4_symbol_define, m4_symbol_macro)
144    #define m4_builtin_pushdef(name, builtin)                               \
145            m4_symbol_token ((name), M4_TOKEN_FUNC, (builtin),              \
146                             m4_symbol_pushdef, m4_symbol_builtin)
147    #define m4_builtin_define(name, builtin)                                \
148            m4_symbol_token ((name), M4_TOKEN_FUNC, (builtin),              \
149                             m4_symbol_define, m4_symbol_builtin)
150    
151  extern m4_token_t       m4_token_type     (m4_token *);  extern m4_token_t       m4_token_type     (m4_token *);
152  extern char            *m4_token_text     (m4_token *);  extern char            *m4_token_text     (m4_token *);
153  extern m4_builtin_func *m4_token_func     (m4_token *);  extern m4_builtin_func *m4_token_func     (m4_token *);

Legend:
Removed from v.1.40  
changed lines
  Added in v.1.41

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26