]> git.saurik.com Git - bison.git/blobdiff - src/scan-code.h
maint: xfdopen, and scope reduction.
[bison.git] / src / scan-code.h
index a980b866e90da658b9f0d961da77710b66cfaf7c..3fa5ea9a00d4796386a3df661afc895078018c7f 100644 (file)
@@ -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;
 
@@ -62,8 +63,18 @@ typedef struct code_props {
    */
   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;
+
+
   /** \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 +87,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, false, NULL, NULL}
 
 /** Initialized by \c CODE_PROPS_NONE_INIT with no further modification.  */
 extern code_props const code_props_none;
@@ -129,7 +140,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, bool is_predicate);
 
 /**
  * \pre