Use the new code_props interface in parse-gram.y.

* src/parse-gram.y (prologue_declaration, braceless, epilogue.opt):
Update all uses of translate_* functions to use the new code_props
interface and to use gram_scanner_last_string_free and
code_scanner_last_string_free where possible.
(grammar_declaration): symbol_list_destructor_set and
symbol_list_printer_set now perform the translation, so don't do it
here.  Use gram_scanner_last_string_free where possible.
* src/scan-code.h, src/scan-code.l (translate_symbol_action,
translate_code): Remove, no longer used.
* src/symlist.h, src/symlist.c (symbol_list_destructor_set,
symbol_list_printer_set): Perform code translation here rather than
depending on the caller to do so.

* src/symlist.h (struct symbol_list): Correct some documentation typos.
* src/scan-gram.h (gram_last_string): Remove declaration.
* src/scan-gram.l (last_string): Declare it static.
This commit is contained in:
Joel E. Denny
2007-01-03 05:14:57 +00:00
parent 28e52c0d62
commit 7c0c61812d
10 changed files with 382 additions and 330 deletions

View File

@@ -488,21 +488,3 @@ translate_rule_action (symbol_list *rule)
code_props_translate_code (&cp);
return cp.code;
}
char const *
translate_symbol_action (char const *a, location l)
{
code_props cp;
code_props_symbol_action_init (&cp, a, l);
code_props_translate_code (&cp);
return cp.code;
}
char const *
translate_code (char const *a, location l)
{
code_props cp;
code_props_plain_init (&cp, a, l);
code_props_translate_code (&cp);
return cp.code;
}