X-Git-Url: https://git.saurik.com/bison.git/blobdiff_plain/7c0c61812d534683d10234082e6e6adee6eb81a6..a1a9422d4a2f70ff89e06318ba154851c3700f60:/src/scan-code.h diff --git a/src/scan-code.h b/src/scan-code.h index c5f14fd5..cf5b6d70 100644 --- a/src/scan-code.h +++ b/src/scan-code.h @@ -4,9 +4,9 @@ This file is part of Bison, the GNU Compiler Compiler. - This program is free software; you can redistribute it and/or modify + This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or + the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, @@ -15,15 +15,13 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301 USA -*/ + along with this program. If not, see . */ #ifndef SCAN_CODE_H_ # define SCAN_CODE_H_ # include "location.h" +# include "named-ref.h" struct symbol_list; @@ -67,6 +65,9 @@ typedef struct code_props { /** \c NULL iff \c code_props::kind is not \c CODE_PROPS_RULE_ACTION. */ struct symbol_list *rule; + + /* Named reference. */ + named_ref *named_ref; } code_props; /** @@ -79,7 +80,7 @@ void code_props_none_init (code_props *self); /** Equivalent to \c code_props_none_init. */ #define CODE_PROPS_NONE_INIT \ - {CODE_PROPS_NONE, NULL, EMPTY_LOCATION_INIT, false, NULL} + {CODE_PROPS_NONE, NULL, EMPTY_LOCATION_INIT, false, NULL, NULL} /** Initialized by \c CODE_PROPS_NONE_INIT with no further modification. */ extern code_props const code_props_none; @@ -132,7 +133,8 @@ void code_props_symbol_action_init (code_props *self, char const *code, * - The caller frees \c rule. */ void code_props_rule_action_init (code_props *self, char const *code, - location code_loc, struct symbol_list *rule); + location code_loc, struct symbol_list *rule, + named_ref *named_ref); /** * \pre @@ -163,13 +165,9 @@ void code_scanner_last_string_free (void); * - None. * \post * - 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. + * \c code_props_translate_code (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 (struct symbol_list *r); - #endif /* !SCAN_CODE_H_ */