]> git.saurik.com Git - bison.git/blobdiff - src/scan-code.l
Finer input type for yytranslate.
[bison.git] / src / scan-code.l
index 71c90768efb4700f2d52d888b4e3a9d604a075bc..13a78c27fb00c8a00dff6d11f5e315d8016b4fce 100644 (file)
@@ -175,7 +175,9 @@ splice       (\\[ \f\t\v]*\n)*
     /* As an undocumented Bison extension, append `;' before the last
        brace in braced code, so that the user code can omit trailing
        `;'.  But do not append `;' if emulating Yacc, since Yacc does
-       not append one.
+       not append one.  Also, some output languages (like Java) do not
+       accept an extra semicolon, so don't append if the user specified
+       a skeleton or language.
 
        FIXME: Bison should warn if a semicolon seems to be necessary
        here, and should omit the semicolon if it seems unnecessary
@@ -186,7 +188,8 @@ splice       (\\[ \f\t\v]*\n)*
        should also diagnose other Bison extensions like %yacc.
        Perhaps there should also be a GCC-style --pedantic-errors
        option, so that such warnings are diagnosed as errors.  */
-    if (outer_brace && ! yacc_flag)
+    if (outer_brace && !yacc_flag && language_prio == default_prio
+        && skeleton_prio == default_prio)
       obstack_1grow (&obstack_for_string, ';');
 
     STRING_GROW;