]> git.saurik.com Git - bison.git/blobdiff - data/bison.simple
Prepare @$ in %destructor, but currently don't bind it in the
[bison.git] / data / bison.simple
index 7b48459aab64eab76052e90820f5f4a1019dda04..6059e160794599f60247ecac0d1aefea62c66f1d 100644 (file)
@@ -1251,13 +1251,15 @@ yyabortlab:
   yyresult = 1;
   goto yyreturn;
 
-/*---------------------------------------------.
-| yyoverflowab -- parser overflow comes here.  |
-`---------------------------------------------*/
+#ifndef yyoverflow
+/*----------------------------------------------.
+| yyoverflowlab -- parser overflow comes here.  |
+`----------------------------------------------*/
 yyoverflowlab:
   yyerror ("parser stack overflow");
   yyresult = 2;
   /* Fall through.  */
+#endif
 
 yyreturn:
 #ifndef yyoverflow
@@ -1267,22 +1269,20 @@ yyreturn:
   return yyresult;
 ]}
 
-/* Release the memory associated to SYMBOL-NUMBER. */
-m4_divert_push([KILL])# M4 code.
-# b4_eval
-# -------
-# FIXME: This is really wrong, we no longer guarantee we don't evaluate
-# the user's input.  This demonstrates that decoding actions (BRACED_CODE)
-# ought to be done when output, not when read.
-m4_define([b4_eval],
-[$*])
 
+/*-------------------------------------------------.
+| Release the memory associated to SYMBOL-NUMBER.  |
+`-------------------------------------------------*/
+
+m4_divert_push([KILL])# M4 code.
 # b4_symbol_destructor(SYMBOL-NUMBER, DESTRUCTOR, TYPE-NAME)
 # ----------------------------------------------------------
 m4_define([b4_symbol_destructor],
-[m4_pushdef([b4_dollar_dollar], [symbol_value.$3])dnl
-      case $1:
-        b4_eval($2);
+[m4_pushdef([b4_dollar_dollar], [symbol_value.$6])dnl
+      case $4: /* $3 */
+#line $2 "$1"
+        $5;
+#line __oline__ "__ofile__"
         break;
 m4_popdef([b4_dollar_dollar])])