]> git.saurik.com Git - bison.git/blobdiff - src/scan-code.l
As in semantic actions, make @$ in %initial-action, %destructor, and
[bison.git] / src / scan-code.l
index 2a718f2c8406dfaac2a5abdaeaf21fba34370c2b..9e51401394fd2f8c32644d03c6832fd84437a4d8 100644 (file)
@@ -202,7 +202,10 @@ splice      (\\[ \f\t\v]*\n)*
     obstack_sgrow (&obstack_for_string, "]b4_dollar_dollar[");
     self->is_value_used = true;
   }
-  "@$"   obstack_sgrow (&obstack_for_string, "]b4_at_dollar[");
+  "@$" {
+    obstack_sgrow (&obstack_for_string, "]b4_at_dollar[");
+    locations_flag = true;
+  }
 }
 
 
@@ -304,7 +307,7 @@ handle_action_dollar (symbol_list *rule, char *text, location dollar_loc)
 
       obstack_fgrow1 (&obstack_for_string,
                      "]b4_lhs_value([%s])[", type_name);
-      rule->used = true;
+      rule->action_props.is_value_used = true;
     }
   else
     {
@@ -333,7 +336,8 @@ handle_action_dollar (symbol_list *rule, char *text, location dollar_loc)
                          "]b4_rhs_value(%d, %d, [%s])[",
                          effective_rule_length, n, type_name);
           if (n > 0)
-            symbol_list_n_get (effective_rule, n)->used = true;
+            symbol_list_n_get (effective_rule, n)->action_props.is_value_used =
+              true;
        }
       else
        complain_at (dollar_loc, _("integer out of range: %s"), quote (text));
@@ -479,30 +483,3 @@ 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;
-}
-
-char const *
-translate_symbol_action (char const *a, location l)
-{
-  code_props cp;
-  code_props_symbol_action_init (&cp, a, l);
-  code_props_translate_code (&cp);
-  return cp.code;
-}
-
-char const *
-translate_code (char const *a, location l)
-{
-  code_props cp;
-  code_props_plain_init (&cp, a, l);
-  code_props_translate_code (&cp);
-  return cp.code;
-}