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

Diff of /m4/m4/m4private.h

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

revision 1.25 by gary, Fri Jun 20 15:43:19 2003 UTC revision 1.26 by gary, Thu Jun 26 14:57:32 2003 UTC
# Line 42  typedef enum { Line 42  typedef enum {
42  /* --- CONTEXT MANAGEMENT --- */  /* --- CONTEXT MANAGEMENT --- */
43    
44  struct m4 {  struct m4 {
45    m4_symtab *   symtab;    m4_symbol_table *symtab;
46      m4_syntax_table *syntax;
47    
48    /* Option flags  (set in src/main.c).  */    /* Option flags  (set in src/main.c).  */
49    int           warning_status;                 /* -E */    int           warning_status;                 /* -E */
# Line 60  struct m4 { Line 61  struct m4 {
61  #define M4_OPT_SYNC_OUTPUT_BIT          (1 << 4) /* -s */  #define M4_OPT_SYNC_OUTPUT_BIT          (1 << 4) /* -s */
62    
63  #ifdef NDEBUG  #ifdef NDEBUG
64  #  define m4_get_symtab(C)                      ((C)->symtab)  #  define m4_get_symbol_table(C)                ((C)->symtab)
65    #  define m4_get_syntax_table(C)                ((C)->syntax)
66  #  define m4_get_warning_status_opt(C)          ((C)->warning_status)  #  define m4_get_warning_status_opt(C)          ((C)->warning_status)
67  #  define m4_get_no_gnu_extensions_opt(C)       ((C)->no_gnu_extensions)  #  define m4_get_no_gnu_extensions_opt(C)       ((C)->no_gnu_extensions)
68  #  define m4_get_nesting_limit_opt(C)           ((C)->nesting_limit)  #  define m4_get_nesting_limit_opt(C)           ((C)->nesting_limit)
# Line 174  struct m4_symbol_arg { Line 176  struct m4_symbol_arg {
176  #define SYMBOL_ARG_REST_BIT     (1 << 0)  #define SYMBOL_ARG_REST_BIT     (1 << 0)
177  #define SYMBOL_ARG_KEY_BIT      (1 << 1)  #define SYMBOL_ARG_KEY_BIT      (1 << 1)
178    
179  extern void     m4__symtab_remove_module_references (m4_symtab*, lt_dlhandle);  extern void     m4__symtab_remove_module_references (m4_symbol_table*, lt_dlhandle);
180    
181    
182    
183    
184  /* TRUE iff strlen(rquote) == strlen(lquote) == 1 */  /* --- SYNTAX TABLE MANAGEMENT --- */
 extern boolean m4__single_quotes;  
185    
186  /* TRUE iff strlen(bcomm) == strlen(ecomm) == 1 */  #define DEF_LQUOTE "`"
187  extern boolean m4__single_comments;  #define DEF_RQUOTE "\'"
188    #define DEF_BCOMM "#"
189    #define DEF_ECOMM "\n"
190    
191  /* TRUE iff some character has M4_SYNTAX_ESCAPE */  struct m4_syntax_table {
192  extern boolean m4__use_macro_escape;    /* Please read the comment at the top of input.c for details */
193      unsigned short table[256];
194    
195      m4_string lquote, rquote;
196      m4_string bcomm, ecomm;
197    
198      /* TRUE iff strlen(rquote) == strlen(lquote) == 1 */
199      boolean is_single_quotes;
200    
201      /* TRUE iff strlen(bcomm) == strlen(ecomm) == 1 */
202      boolean is_single_comments;
203    
204      /* TRUE iff some character has M4_SYNTAX_ESCAPE */
205      boolean is_macro_escaped;
206    };
207    
208    #ifdef NDEBUG
209    #  define m4_get_syntax_lquote(S)       ((S)->lquote.string)
210    #  define m4_get_syntax_rquote(S)       ((S)->rquote.string)
211    #  define m4_get_syntax_bcomm(S)        ((S)->bcomm.string)
212    #  define m4_get_syntax_ecomm(S)        ((S)->ecomm.string)
213    
214    #  define m4_is_syntax_single_quotes(S)         ((S)->is_single_quotes)
215    #  define m4_is_syntax_single_comments(S)       ((S)->is_single_comments)
216    #  define m4_is_syntax_macro_escaped(S)         ((S)->is_macro_escaped)
217    #endif
218    
219    
220  /* Various different token types.  */  /* Various different token types.  */
221  typedef enum {  typedef enum {
222    M4_TOKEN_EOF,                 /* end of file */    M4_TOKEN_EOF,                 /* end of file */

Legend:
Removed from v.1.25  
changed lines
  Added in v.1.26

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