/[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.11 by gary, Sun Aug 19 10:53:56 2001 UTC revision 1.12 by gary, Mon Aug 20 19:42:38 2001 UTC
# Line 39  typedef struct m4_symbol m4_symbol; Line 39  typedef struct m4_symbol m4_symbol;
39  typedef struct m4_module_data m4_module_data;  typedef struct m4_module_data m4_module_data;
40  typedef struct m4_token_data m4_token_data;  typedef struct m4_token_data m4_token_data;
41    
42  typedef void m4_builtin_func M4_PARAMS((struct obstack *, int,  typedef void m4_builtin_func (struct obstack *, int, struct m4_token_data **);
43                                          struct m4_token_data **));  typedef void *m4_module_func (const char *);
 typedef VOID *m4_module_func M4_PARAMS((const char *));  
44  typedef void m4_hack_symbol ();  typedef void m4_hack_symbol ();
45    
46    
# Line 74  typedef struct { Line 73  typedef struct {
73  } m4_builtin;  } m4_builtin;
74    
75    
76  extern void         m4_module_init   M4_PARAMS((void));  extern void         m4_module_init   (void);
77  extern lt_dlhandle  m4_module_load   M4_PARAMS((const char*, struct obstack*));  extern lt_dlhandle  m4_module_load   (const char*, struct obstack*);
78  extern void         m4_module_unload M4_PARAMS((const char*, struct obstack*));  extern void         m4_module_unload (const char*, struct obstack*);
79  extern lt_dlhandle  m4_module_open   M4_PARAMS((const char*, struct obstack*));  extern lt_dlhandle  m4_module_open   (const char*, struct obstack*);
80  extern void         m4_module_close  M4_PARAMS((lt_dlhandle, struct obstack*));  extern void         m4_module_close  (lt_dlhandle, struct obstack*);
81  extern void         m4_module_close_all M4_PARAMS((struct obstack*));  extern void         m4_module_close_all (struct obstack*);
82    
83  extern const char  *m4_module_name     M4_PARAMS((lt_dlhandle));  extern const char  *m4_module_name     (lt_dlhandle);
84  extern m4_builtin  *m4_module_builtins M4_PARAMS((lt_dlhandle));  extern m4_builtin  *m4_module_builtins (lt_dlhandle);
85  extern m4_macro    *m4_module_macros   M4_PARAMS((lt_dlhandle));  extern m4_macro    *m4_module_macros   (lt_dlhandle);
86    
87  extern lt_dlhandle  m4_module_find_by_builtin M4_PARAMS((const m4_builtin*));  extern lt_dlhandle  m4_module_find_by_builtin (const m4_builtin*);
88    
89    
90  extern void m4_macro_define             M4_PARAMS((const lt_dlhandle,  extern void m4_macro_define             (const lt_dlhandle,
91                                  const char *, const char *, m4_symbol_lookup));                                  const char *, const char *, m4_symbol_lookup);
92  extern void m4_macro_table_install      M4_PARAMS((  extern void m4_macro_table_install      (
93                                  const lt_dlhandle, const m4_macro *));                                  const lt_dlhandle, const m4_macro *);
94    
95  extern void m4_builtin_define           M4_PARAMS((const lt_dlhandle,  extern void m4_builtin_define           (const lt_dlhandle,
96                                  const char *, const m4_builtin *,                                  const char *, const m4_builtin *,
97                                  m4_symbol_lookup, boolean));                                  m4_symbol_lookup, boolean);
98  extern void m4_builtin_table_install    M4_PARAMS((  extern void m4_builtin_table_install    (
99                                  const lt_dlhandle, const m4_builtin *));                                  const lt_dlhandle, const m4_builtin *);
100    
101  extern const m4_builtin *m4_builtin_find_by_name M4_PARAMS((  extern const m4_builtin *m4_builtin_find_by_name (
102                                  const m4_builtin *, const char *));                                  const m4_builtin *, const char *);
103  extern const m4_builtin *m4_builtin_find_by_func M4_PARAMS((  extern const m4_builtin *m4_builtin_find_by_func (
104                                  const m4_builtin *, m4_builtin_func *));                                  const m4_builtin *, m4_builtin_func *);
105    
106  extern m4_symbol **m4_symtab;  extern m4_symbol **m4_symtab;
107    
108  extern void     m4_symtab_init          M4_PARAMS((void));  extern void     m4_symtab_init          (void);
109  extern m4_symbol *m4_lookup_symbol      M4_PARAMS((const char *,  extern m4_symbol *m4_lookup_symbol      (const char *,
110                                                     m4_symbol_lookup));                                                     m4_symbol_lookup);
111  extern void     m4_hack_all_symbols     M4_PARAMS((m4_hack_symbol *,  extern void     m4_hack_all_symbols     (m4_hack_symbol *,
112                                                     const char *));                                                     const char *);
113  extern void     m4_remove_table_reference_symbols M4_PARAMS((  extern void     m4_remove_table_reference_symbols (
114                                                  m4_builtin *, m4_macro *));                                                  m4_builtin *, m4_macro *);
115    
116    
117  /* Various different token types.  */  /* Various different token types.  */
# Line 133  typedef enum { Line 132  typedef enum {
132    M4_TOKEN_FUNC    M4_TOKEN_FUNC
133  } m4_token_data_t;  } m4_token_data_t;
134    
135  typedef void m4_module_init_func   M4_PARAMS((lt_dlhandle, struct obstack*));  typedef void m4_module_init_func   (lt_dlhandle, struct obstack*);
136  typedef void m4_module_finish_func M4_PARAMS((lt_dlhandle, struct obstack*));  typedef void m4_module_finish_func (lt_dlhandle, struct obstack*);
137    
138  extern m4_token_data_t  m4_token_data_type        M4_PARAMS((m4_token_data*));  extern m4_token_data_t  m4_token_data_type        (m4_token_data*);
139  extern char            *m4_token_data_text        M4_PARAMS((m4_token_data*));  extern char            *m4_token_data_text        (m4_token_data*);
140  extern char            *m4_token_data_orig_text   M4_PARAMS((m4_token_data*));  extern char            *m4_token_data_orig_text   (m4_token_data*);
141  extern m4_builtin_func *m4_token_data_func        M4_PARAMS((m4_token_data*));  extern m4_builtin_func *m4_token_data_func        (m4_token_data*);
142  extern boolean          m4_token_data_func_traced M4_PARAMS((m4_token_data*));  extern boolean          m4_token_data_func_traced (m4_token_data*);
143    
144    
145  #define M4ARG(i)        (argc > (i) ? m4_token_data_text (argv[i]) : "")  #define M4ARG(i)        (argc > (i) ? m4_token_data_text (argv[i]) : "")
146    
147  #define M4BUILTIN(name)                                         \  #define M4BUILTIN(name)                                         \
148    static void CONC(builtin_, name)                              \    static void CONC(builtin_, name)                              \
149    M4_PARAMS((struct obstack *, int , m4_token_data **));    (struct obstack *, int , m4_token_data **);
150    
151  #define M4BUILTIN_HANDLER(name)                                 \  #define M4BUILTIN_HANDLER(name)                                 \
152    static void CONC(builtin_, name) (obs, argc, argv)            \    static void CONC(builtin_, name) (obs, argc, argv)            \
# Line 195  M4_SCOPE m4_string ecomm; Line 194  M4_SCOPE m4_string ecomm;
194  #define DEF_BCOMM "#"  #define DEF_BCOMM "#"
195  #define DEF_ECOMM "\n"  #define DEF_ECOMM "\n"
196    
197  boolean m4_bad_argc M4_PARAMS((m4_token_data *, int, int, int));  boolean m4_bad_argc (m4_token_data *, int, int, int);
198  const char *m4_skip_space M4_PARAMS((const char *));  const char *m4_skip_space (const char *);
199  boolean m4_numeric_arg M4_PARAMS((m4_token_data *, const char *, int *));  boolean m4_numeric_arg (m4_token_data *, const char *, int *);
200  void m4_shipout_int M4_PARAMS((struct obstack *, int));  void m4_shipout_int (struct obstack *, int);
201  void m4_shipout_string M4_PARAMS((struct obstack*, const char*, int, boolean));  void m4_shipout_string (struct obstack*, const char*, int, boolean);
202  void m4_dump_args M4_PARAMS((struct obstack *obs, int argc, m4_token_data **argv, const char *sep, boolean quoted));  void m4_dump_args (struct obstack *obs, int argc, m4_token_data **argv, const char *sep, boolean quoted);
203    
204    
205  M4_SCOPE FILE *m4_debug;  M4_SCOPE FILE *m4_debug;
# Line 293  M4_SCOPE FILE *m4_debug; Line 292  M4_SCOPE FILE *m4_debug;
292      }                                                           \      }                                                           \
293    while (0)    while (0)
294    
295  void m4_debug_init M4_PARAMS((void));  void m4_debug_init (void);
296  int m4_debug_decode M4_PARAMS((const char *));  int m4_debug_decode (const char *);
297  void m4_debug_flush_files M4_PARAMS((void));  void m4_debug_flush_files (void);
298  boolean m4_debug_set_output M4_PARAMS((const char *));  boolean m4_debug_set_output (const char *);
299  void m4_debug_message_prefix M4_PARAMS((void));  void m4_debug_message_prefix (void);
300    
301  void m4_trace_prepre M4_PARAMS((const char *, int));  void m4_trace_prepre (const char *, int);
302  void m4_trace_pre M4_PARAMS((const char *, int, int, m4_token_data **));  void m4_trace_pre (const char *, int, int, m4_token_data **);
303  void m4_trace_post M4_PARAMS((const char *, int, int, m4_token_data **,  void m4_trace_post (const char *, int, int, m4_token_data **,
304                             const char *));                             const char *);
305    
306  /* Exit code from last "syscmd" command.  */  /* Exit code from last "syscmd" command.  */
307  M4_SCOPE int m4_sysval;  M4_SCOPE int m4_sysval;
308  M4_SCOPE int m4_expansion_level;  M4_SCOPE int m4_expansion_level;
309    
310  const char *m4_expand_ranges M4_PARAMS((const char *s, struct obstack *obs));  const char *m4_expand_ranges (const char *s, struct obstack *obs);
311  void m4_expand_input M4_PARAMS((void));  void m4_expand_input (void);
312  void m4_call_macro M4_PARAMS((m4_symbol *, int, m4_token_data **, struct obstack *));  void m4_call_macro (m4_symbol *, int, m4_token_data **, struct obstack *);
313  void m4_process_macro M4_PARAMS((struct obstack *obs, m4_symbol *symbol, int argc, m4_token_data **argv));  void m4_process_macro (struct obstack *obs, m4_symbol *symbol, int argc, m4_token_data **argv);
314    
315    
316    
# Line 376  M4_SCOPE unsigned short m4_syntax_table[ Line 375  M4_SCOPE unsigned short m4_syntax_table[
375  M4_SCOPE const char *m4_current_file;  M4_SCOPE const char *m4_current_file;
376  M4_SCOPE int m4_current_line;  M4_SCOPE int m4_current_line;
377    
378  extern  int     m4_syntax_code  M4_PARAMS((char ch));  extern  int     m4_syntax_code  (char ch);
379  extern  void    m4_input_init   M4_PARAMS((void));  extern  void    m4_input_init   (void);
380  extern  void    m4_syntax_init  M4_PARAMS((void));  extern  void    m4_syntax_init  (void);
381  extern  int     m4_peek_input   M4_PARAMS((void));  extern  int     m4_peek_input   (void);
382  extern  m4_token_t m4_next_token M4_PARAMS((m4_token_data *));  extern  m4_token_t m4_next_token (m4_token_data *);
383  extern  void    m4_skip_line    M4_PARAMS((void));  extern  void    m4_skip_line    (void);
384    
385  /* push back input */  /* push back input */
386  extern  void    m4_push_file    M4_PARAMS((FILE *, const char *));  extern  void    m4_push_file    (FILE *, const char *);
387  extern  void    m4_push_single  M4_PARAMS((int ch));  extern  void    m4_push_single  (int ch);
388  extern  void    m4_push_macro   M4_PARAMS((m4_builtin_func *, lt_dlhandle,  extern  void    m4_push_macro   (m4_builtin_func *, lt_dlhandle,
389                                             boolean));                                             boolean);
390  extern  struct obstack *m4_push_string_init M4_PARAMS((void));  extern  struct obstack *m4_push_string_init (void);
391  extern  const char *m4_push_string_finish M4_PARAMS((void));  extern  const char *m4_push_string_finish (void);
392  extern  void    m4_push_wrapup  M4_PARAMS((const char *));  extern  void    m4_push_wrapup  (const char *);
393  extern  boolean m4_pop_wrapup   M4_PARAMS((void));  extern  boolean m4_pop_wrapup   (void);
394    
395  extern  void    m4_set_quotes   M4_PARAMS((const char *, const char *));  extern  void    m4_set_quotes   (const char *, const char *);
396  extern  void    m4_set_comment  M4_PARAMS((const char *, const char *));  extern  void    m4_set_comment  (const char *, const char *);
397  extern  void    m4_set_syntax   M4_PARAMS((char, const unsigned char *));  extern  void    m4_set_syntax   (char, const unsigned char *);
398  #ifdef ENABLE_CHANGEWORD  #ifdef ENABLE_CHANGEWORD
399  extern  void    m4_set_word_regexp M4_PARAMS((const char *));  extern  void    m4_set_word_regexp (const char *);
400  #endif  #endif
401    
402  M4_SCOPE int m4_current_diversion;  M4_SCOPE int m4_current_diversion;
403  M4_SCOPE int m4_output_current_line;  M4_SCOPE int m4_output_current_line;
404    
405  extern  void    m4_output_init  M4_PARAMS((void));  extern  void    m4_output_init  (void);
406  extern  void    m4_shipout_text M4_PARAMS((struct obstack *, const char *, int));  extern  void    m4_shipout_text (struct obstack *, const char *, int);
407  extern  void    m4_make_diversion M4_PARAMS((int));  extern  void    m4_make_diversion (int);
408  extern  void    m4_insert_diversion M4_PARAMS((int));  extern  void    m4_insert_diversion (int);
409  extern  void    m4_insert_file  M4_PARAMS((FILE *));  extern  void    m4_insert_file  (FILE *);
410  extern  void    m4_freeze_diversions M4_PARAMS((FILE *));  extern  void    m4_freeze_diversions (FILE *);
411  extern  void    m4_undivert_all M4_PARAMS((void));  extern  void    m4_undivert_all (void);
412    
413  extern  void    m4_include_init M4_PARAMS((void));  extern  void    m4_include_init (void);
414  extern  void    m4_include_env_init M4_PARAMS((void));  extern  void    m4_include_env_init (void);
415  extern  void    m4_add_include_directory M4_PARAMS((const char *));  extern  void    m4_add_include_directory (const char *);
416  extern  FILE   *m4_path_search M4_PARAMS((const char *, char **));  extern  FILE   *m4_path_search (const char *, char **);
417    
418  /* These are for other search paths */  /* These are for other search paths */
419    
# Line 434  struct m4_search_path_info Line 433  struct m4_search_path_info
433    int max_length;               /* length of longest directory name */    int max_length;               /* length of longest directory name */
434  };  };
435    
436  extern struct m4_search_path_info *m4_search_path_info_new M4_PARAMS((void));  extern struct m4_search_path_info *m4_search_path_info_new (void);
437  extern  void    m4_search_path_env_init M4_PARAMS((struct m4_search_path_info *, char *, boolean));  extern  void    m4_search_path_env_init (struct m4_search_path_info *, char *, boolean);
438  extern  void    m4_search_path_add M4_PARAMS((struct m4_search_path_info *, const char *));  extern  void    m4_search_path_add (struct m4_search_path_info *, const char *);
439    
440    
441  /* The structure dump_symbol_data is used to pass the information needed  /* The structure dump_symbol_data is used to pass the information needed
# Line 449  struct m4_dump_symbol_data Line 448  struct m4_dump_symbol_data
448    int size;                     /* size of table */    int size;                     /* size of table */
449  };  };
450    
451  extern void m4_dump_symbol M4_PARAMS((m4_symbol *symbol, struct m4_dump_symbol_data *data));  extern void m4_dump_symbol (m4_symbol *symbol, struct m4_dump_symbol_data *data);
452  extern void m4_dump_symbols M4_PARAMS((struct m4_dump_symbol_data *data, int argc, m4_token_data **argv, boolean complain));  extern void m4_dump_symbols (struct m4_dump_symbol_data *data, int argc, m4_token_data **argv, boolean complain);
453    
454    
455    
456    
457  /* --- EXPRESSION EVALUATION --- */  /* --- EXPRESSION EVALUATION --- */
458    
459  typedef boolean (*m4_eval_func) M4_PARAMS((struct obstack *obs,  typedef boolean (*m4_eval_func) (struct obstack *obs,
460                                  const char *expr, const int radix, int min));                                  const char *expr, const int radix, int min);
461    
462  extern boolean m4_evaluate M4_PARAMS((struct obstack *obs,  extern boolean m4_evaluate (struct obstack *obs,
463                                        const char *, const int radix, int min));                                        const char *, const int radix, int min);
464  extern void m4_do_eval M4_PARAMS((struct obstack *obs, int argc, m4_token_data **argv, m4_eval_func func));  extern void m4_do_eval (struct obstack *obs, int argc, m4_token_data **argv, m4_eval_func func);
465    
466  #define obstack_chunk_alloc     xmalloc  #define obstack_chunk_alloc     xmalloc
467  #define obstack_chunk_free      xfree  #define obstack_chunk_free      xfree

Legend:
Removed from v.1.11  
changed lines
  Added in v.1.12

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