134 |
const char *module_name = handle ? m4_get_module_name (handle) : NULL; |
const char *module_name = handle ? m4_get_module_name (handle) : NULL; |
135 |
const m4_builtin *bp; |
const m4_builtin *bp; |
136 |
|
|
137 |
switch (SYMBOL_TYPE (symbol)) |
if (m4_is_symbol_text (symbol)) |
138 |
{ |
{ |
|
case M4_SYMBOL_TEXT: |
|
139 |
fprintf (file, "T%lu,%lu", |
fprintf (file, "T%lu,%lu", |
140 |
(unsigned long) strlen (symbol_name), |
(unsigned long) strlen (symbol_name), |
141 |
(unsigned long) strlen (SYMBOL_TEXT (symbol))); |
(unsigned long) strlen (m4_get_symbol_text (symbol))); |
142 |
if (handle) |
if (handle) |
143 |
fprintf (file, ",%lu", (unsigned long) strlen (module_name)); |
fprintf (file, ",%lu", (unsigned long) strlen (module_name)); |
144 |
fputc ('\n', file); |
fputc ('\n', file); |
145 |
|
|
146 |
fputs (symbol_name, file); |
fputs (symbol_name, file); |
147 |
fputs (SYMBOL_TEXT (symbol), file); |
fputs (m4_get_symbol_text (symbol), file); |
148 |
if (handle) |
if (handle) |
149 |
fputs (module_name, file); |
fputs (module_name, file); |
150 |
fputc ('\n', file); |
fputc ('\n', file); |
151 |
break; |
} |
152 |
|
else if (m4_is_symbol_func (symbol)) |
153 |
case M4_SYMBOL_FUNC: |
{ |
154 |
bp = m4_builtin_find_by_func |
bp = m4_builtin_find_by_func |
155 |
(m4_get_module_builtin_table (SYMBOL_HANDLE (symbol)), |
(m4_get_module_builtin_table (SYMBOL_HANDLE (symbol)), |
156 |
SYMBOL_FUNC (symbol)); |
m4_get_symbol_func (symbol)); |
157 |
|
|
158 |
if (bp == NULL) |
if (bp == NULL) |
159 |
{ |
{ |
176 |
if (handle) |
if (handle) |
177 |
fputs (module_name, file); |
fputs (module_name, file); |
178 |
fputc ('\n', file); |
fputc ('\n', file); |
179 |
break; |
} |
180 |
|
else |
181 |
default: |
{ |
182 |
M4ERROR ((warning_status, 0, |
M4ERROR ((warning_status, 0, |
183 |
"INTERNAL ERROR: Bad token data type in produce_symbol_dump ()")); |
"INTERNAL ERROR: Bad token data type in produce_symbol_dump ()")); |
184 |
abort (); |
abort (); |
|
break; |
|
185 |
} |
} |
186 |
} |
} |
187 |
} |
} |
478 |
if (bp->blind_if_no_args) |
if (bp->blind_if_no_args) |
479 |
BIT_SET (VALUE_FLAGS (token), VALUE_BLIND_ARGS_BIT); |
BIT_SET (VALUE_FLAGS (token), VALUE_BLIND_ARGS_BIT); |
480 |
|
|
481 |
VALUE_TYPE (token) = M4_SYMBOL_FUNC; |
m4_set_symbol_value_func (token, bp->func); |
|
VALUE_FUNC (token) = bp->func; |
|
482 |
VALUE_HANDLE (token) = handle; |
VALUE_HANDLE (token) = handle; |
483 |
VALUE_MIN_ARGS (token) = bp->min_args; |
VALUE_MIN_ARGS (token) = bp->min_args; |
484 |
VALUE_MAX_ARGS (token) = bp->max_args; |
VALUE_MAX_ARGS (token) = bp->max_args; |
660 |
if (strcmp (m4_get_module_name (handle), string[2]) == 0) |
if (strcmp (m4_get_module_name (handle), string[2]) == 0) |
661 |
break; |
break; |
662 |
|
|
663 |
VALUE_TYPE (token) = M4_SYMBOL_TEXT; |
m4_set_symbol_value_text (token, xstrdup (string[1])); |
|
VALUE_TEXT (token) = xstrdup (string[1]); |
|
664 |
VALUE_HANDLE (token) = handle; |
VALUE_HANDLE (token) = handle; |
665 |
VALUE_MAX_ARGS (token) = -1; |
VALUE_MAX_ARGS (token) = -1; |
666 |
|
|