mirror of
https://git.savannah.gnu.org/git/bison.git
synced 2026-03-12 05:43:03 +00:00
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:
@@ -162,22 +162,14 @@ void code_scanner_last_string_free (void);
|
||||
* \pre
|
||||
* - None.
|
||||
* \post
|
||||
* - All dynamic memory allocated during any previous invocations of
|
||||
* \c code_props_translate_code, \c translate_rule_action,
|
||||
* \c translate_symbol_action, and \c translate_code has been freed. All
|
||||
* \c code_props instances may now be invalid.
|
||||
* - All dynamic memory allocated during invocations of
|
||||
* \c code_props_translate_code or \c translate_rule_action (if any) has
|
||||
* been freed. All \c code_props instances may now be invalid.
|
||||
*/
|
||||
void code_scanner_free (void);
|
||||
|
||||
/* The action of the rule R contains $$, $1 etc. referring to the values
|
||||
of the rule R. */
|
||||
char const *translate_rule_action (symbol_list *r);
|
||||
|
||||
/* The action A refers to $$ and @$ only, referring to a symbol. */
|
||||
char const *translate_symbol_action (char const *a, location l);
|
||||
|
||||
/* The action contains no special escapes, just protect M4 special
|
||||
symbols. */
|
||||
char const *translate_code (char const *a, location l);
|
||||
char const *translate_rule_action (struct symbol_list *r);
|
||||
|
||||
#endif /* !SCAN_CODE_H_ */
|
||||
|
||||
Reference in New Issue
Block a user