/[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.9 by gary, Tue Sep 18 01:07:09 2001 UTC revision 1.10 by gary, Thu Sep 20 03:48:05 2001 UTC
# Line 33  struct m4_module_data { Line 33  struct m4_module_data {
33  };  };
34    
35    
36  struct m4_token_data {  struct m4_symbol {
37    m4_token_data *       next;    m4_symbol     *       next;
38    m4_token_data_t       type;    m4_token_data_t       type;
39    boolean               traced;    boolean               traced;
40    boolean               macro_args;    boolean               macro_args;
# Line 46  struct m4_token_data { Line 46  struct m4_token_data {
46    } u;    } u;
47  };  };
48    
49  #define M4_TOKEN_DATA_NEXT(Td)          ((Td)->next)  #define M4_SYMBOL_NEXT(Symbol)          ((Symbol)->next)
50  #define M4_TOKEN_DATA_TYPE(Td)          ((Td)->type)  #define M4_SYMBOL_TYPE(Symbol)          ((Symbol)->type)
51  #define M4_TOKEN_TRACED(Td)             ((Td)->traced)  #define M4_SYMBOL_TRACED(Symbol)        ((Symbol)->traced)
52  #define M4_TOKEN_MACRO_ARGS(Td)         ((Td)->macro_args)  #define M4_SYMBOL_MACRO_ARGS(Symbol)    ((Symbol)->macro_args)
53  #define M4_TOKEN_BLIND_NO_ARGS(Td)      ((Td)->blind_no_args)  #define M4_SYMBOL_BLIND_NO_ARGS(Symbol) ((Symbol)->blind_no_args)
54  #define M4_TOKEN_DATA_HANDLE(Td)        ((Td)->handle)  #define M4_SYMBOL_HANDLE(Symbol)        ((Symbol)->handle)
55  #define M4_TOKEN_DATA_TEXT(Td)          ((Td)->u.text)  #define M4_SYMBOL_TEXT(Symbol)          ((Symbol)->u.text)
56  #define M4_TOKEN_DATA_FUNC(Td)          ((Td)->u.func)  #define M4_SYMBOL_FUNC(Symbol)          ((Symbol)->u.func)
57    
58  /* Redefine the exported function to this faster  /* Redefine the exported function to this faster
59     macro based version for internal use by the m4 code. */     macro based version for internal use by the m4 code. */
60  #undef M4ARG  #undef M4ARG
61  #define M4ARG(i)        (argc > (i) ? M4_TOKEN_DATA_TEXT (argv[i]) : "")  #define M4ARG(i)        (argc > (i) ? M4_SYMBOL_TEXT (argv[i]) : "")
62    
 struct m4_symbol  
 {  
   m4_token_data *data;  
 };  
   
 #define M4_SYMBOL_DATA(S)          ((S)->data)  
 #define M4_SYMBOL_DATA_NEXT(S)     (M4_TOKEN_DATA_NEXT (M4_SYMBOL_DATA(S)))  
 #define M4_SYMBOL_TYPE(S)          (M4_TOKEN_DATA_TYPE (M4_SYMBOL_DATA(S)))  
 #define M4_SYMBOL_TRACED(S)        (M4_TOKEN_TRACED (M4_SYMBOL_DATA(S)))  
 #define M4_SYMBOL_MACRO_ARGS(S)    (M4_TOKEN_MACRO_ARGS (M4_SYMBOL_DATA(S)))  
 #define M4_SYMBOL_BLIND_NO_ARGS(S) (M4_TOKEN_BLIND_NO_ARGS (M4_SYMBOL_DATA(S)))  
 #define M4_SYMBOL_TEXT(S)          (M4_TOKEN_DATA_TEXT (M4_SYMBOL_DATA(S)))  
 #define M4_SYMBOL_FUNC(S)          (M4_TOKEN_DATA_FUNC (M4_SYMBOL_DATA(S)))  
 #define M4_SYMBOL_HANDLE(S)        (M4_TOKEN_DATA_HANDLE (M4_SYMBOL_DATA(S)))  
63    
64    
65  /* Debugging the memory allocator.  */  /* Debugging the memory allocator.  */
66    
67  #if WITH_DMALLOC  #if WITH_DMALLOC
68  # define DMALLOC_FUNC_CHECK  #  define DMALLOC_FUNC_CHECK
69  # include <dmalloc.h>  #  include <dmalloc.h>
70  #endif  
71    /* Dmalloc expects us to use a void returning xfree.  */
72    #  undef XFREE
73    #  define XFREE(p)      if (p) xfree (p)
74    
75    #endif /* WITH_DMALLOC */
76    
77  /* Other debug stuff.  */  /* Other debug stuff.  */
78    

Legend:
Removed from v.1.9  
changed lines
  Added in v.1.10

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