/[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.30 by gary, Thu Sep 20 22:01:34 2001 UTC revision 1.31 by gary, Sun Sep 30 14:43:38 2001 UTC
# Line 32  BEGIN_C_DECLS Line 32  BEGIN_C_DECLS
32    
33  typedef struct m4_symbol m4_symbol;  typedef struct m4_symbol m4_symbol;
34  typedef struct m4_module_data m4_module_data;  typedef struct m4_module_data m4_module_data;
35    typedef struct m4_token_data m4_token_data;
36    
37  typedef void m4_builtin_func (struct obstack *, int, struct m4_symbol **);  typedef void m4_builtin_func (struct obstack *, int, struct m4_token_data **);
38  typedef void *m4_module_func (const char *);  typedef void *m4_module_func (const char *);
39  typedef int m4_symtab_apply_func (const char *name, m4_symbol *symbol, void *data);  typedef int m4_symtab_apply_func (const char *name, m4_symbol *symbol, void *data);
40    
# Line 55  typedef struct { Line 56  typedef struct {
56  } m4_builtin;  } m4_builtin;
57    
58    
59  extern void         m4_module_init      (void);  extern void         m4_module_init   (void);
60  extern lt_dlhandle  m4_module_load      (const char*, struct obstack*);  extern lt_dlhandle  m4_module_load   (const char*, struct obstack*);
61  extern void         m4_module_unload    (const char*, struct obstack*);  extern void         m4_module_unload (const char*, struct obstack*);
62  extern void         m4_module_unload_all (void);  extern lt_dlhandle  m4_module_open   (const char*, struct obstack*);
63  extern lt_dlhandle  m4_module_open      (const char*, struct obstack*);  extern void         m4_module_close  (lt_dlhandle, struct obstack*);
64  extern void         m4_module_close     (lt_dlhandle, struct obstack*);  extern void         m4_module_close_all (struct obstack*);
 extern void         m4_module_close_all (struct obstack*);  
65    
66  extern const char  *m4_module_name     (lt_dlhandle);  extern const char  *m4_module_name     (lt_dlhandle);
67  extern m4_builtin  *m4_module_builtins (lt_dlhandle);  extern m4_builtin  *m4_module_builtins (lt_dlhandle);
# Line 94  extern m4_hash *m4_symtab; Line 94  extern m4_hash *m4_symtab;
94  extern void     m4_symtab_init          (void);  extern void     m4_symtab_init          (void);
95  extern int      m4_symtab_apply         (m4_symtab_apply_func *, void *);  extern int      m4_symtab_apply         (m4_symtab_apply_func *, void *);
96  extern void     m4_symtab_remove_module_references (lt_dlhandle);  extern void     m4_symtab_remove_module_references (lt_dlhandle);
 extern void     m4_symtab_exit          (void);  
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 *);
# Line 128  typedef enum { Line 127  typedef enum {
127  typedef void m4_module_init_func   (lt_dlhandle, struct obstack*);  typedef void m4_module_init_func   (lt_dlhandle, struct obstack*);
128  typedef void m4_module_finish_func (lt_dlhandle, struct obstack*);  typedef void m4_module_finish_func (lt_dlhandle, struct obstack*);
129    
130  extern m4_token_data_t  m4_symbol_type    (m4_symbol*);  extern m4_token_data_t  m4_token_data_type        (m4_token_data*);
131  extern char            *m4_symbol_text    (m4_symbol*);  extern char            *m4_token_data_text        (m4_token_data*);
132  extern m4_builtin_func *m4_symbol_func    (m4_symbol*);  extern m4_builtin_func *m4_token_data_func        (m4_token_data*);
133    
134    
135  #define M4ARG(i)        (argc > (i) ? m4_symbol_text (argv[i]) : "")  #define M4ARG(i)        (argc > (i) ? m4_token_data_text (argv[i]) : "")
136    
137  #define M4BUILTIN(name)                                         \  #define M4BUILTIN(name)                                         \
138    static void CONC(builtin_, name)                              \    static void CONC(builtin_, name)                              \
139          (struct obstack *, int , m4_symbol **);          (struct obstack *, int , m4_token_data **);
140    
141  #define M4BUILTIN_HANDLER(name)                                 \  #define M4BUILTIN_HANDLER(name)                                 \
142    static void CONC(builtin_, name) (obs, argc, argv)            \    static void CONC(builtin_, name) (obs, argc, argv)            \
143          struct obstack *obs; int argc; m4_symbol **argv;          struct obstack *obs; int argc; m4_token_data **argv;
144    
145  #define M4INIT_HANDLER(name)                                    \  #define M4INIT_HANDLER(name)                                    \
146    void CONC(name, CONC(_LTX_, m4_init_module))                  \    void CONC(name, CONC(_LTX_, m4_init_module))                  \
# Line 193  m4_string ecomm; Line 192  m4_string ecomm;
192  #define DEF_BCOMM "#"  #define DEF_BCOMM "#"
193  #define DEF_ECOMM "\n"  #define DEF_ECOMM "\n"
194    
195  boolean m4_bad_argc (m4_symbol *, int, int, int);  boolean m4_bad_argc (m4_token_data *, int, int, int);
196  const char *m4_skip_space (const char *);  const char *m4_skip_space (const char *);
197  boolean m4_numeric_arg (m4_symbol *, const char *, int *);  boolean m4_numeric_arg (m4_token_data *, const char *, int *);
198  void m4_shipout_int (struct obstack *, int);  void m4_shipout_int (struct obstack *, int);
199  void m4_shipout_string (struct obstack*, const char*, int, boolean);  void m4_shipout_string (struct obstack*, const char*, int, boolean);
200  void m4_dump_args (struct obstack *obs, int argc, m4_symbol **argv, const char *sep, boolean quoted);  void m4_dump_args (struct obstack *obs, int argc, m4_token_data **argv, const char *sep, boolean quoted);
201    
202    
203  FILE *m4_debug;  FILE *m4_debug;
# Line 292  FILE *m4_debug; Line 291  FILE *m4_debug;
291    while (0)    while (0)
292    
293  void m4_debug_init (void);  void m4_debug_init (void);
 void m4_debug_exit (void);  
