X-Git-Url: https://git.saurik.com/bison.git/blobdiff_plain/f16b08196c780556cbf50691e2944960aebc46f6..9960a6ae75842aa7836f39b59e82eef0319338bc:/src/scan-code.h diff --git a/src/scan-code.h b/src/scan-code.h index a980b866..c8d554d5 100644 --- a/src/scan-code.h +++ b/src/scan-code.h @@ -1,6 +1,6 @@ /* Bison code properties structure and scanner. - Copyright (C) 2006, 2007 Free Software Foundation, Inc. + Copyright (C) 2006-2007, 2009-2012 Free Software Foundation, Inc. This file is part of Bison, the GNU Compiler Compiler. @@ -21,6 +21,7 @@ # define SCAN_CODE_H_ # include "location.h" +# include "named-ref.h" struct symbol_list; @@ -44,7 +45,10 @@ typedef struct code_props { CODE_PROPS_SYMBOL_ACTION, CODE_PROPS_RULE_ACTION } kind; - /** \c NULL iff \c code_props::kind is \c CODE_PROPS_NONE. */ + /** + * \c NULL iff \c code_props::kind is \c CODE_PROPS_NONE. + * Memory is allocated in an obstack freed elsewhere. + */ char const *code; /** Undefined iff \c code_props::code is \c NULL. */ location location; @@ -64,6 +68,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; /** @@ -76,7 +83,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; @@ -129,7 +136,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 *name); /** * \pre