]> git.saurik.com Git - bison.git/blobdiff - src/scan-code.l
Use the new code_props interface in parse-gram.y.
[bison.git] / src / scan-code.l
index 75848d820d63e01bf21f5cf775fdd0a665637be7..bf46e2da3e456dda22d9c8181094a60037496a1e 100644 (file)
@@ -1,6 +1,6 @@
 /* Bison Action Scanner                             -*- C -*-
 
-   Copyright (C) 2006 Free Software Foundation, Inc.
+   Copyright (C) 2006, 2007 Free Software Foundation, Inc.
 
    This file is part of Bison, the GNU Compiler Compiler.
 
@@ -227,7 +227,7 @@ splice       (\\[ \f\t\v]*\n)*
  /* End of processing. */
 <*><<EOF>>      {
                    STRING_FINISH;
-                  return last_string;
+                   return last_string;
                  }
 
 %%
@@ -304,7 +304,7 @@ handle_action_dollar (symbol_list *rule, char *text, location dollar_loc)
 
       obstack_fgrow1 (&obstack_for_string,
                      "]b4_lhs_value([%s])[", type_name);
-      rule->action_props.is_value_used = true;
+      rule->used = true;
     }
   else
     {
@@ -332,9 +332,8 @@ handle_action_dollar (symbol_list *rule, char *text, location dollar_loc)
          obstack_fgrow3 (&obstack_for_string,
                          "]b4_rhs_value(%d, %d, [%s])[",
                          effective_rule_length, n, type_name);
-         if (n > 0)
-           symbol_list_n_get (effective_rule, n)->action_props.is_value_used =
-             true;
+          if (n > 0)
+            symbol_list_n_get (effective_rule, n)->used = true;
        }
       else
        complain_at (dollar_loc, _("integer out of range: %s"), quote (text));
@@ -467,26 +466,6 @@ code_props_translate_code (code_props *self)
     }
 }
 
-char const *
-code_props_code_get (code_props const self)
-{
-  return self.code;
-}
-
-location
-code_props_location_get (code_props const self)
-{
-  aver (self.code != NULL);
-  return self.location;
-}
-
-bool
-code_props_is_value_used (code_props const self)
-{
-  aver (self.kind != CODE_PROPS_PLAIN);
-  return self.is_value_used;
-}
-
 void
 code_scanner_last_string_free (void)
 {
@@ -500,3 +479,12 @@ code_scanner_free (void)
   /* Reclaim Flex's buffers.  */
   yylex_destroy ();
 }
+
+char const *
+translate_rule_action (symbol_list *rule)
+{
+  code_props cp;
+  code_props_rule_action_init (&cp, rule->action, rule->action_location, rule);
+  code_props_translate_code (&cp);
+  return cp.code;
+}