294  int m4_debug_decode (const char *);  int m4_debug_decode (const char *);
295  void m4_debug_flush_files (void);  void m4_debug_flush_files (void);
296  boolean m4_debug_set_output (const char *);  boolean m4_debug_set_output (const char *);
297  void m4_debug_message_prefix (void);  void m4_debug_message_prefix (void);
298    
299  void m4_trace_prepre (const char *, int);  void m4_trace_prepre (const char *, int);
300  void m4_trace_pre (const char *, int, int, m4_symbol **);  void m4_trace_pre (const char *, int, int, m4_token_data **);
301  void m4_trace_post (const char *, int, int, m4_symbol **,  void m4_trace_post (const char *, int, int, m4_token_data **,
302                             const char *);                             const char *);
303    
304  /* Exit code from last "syscmd" command.  */  /* Exit code from last "syscmd" command.  */
# Line 309  int m4_expansion_level; Line 307  int m4_expansion_level;
307    
308  const char *m4_expand_ranges (const char *s, struct obstack *obs);  const char *m4_expand_ranges (const char *s, struct obstack *obs);
309  void m4_expand_input (void);  void m4_expand_input (void);
310  void m4_call_macro (m4_symbol *, int, m4_symbol **, struct obstack *);  void m4_call_macro (m4_symbol *, int, m4_token_data **, struct obstack *);
311  void m4_process_macro (struct obstack *obs, m4_symbol *symbol, int argc, m4_symbol **argv);  void m4_process_macro (struct obstack *obs, m4_symbol *symbol, int argc, m4_token_data **argv);
312    
313    
314    
# Line 377  int m4_current_line; Line 375  int m4_current_line;
375    
376  extern  int     m4_syntax_code  (char ch);  extern  int     m4_syntax_code  (char ch);
377  extern  void    m4_input_init   (void);  extern  void    m4_input_init   (void);
 extern  void    m4_input_exit   (void);  
378  extern  void    m4_syntax_init  (void);  extern  void    m4_syntax_init  (void);
379  extern  int     m4_peek_input   (void);  extern  int     m4_peek_input   (void);
380  extern  m4_token_t m4_next_token (m4_symbol *);  extern  m4_token_t m4_next_token (m4_token_data *);
381  extern  void    m4_skip_line    (void);  extern  void    m4_skip_line    (void);
382    
383  /* push back input */  /* push back input */
# Line 402  int m4_current_diversion; Line 399  int m4_current_diversion;
399  int m4_output_current_line;  int m4_output_current_line;
400    
401  extern  void    m4_output_init  (void);  extern  void    m4_output_init  (void);
 extern  void    m4_output_exit  (void);  
402  extern  void    m4_shipout_text (struct obstack *, const char *, int);  extern  void    m4_shipout_text (struct obstack *, const char *, int);
403  extern  void    m4_make_diversion (int);  extern  void    m4_make_diversion (int);
404  extern  void    m4_insert_diversion (int);  extern  void    m4_insert_diversion (int);
# Line 449  struct m4_dump_symbol_data Line 445  struct m4_dump_symbol_data
445  };  };
446    
447  extern int m4_dump_symbol (const char *name, m4_symbol *symbol, void *data);  extern int m4_dump_symbol (const char *name, m4_symbol *symbol, void *data);
448  extern void m4_dump_symbols (struct m4_dump_symbol_data *data, int argc, m4_symbol **argv, boolean complain);  extern void m4_dump_symbols (struct m4_dump_symbol_data *data, int argc, m4_token_data **argv, boolean complain);
449    
450    
451    

Legend:
Removed from v.1.30  
changed lines
  Added in v.1.31

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