/* 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.
# define SCAN_CODE_H_
# include "location.h"
+# include "named-ref.h"
struct symbol_list;
*/
bool is_value_used;
+ /**
+ * \c true iff this code is an action that is not to be deferred in
+ * a non-deterministic parser.
+ */
+ bool is_predicate;
+
+ /**
+ * Whether this is actually used (i.e., not completely masked by
+ * other code props). */
+ bool is_used;
+
/** \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;
/**
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}
+#define CODE_PROPS_NONE_INIT \
+ { \
+ /* .kind = */ CODE_PROPS_NONE, \
+ /* .code = */ NULL, \
+ /* .location = */ EMPTY_LOCATION_INIT, \
+ /* .is_value_used = */ false, \
+ /* .is_predicate = */ false, \
+ /* .is_used = */ false, \
+ /* .rule = */ NULL, \
+ /* .named_ref = */ NULL \
+ }
/** Initialized by \c CODE_PROPS_NONE_INIT with no further modification. */
extern code_props const code_props_none;
* - 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, bool is_predicate);
/**
* \pre