]> git.saurik.com Git - bison.git/blobdiff - src/scan-gram.l
* m4/cxx.m4 (BISON_TEST_FOR_WORKING_CXX_COMPILER): Check that
[bison.git] / src / scan-gram.l
index 2ab163c6195eb7ba1865506dc4b972513193d6a2..1aa5e077e22290d89016d9922db4f1911fd907c8 100644 (file)
@@ -87,8 +87,11 @@ static size_t no_cr_read (FILE *, char *, size_t);
 static struct obstack obstack_for_string;
 
 /* A string representing the most recently saved token.  */
-static char *last_string;
+char *last_string;
 
+/* The location of the most recently saved token, if it was a
+   BRACED_CODE token; otherwise, this has an unspecified value.  */
+location last_braced_code_loc;
 
 #define STRING_GROW   \
   obstack_grow (&obstack_for_string, yytext, yyleng)
@@ -289,6 +292,8 @@ splice       (\\[ \f\t\v]*\n)*
 
   /* Code in between braces.  */
   "{" {
+    if (current_rule->action)
+      grammar_midrule_action ();
     STRING_GROW;
     token_type = BRACED_CODE;
     braces_level = 0;
@@ -618,6 +623,7 @@ splice       (\\[ \f\t\v]*\n)*
        loc->start = code_start;
        val->chars = last_string;
        increment_rule_length (*loc);
+       last_braced_code_loc = *loc;
        BEGIN INITIAL;
        return token_type;
       }