]> git.saurik.com Git - bison.git/blobdiff - tests/existing.at
Update copyright dates for recent changes.
[bison.git] / tests / existing.at
index b2626622ae038958c21844d20f9cd871c1f95e62..ba2c40cba58256e0afa4a35cbd6d35c83a5c17f0 100644 (file)
@@ -1,22 +1,20 @@
 # Exercising Bison on actual grammars.                   -*- Autotest -*-
 
 # Exercising Bison on actual grammars.                   -*- Autotest -*-
 
-# Copyright (C) 1989, 1990, 1991, 1992, 2000, 2001, 2002, 2003, 2004, 2005
-# Free Software Foundation, Inc.
+# Copyright (C) 1989, 1990, 1991, 1992, 2000, 2001, 2002, 2003, 2004, 2005,
+# 2007 Free Software Foundation, Inc.
 
 
-# This program is free software; you can redistribute it and/or modify
+# This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
 # it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
 # This program is distributed in the hope that it will be useful,
 # but WITHOUT ANY WARRANTY; without even the implied warranty of
 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 # GNU General Public License for more details.
 # This program is distributed in the hope that it will be useful,
 # but WITHOUT ANY WARRANTY; without even the implied warranty of
 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 # GNU General Public License for more details.
-
+#
 # You should have received a copy of the GNU General Public License
 # You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-# 02110-1301, USA.
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 AT_BANNER([[Existing Grammars.]])
 ## ----------------- ##
 
 AT_BANNER([[Existing Grammars.]])
 ## ----------------- ##
@@ -324,11 +322,11 @@ variable
        ;
 
 l_brace
        ;
 
 l_brace
-               : '{' opt_nls
-               ;
+       : '{' opt_nls
+       ;
 
 r_brace
 
 r_brace
-               : '}' opt_nls
+       : '}' opt_nls
        ;
 
 r_paren
        ;
 
 r_paren
@@ -353,7 +351,7 @@ comma       : ',' opt_nls
 # Pass plenty of options, to exercise plenty of code, even if we
 # don't actually check the output.  But SEGV is watching us, and
 # so might do dmalloc.
 # Pass plenty of options, to exercise plenty of code, even if we
 # don't actually check the output.  But SEGV is watching us, and
 # so might do dmalloc.
-AT_CHECK([[bison --verbose --defines input.y]])
+AT_BISON_CHECK([[--verbose --defines input.y]])
 
 AT_CLEANUP
 
 
 AT_CLEANUP
 
@@ -372,32 +370,32 @@ AT_DATA([[input.y]],
 [[%union {}
 
 %token
 [[%union {}
 
 %token
-        HACTIVATE HAFTER /*HAND*/ HARRAY HAT
-        HBEFORE HBEGIN HBOOLEAN
-        HCHARACTER HCLASS /*HCOMMENT*/ HCONC
-        HDELAY HDO
-        HELSE HEND HEQ /*HEQV*/ HEXTERNAL
-        HFOR
-        HGE HGO HGOTO HGT
-        HHIDDEN
-        HIF /*HIMP*/ HIN HINNER HINSPECT HINTEGER HIS
-        HLABEL HLE HLONG HLT
-        HNAME HNE HNEW HNONE /*HNOT*/ HNOTEXT
-        /*HOR*/ HOTHERWISE
-        HPRIOR HPROCEDURE HPROTECTED
-        HQUA
-        HREACTIVATE HREAL HREF
-        HSHORT HSTEP HSWITCH
-        HTEXT HTHEN HTHIS HTO
-        HUNTIL
-        HVALUE HVAR HVIRTUAL
-        HWHEN HWHILE
-
-        HASSIGNVALUE HASSIGNREF
-        /*HDOT*/ HPAREXPSEPARATOR HLABELSEPARATOR HSTATEMENTSEPARATOR
-        HBEGPAR HENDPAR
-        HEQR HNER
-        HADD HSUB HMUL HDIV HINTDIV HEXP
+       HACTIVATE HAFTER /*HAND*/ HARRAY HAT
+       HBEFORE HBEGIN HBOOLEAN
+       HCHARACTER HCLASS /*HCOMMENT*/ HCONC
+       HDELAY HDO
+       HELSE HEND HEQ /*HEQV*/ HEXTERNAL
+       HFOR
+       HGE HGO HGOTO HGT
+       HHIDDEN
+       HIF /*HIMP*/ HIN HINNER HINSPECT HINTEGER HIS
+       HLABEL HLE HLONG HLT
+       HNAME HNE HNEW HNONE /*HNOT*/ HNOTEXT
+       /*HOR*/ HOTHERWISE
+       HPRIOR HPROCEDURE HPROTECTED
+       HQUA
+       HREACTIVATE HREAL HREF
+       HSHORT HSTEP HSWITCH
+       HTEXT HTHEN HTHIS HTO
+       HUNTIL
+       HVALUE HVAR HVIRTUAL
+       HWHEN HWHILE
+
+       HASSIGNVALUE HASSIGNREF
+       /*HDOT*/ HPAREXPSEPARATOR HLABELSEPARATOR HSTATEMENTSEPARATOR
+       HBEGPAR HENDPAR
+       HEQR HNER
+       HADD HSUB HMUL HDIV HINTDIV HEXP
        HDOTDOTDOT
 
 %token HIDENTIFIER
        HDOTDOTDOT
 
 %token HIDENTIFIER
@@ -457,10 +455,10 @@ EXT_DECLARATION   :       HEXTERNAL
 EXTERNAL_KIND_ITEM:    EXT_IDENT
                        HOBJRELOPERATOR
                                {}
 EXTERNAL_KIND_ITEM:    EXT_IDENT
                        HOBJRELOPERATOR
                                {}
-                       MBEE_TYPE HPROCEDURE
+                       MBEE_TYPE HPROCEDURE
                        HIDENTIFIER
                                {}
                        HIDENTIFIER
                                {}
-                        HEADING EMPTY_BLOCK
+                       HEADING EMPTY_BLOCK
                                {}
 /*             |
                        EXT_IDENT
                                {}
 /*             |
                        EXT_IDENT
@@ -492,73 +490,73 @@ EXT_IDENT :       /* EMPTY */
                ;
 /* GRAMATIKK FOR TYPER */
 NO_TYPE         :       /*EMPT*/
                ;
 /* GRAMATIKK FOR TYPER */
 NO_TYPE         :       /*EMPT*/
-                ;
+               ;
 MBEE_TYPE       :       NO_TYPE
 MBEE_TYPE       :       NO_TYPE
-                |       TYPE
-                ;
+               |       TYPE
+               ;
 TYPE            :       HREF HBEGPAR
 TYPE            :       HREF HBEGPAR
-                        HIDENTIFIER
-                                {}
-                        HENDPAR
-                |       HTEXT
-                |       HBOOLEAN
-                |       HCHARACTER
-                |       HSHORT HINTEGER
-                |       HINTEGER
-                |       HREAL
-                |       HLONG HREAL
-                ;
+                       HIDENTIFIER
+                               {}
+                       HENDPAR
+               |       HTEXT
+               |       HBOOLEAN
+               |       HCHARACTER
+               |       HSHORT HINTEGER
+               |       HINTEGER
+               |       HREAL
+               |       HLONG HREAL
+               ;
 
 /* GRAMATIKK FOR DEL AV SETNINGER */
 MBEE_ELSE_PART  :       /*EMPT*/
 /*             |       HELSE
                        HIF
 
 /* GRAMATIKK FOR DEL AV SETNINGER */
 MBEE_ELSE_PART  :       /*EMPT*/
 /*             |       HELSE
                        HIF
-                        EXPRESSION
-                        HTHEN   {}
-                        BLOCK   {}
-                        MBEE_ELSE_PART          {}*/
-                |       HELSE   {}
-                        BLOCK
-                ;
+                       EXPRESSION
+                       HTHEN   {}
+                       BLOCK   {}
+                       MBEE_ELSE_PART          {}*/
+               |       HELSE   {}
+                       BLOCK
+               ;
 FOR_LIST        :       FOR_LIST_ELEMENT
 FOR_LIST        :       FOR_LIST_ELEMENT
-                |       FOR_LIST_ELEMENT
-                        HPAREXPSEPARATOR
-                        FOR_LIST
-                ;
+               |       FOR_LIST_ELEMENT
+                       HPAREXPSEPARATOR
+                       FOR_LIST
+               ;
 FOR_LIST_ELEMENT:       EXPRESSION
 FOR_LIST_ELEMENT:       EXPRESSION
-                        MBEE_F_L_EL_R_PT
-                ;
+                       MBEE_F_L_EL_R_PT
+               ;
 MBEE_F_L_EL_R_PT:       /*EMPT*/
 MBEE_F_L_EL_R_PT:       /*EMPT*/
-                |       HWHILE
-                        EXPRESSION
-                |       HSTEP
-                        EXPRESSION
-                        HUNTIL
-                        EXPRESSION
-                ;
+               |       HWHILE
+                       EXPRESSION
+               |       HSTEP
+                       EXPRESSION
+                       HUNTIL
+                       EXPRESSION
+               ;
 GOTO            :       HGO
 GOTO            :       HGO
-                        HTO
-                |       HGOTO
-                ;
+                       HTO
+               |       HGOTO
+               ;
 CONN_STATE_R_PT :       WHEN_CLAUSE_LIST
 CONN_STATE_R_PT :       WHEN_CLAUSE_LIST
-                |       HDO   {}
-                        BLOCK
-                ;
+               |       HDO   {}
+                       BLOCK
+               ;
 WHEN_CLAUSE_LIST:       HWHEN
 WHEN_CLAUSE_LIST:       HWHEN
-                        HIDENTIFIER
-                        HDO    {}
-                        BLOCK
-                |       WHEN_CLAUSE_LIST
-                        HWHEN
-                        HIDENTIFIER
-                        HDO    {}
-                        BLOCK
-                ;
+                       HIDENTIFIER
+                       HDO    {}
+                       BLOCK
+               |       WHEN_CLAUSE_LIST
+                       HWHEN
+                       HIDENTIFIER
+                       HDO    {}
+                       BLOCK
+               ;
 MBEE_OTWI_CLAUS :       /*EMPT*/
 MBEE_OTWI_CLAUS :       /*EMPT*/
-                |       HOTHERWISE {}
+               |       HOTHERWISE {}
 
 
-                        BLOCK
-                ;
+                       BLOCK
+               ;
 ACTIVATOR      :       HACTIVATE
                |       HREACTIVATE
                ;
 ACTIVATOR      :       HACTIVATE
                |       HREACTIVATE
                ;
@@ -579,244 +577,244 @@ PRIOR           :       /*EMPT*/
                ;
 /* GRAMATIKK FOR SETNINGER OG DEKLARASJONER */
 MODULSTATEMENT  :       HWHILE
                ;
 /* GRAMATIKK FOR SETNINGER OG DEKLARASJONER */
 MODULSTATEMENT  :       HWHILE
-                        EXPRESSION
-                        HDO     {}
-                        BLOCK
+                       EXPRESSION
+                       HDO     {}
+                       BLOCK
                |       HIF
                |       HIF
-                        EXPRESSION
-                        HTHEN   {}
-                        BLOCK   {}
-                        MBEE_ELSE_PART
+                       EXPRESSION
+                       HTHEN   {}
+                       BLOCK   {}
+                       MBEE_ELSE_PART
                |       HFOR
                |       HFOR
-                        HIDENTIFIER
-                        HASSIGN {}
-                        FOR_LIST
-                        HDO     {}
-                        BLOCK
+                       HIDENTIFIER
+                       HASSIGN {}
+                       FOR_LIST
+                       HDO     {}
+                       BLOCK
                |       GOTO
                |       GOTO
-                        EXPRESSION
+                       EXPRESSION
                |       HINSPECT
                |       HINSPECT
-                        EXPRESSION              {}
-                        CONN_STATE_R_PT
-                                {}
-                        MBEE_OTWI_CLAUS
+                       EXPRESSION              {}
+                       CONN_STATE_R_PT
+                               {}
+                       MBEE_OTWI_CLAUS
                |       HINNER
                |       HINNER
-                |       HIDENTIFIER
-                        HLABELSEPARATOR
-                                {}
-                        DECLSTATEMENT
-                |       EXPRESSION_SIMP
-                        HBEGIN
-                                {}
+               |       HIDENTIFIER
+                       HLABELSEPARATOR
+                               {}
+                       DECLSTATEMENT
+               |       EXPRESSION_SIMP
+                       HBEGIN
+                               {}
                        IMPORT_SPEC_MODULE
                                {}
                        IMPORT_SPEC_MODULE
                                {}
-                        MBEE_DECLSTMS
-                        HEND
+                       MBEE_DECLSTMS
+                       HEND
                |       EXPRESSION_SIMP HBEGIN error HSTATEMENTSEPARATOR
                |       EXPRESSION_SIMP HBEGIN error HSTATEMENTSEPARATOR
-                        MBEE_DECLSTMS HEND
+                       MBEE_DECLSTMS HEND
                |       EXPRESSION_SIMP HBEGIN error HEND
                |       EXPRESSION_SIMP HBEGIN error HEND
-                |       EXPRESSION_SIMP
+               |       EXPRESSION_SIMP
                |       ACTIVATOR EXPRESSION SCHEDULE
                |       ACTIVATOR EXPRESSION SCHEDULE
-                |       HBEGIN
-                                {}
-                        MBEE_DECLSTMS
-                        HEND
+               |       HBEGIN
+                               {}
+                       MBEE_DECLSTMS
+                       HEND
                |       MBEE_TYPE HPROCEDURE
                |       MBEE_TYPE HPROCEDURE
-                        HIDENTIFIER
-                                {}
-                        HEADING BLOCK
+                       HIDENTIFIER
+                               {}
+                       HEADING BLOCK
                |       HIDENTIFIER
                        HCLASS
                |       HIDENTIFIER
                        HCLASS
-                        NO_TYPE
+                       NO_TYPE
                                {}
                        IMPORT_SPEC_MODULE
                                {}
                        IMPORT_SPEC_MODULE
-                        HIDENTIFIER
+                       HIDENTIFIER
+                               {}
+                       HEADING
+                       BLOCK
+               |       HCLASS
+                       NO_TYPE
+                       HIDENTIFIER
                                {}
                                {}
-                        HEADING
-                        BLOCK
-                |       HCLASS
-                        NO_TYPE
-                        HIDENTIFIER
-                                {}
-                        HEADING
-                        BLOCK
-                |       EXT_DECLARATION
+                       HEADING
+                       BLOCK
+               |       EXT_DECLARATION
                |       /*EMPT*/
                |       /*EMPT*/
-                ;
+               ;
 IMPORT_SPEC_MODULE:
                ;
 DECLSTATEMENT  :       MODULSTATEMENT
                |       TYPE
 IMPORT_SPEC_MODULE:
                ;
 DECLSTATEMENT  :       MODULSTATEMENT
                |       TYPE
-                        HIDENTIFIER
+                       HIDENTIFIER
                        MBEE_CONSTANT
                        MBEE_CONSTANT
-                        HPAREXPSEPARATOR
-                                {}
-                        IDENTIFIER_LISTC
-                |       TYPE
-                        HIDENTIFIER
+                       HPAREXPSEPARATOR
+                               {}
+                       IDENTIFIER_LISTC
+               |       TYPE
+                       HIDENTIFIER
                        MBEE_CONSTANT
                        MBEE_CONSTANT
-                |       MBEE_TYPE
-                        HARRAY  {}
-                        ARR_SEGMENT_LIST
-                |       HSWITCH
-                        HIDENTIFIER
-                        HASSIGN {}
-                        SWITCH_LIST
-                ;
+               |       MBEE_TYPE
+                       HARRAY  {}
+                       ARR_SEGMENT_LIST
+               |       HSWITCH
+                       HIDENTIFIER
+                       HASSIGN {}
+                       SWITCH_LIST
+               ;
 BLOCK           :       DECLSTATEMENT
 BLOCK           :       DECLSTATEMENT
-                |       HBEGIN MBEE_DECLSTMS HEND
+               |       HBEGIN MBEE_DECLSTMS HEND
                |       HBEGIN error HSTATEMENTSEPARATOR MBEE_DECLSTMS HEND
                |       HBEGIN error HEND
                ;
 MBEE_DECLSTMS   :       MBEE_DECLSTMSU
                |       HBEGIN error HSTATEMENTSEPARATOR MBEE_DECLSTMS HEND
                |       HBEGIN error HEND
                ;
 MBEE_DECLSTMS   :       MBEE_DECLSTMSU
-                ;
+               ;
 MBEE_DECLSTMSU  :       DECLSTATEMENT
 MBEE_DECLSTMSU  :       DECLSTATEMENT
-                |       MBEE_DECLSTMSU
-                        HSTATEMENTSEPARATOR
-                        DECLSTATEMENT
-                ;
+               |       MBEE_DECLSTMSU
+                       HSTATEMENTSEPARATOR
+                       DECLSTATEMENT
+               ;
 MODULS         :       MODULSTATEMENT
                |       MODULS HSTATEMENTSEPARATOR MODULSTATEMENT
                ;
 /* GRAMATIKK FOR DEL AV DEKLARASJONER */
 ARR_SEGMENT_LIST:       ARR_SEGMENT
 MODULS         :       MODULSTATEMENT
                |       MODULS HSTATEMENTSEPARATOR MODULSTATEMENT
                ;
 /* GRAMATIKK FOR DEL AV DEKLARASJONER */
 ARR_SEGMENT_LIST:       ARR_SEGMENT
-                |       ARR_SEGMENT_LIST
-                        HPAREXPSEPARATOR
-                        ARR_SEGMENT
-                ;
+               |       ARR_SEGMENT_LIST
+                       HPAREXPSEPARATOR
+                       ARR_SEGMENT
+               ;
 ARR_SEGMENT    :       ARRAY_SEGMENT
 ARR_SEGMENT    :       ARRAY_SEGMENT
-                        HBEGPAR
-                        BAUND_PAIR_LIST HENDPAR
-                ;
+                       HBEGPAR
+                       BAUND_PAIR_LIST HENDPAR
+               ;
 ARRAY_SEGMENT   :       ARRAY_SEGMENT_EL        {}
 
 ARRAY_SEGMENT   :       ARRAY_SEGMENT_EL        {}
 
-                |       ARRAY_SEGMENT_EL
-                        HPAREXPSEPARATOR
-                        ARRAY_SEGMENT
-                ;
+               |       ARRAY_SEGMENT_EL
+                       HPAREXPSEPARATOR
+                       ARRAY_SEGMENT
+               ;
 ARRAY_SEGMENT_EL:       HIDENTIFIER
 ARRAY_SEGMENT_EL:       HIDENTIFIER
-                ;
+               ;
 BAUND_PAIR_LIST :       BAUND_PAIR
 BAUND_PAIR_LIST :       BAUND_PAIR
-                |       BAUND_PAIR
-                        HPAREXPSEPARATOR
-                        BAUND_PAIR_LIST
-                ;
+               |       BAUND_PAIR
+                       HPAREXPSEPARATOR
+                       BAUND_PAIR_LIST
+               ;
 BAUND_PAIR      :       EXPRESSION
 BAUND_PAIR      :       EXPRESSION
-                        HLABELSEPARATOR
-                        EXPRESSION
-                ;
+                       HLABELSEPARATOR
+                       EXPRESSION
+               ;
 SWITCH_LIST     :       EXPRESSION
 SWITCH_LIST     :       EXPRESSION
-                |       EXPRESSION
-                        HPAREXPSEPARATOR
-                        SWITCH_LIST
-                ;
+               |       EXPRESSION
+                       HPAREXPSEPARATOR
+                       SWITCH_LIST
+               ;
 HEADING         :       MBEE_FMAL_PAR_P HSTATEMENTSEPARATOR {}
 HEADING         :       MBEE_FMAL_PAR_P HSTATEMENTSEPARATOR {}
-                        MBEE_MODE_PART  {}
-                        MBEE_SPEC_PART  {}
-                        MBEE_PROT_PART  {}
-                        MBEE_VIRT_PART
-                ;
+                       MBEE_MODE_PART  {}
+                       MBEE_SPEC_PART  {}
+                       MBEE_PROT_PART  {}
+                       MBEE_VIRT_PART
+               ;
 MBEE_FMAL_PAR_P :       /*EMPT*/
 MBEE_FMAL_PAR_P :       /*EMPT*/
-                |       FMAL_PAR_PART
-                ;
+               |       FMAL_PAR_PART
+               ;
 FMAL_PAR_PART   :       HBEGPAR NO_TYPE
 FMAL_PAR_PART   :       HBEGPAR NO_TYPE
-                        MBEE_LISTV HENDPAR
-                ;
+                       MBEE_LISTV HENDPAR
+               ;
 MBEE_LISTV      :       /*EMPT*/
 MBEE_LISTV      :       /*EMPT*/
-                |       LISTV
-                ;
+               |       LISTV
+               ;
 LISTV           :       HIDENTIFIER
 LISTV           :       HIDENTIFIER
-                |      FPP_CATEG HDOTDOTDOT
-                |       HIDENTIFIER     {}
-                        HPAREXPSEPARATOR LISTV
-                |       FPP_SPEC
-                |       FPP_SPEC
-                        HPAREXPSEPARATOR LISTV
-                ;
+                     FPP_CATEG HDOTDOTDOT
+               |       HIDENTIFIER     {}
+                       HPAREXPSEPARATOR LISTV
+               |       FPP_SPEC
+               |       FPP_SPEC
+                       HPAREXPSEPARATOR LISTV
+               ;
 FPP_HEADING     :       HBEGPAR NO_TYPE
 FPP_HEADING     :       HBEGPAR NO_TYPE
-                        FPP_MBEE_LISTV HENDPAR
-                ;
+                       FPP_MBEE_LISTV HENDPAR
+               ;
 FPP_MBEE_LISTV  :       /*EMPT*/
 FPP_MBEE_LISTV  :       /*EMPT*/
-                |       FPP_LISTV
-                ;
+               |       FPP_LISTV
+               ;
 FPP_LISTV       :      FPP_CATEG HDOTDOTDOT
 FPP_LISTV       :      FPP_CATEG HDOTDOTDOT
-                |       FPP_SPEC
-                |       FPP_SPEC
-                        HPAREXPSEPARATOR LISTV
-                ;
+               |       FPP_SPEC
+               |       FPP_SPEC
+                       HPAREXPSEPARATOR LISTV
+               ;
 FPP_SPEC        :       FPP_CATEG SPECIFIER HIDENTIFIER
                |       FPP_CATEG FPP_PROC_DECL_IN_SPEC
                ;
 FPP_CATEG       :       HNAME HLABELSEPARATOR
 FPP_SPEC        :       FPP_CATEG SPECIFIER HIDENTIFIER
                |       FPP_CATEG FPP_PROC_DECL_IN_SPEC
                ;
 FPP_CATEG       :       HNAME HLABELSEPARATOR
-                |       HVALUE HLABELSEPARATOR
-                |       HVAR HLABELSEPARATOR
-                |       /*EMPT*/
-                ;
+               |       HVALUE HLABELSEPARATOR
+               |       HVAR HLABELSEPARATOR
+               |       /*EMPT*/
+               ;
 FPP_PROC_DECL_IN_SPEC: MBEE_TYPE HPROCEDURE
 FPP_PROC_DECL_IN_SPEC: MBEE_TYPE HPROCEDURE
-                        HIDENTIFIER
+                       HIDENTIFIER
                                        {}
                                        {}
-                        FPP_HEADING {} { /* Yes, two "final" actions. */ }
+                       FPP_HEADING {} { /* Yes, two "final" actions. */ }
                ;
 IDENTIFIER_LISTV:       HIDENTIFIER
                ;
 IDENTIFIER_LISTV:       HIDENTIFIER
-                |      HDOTDOTDOT
-                |       HIDENTIFIER     {}
-                        HPAREXPSEPARATOR IDENTIFIER_LISTV
-                ;
+                     HDOTDOTDOT
+               |       HIDENTIFIER     {}
+                       HPAREXPSEPARATOR IDENTIFIER_LISTV
+               ;
 MBEE_MODE_PART  :       /*EMPT*/
 MBEE_MODE_PART  :       /*EMPT*/
-                |       MODE_PART
-                ;
+               |       MODE_PART
+               ;
 MODE_PART       :       NAME_PART
 MODE_PART       :       NAME_PART
-                |       VALUE_PART
-                |       VAR_PART
-                |       NAME_PART VALUE_PART
-                |       VALUE_PART NAME_PART
-                |       NAME_PART VAR_PART
-                |       VAR_PART NAME_PART
-                |       VALUE_PART VAR_PART
-                |       VAR_PART VALUE_PART
-                |       VAR_PART NAME_PART VALUE_PART
-                |       NAME_PART VAR_PART VALUE_PART
-                |       NAME_PART VALUE_PART VAR_PART
-                |       VAR_PART VALUE_PART NAME_PART
-                |       VALUE_PART VAR_PART NAME_PART
-                |       VALUE_PART NAME_PART VAR_PART
-                ;
+               |       VALUE_PART
+               |       VAR_PART
+               |       NAME_PART VALUE_PART
+               |       VALUE_PART NAME_PART
+               |       NAME_PART VAR_PART
+               |       VAR_PART NAME_PART
+               |       VALUE_PART VAR_PART
+               |       VAR_PART VALUE_PART
+               |       VAR_PART NAME_PART VALUE_PART
+               |       NAME_PART VAR_PART VALUE_PART
+               |       NAME_PART VALUE_PART VAR_PART
+               |       VAR_PART VALUE_PART NAME_PART
+               |       VALUE_PART VAR_PART NAME_PART
+               |       VALUE_PART NAME_PART VAR_PART
+               ;
 NAME_PART       :       HNAME           {}
 NAME_PART       :       HNAME           {}
-                        IDENTIFIER_LISTV
-                        HSTATEMENTSEPARATOR
-                ;
+                       IDENTIFIER_LISTV
+                       HSTATEMENTSEPARATOR
+               ;
 VAR_PART        :       HVAR            {}
 VAR_PART        :       HVAR            {}
-                        IDENTIFIER_LISTV
-                        HSTATEMENTSEPARATOR
-                ;
+                       IDENTIFIER_LISTV
+                       HSTATEMENTSEPARATOR
+               ;
 VALUE_PART      :       HVALUE          {}
 VALUE_PART      :       HVALUE          {}
-                        IDENTIFIER_LISTV HSTATEMENTSEPARATOR
-                ;
+                       IDENTIFIER_LISTV HSTATEMENTSEPARATOR
+               ;
 MBEE_SPEC_PART  :       /*EMPT*/
 MBEE_SPEC_PART  :       /*EMPT*/
-                |       SPEC_PART
-                ;
+               |       SPEC_PART
+               ;
 SPEC_PART       :       ONE_SPEC
 SPEC_PART       :       ONE_SPEC
-                |       SPEC_PART ONE_SPEC
-                ;
+               |       SPEC_PART ONE_SPEC
+               ;
 ONE_SPEC       :       SPECIFIER IDENTIFIER_LIST HSTATEMENTSEPARATOR
                |       NO_TYPE HPROCEDURE HIDENTIFIER HOBJRELOPERATOR
                          {}
                        PROC_DECL_IN_SPEC HSTATEMENTSEPARATOR
 ONE_SPEC       :       SPECIFIER IDENTIFIER_LIST HSTATEMENTSEPARATOR
                |       NO_TYPE HPROCEDURE HIDENTIFIER HOBJRELOPERATOR
                          {}
                        PROC_DECL_IN_SPEC HSTATEMENTSEPARATOR
-                |       FPP_PROC_DECL_IN_SPEC HSTATEMENTSEPARATOR
-                |       MBEE_TYPE HPROCEDURE HIDENTIFIER HSTATEMENTSEPARATOR
-                |       MBEE_TYPE HPROCEDURE HIDENTIFIER HPAREXPSEPARATOR
-                        IDENTIFIER_LIST HSTATEMENTSEPARATOR
+               |       FPP_PROC_DECL_IN_SPEC HSTATEMENTSEPARATOR
+               |       MBEE_TYPE HPROCEDURE HIDENTIFIER HSTATEMENTSEPARATOR
+               |       MBEE_TYPE HPROCEDURE HIDENTIFIER HPAREXPSEPARATOR
+                       IDENTIFIER_LIST HSTATEMENTSEPARATOR
                ;
 SPECIFIER       :       TYPE
                ;
 SPECIFIER       :       TYPE
-                |       MBEE_TYPE
-                        HARRAY
-                |       HLABEL
-                |       HSWITCH
-                ;
+               |       MBEE_TYPE
+                       HARRAY
+               |       HLABEL
+               |       HSWITCH
+               ;
 PROC_DECL_IN_SPEC:     MBEE_TYPE HPROCEDURE
 PROC_DECL_IN_SPEC:     MBEE_TYPE HPROCEDURE
-                        HIDENTIFIER
+                       HIDENTIFIER
                                        {}
                                        {}
-                        HEADING
+                       HEADING
                                        {}
                        MBEE_BEGIN_END
                ;
                                        {}
                        MBEE_BEGIN_END
                ;
@@ -824,37 +822,37 @@ MBEE_BEGIN_END    :       /* EMPTY */
                |       HBEGIN HEND
                ;
 MBEE_PROT_PART  :       /*EMPT*/
                |       HBEGIN HEND
                ;
 MBEE_PROT_PART  :       /*EMPT*/
-                |       PROTECTION_PART
-                ;
+               |       PROTECTION_PART
+               ;
 PROTECTION_PART :       PROT_SPECIFIER IDENTIFIER_LIST
 PROTECTION_PART :       PROT_SPECIFIER IDENTIFIER_LIST
-                        HSTATEMENTSEPARATOR
-                |       PROTECTION_PART  PROT_SPECIFIER
-                        IDENTIFIER_LIST HSTATEMENTSEPARATOR
-                ;
+                       HSTATEMENTSEPARATOR
+               |       PROTECTION_PART  PROT_SPECIFIER
+                       IDENTIFIER_LIST HSTATEMENTSEPARATOR
+               ;
 PROT_SPECIFIER  :       HHIDDEN
 PROT_SPECIFIER  :       HHIDDEN
-                |       HPROTECTED
-                |       HHIDDEN
-                        HPROTECTED
-                |       HPROTECTED
-                        HHIDDEN
-                ;
+               |       HPROTECTED
+               |       HHIDDEN
+                       HPROTECTED
+               |       HPROTECTED
+                       HHIDDEN
+               ;
 MBEE_VIRT_PART  :       /*EMPT*/
 MBEE_VIRT_PART  :       /*EMPT*/
-                |       VIRTUAL_PART
-                ;
+               |       VIRTUAL_PART
+               ;
 VIRTUAL_PART    :       HVIRTUAL
 VIRTUAL_PART    :       HVIRTUAL
-                        HLABELSEPARATOR
-                        MBEE_SPEC_PART
-                ;
+                       HLABELSEPARATOR
+                       MBEE_SPEC_PART
+               ;
 IDENTIFIER_LIST :       HIDENTIFIER
 IDENTIFIER_LIST :       HIDENTIFIER
-                |       IDENTIFIER_LIST HPAREXPSEPARATOR
-                        HIDENTIFIER
-                ;
+               |       IDENTIFIER_LIST HPAREXPSEPARATOR
+                       HIDENTIFIER
+               ;
 IDENTIFIER_LISTC:       HIDENTIFIER
                        MBEE_CONSTANT
 IDENTIFIER_LISTC:       HIDENTIFIER
                        MBEE_CONSTANT
-                |       IDENTIFIER_LISTC HPAREXPSEPARATOR
-                        HIDENTIFIER
+               |       IDENTIFIER_LISTC HPAREXPSEPARATOR
+                       HIDENTIFIER
                        MBEE_CONSTANT
                        MBEE_CONSTANT
-                ;
+               ;
 MBEE_CONSTANT  :       /* EMPTY */
                |       HVALRELOPERATOR
                                {}
 MBEE_CONSTANT  :       /* EMPTY */
                |       HVALRELOPERATOR
                                {}
@@ -863,99 +861,99 @@ MBEE_CONSTANT     :       /* EMPTY */
 
 /* GRAMATIKK FOR UTTRYKK */
 EXPRESSION      :       EXPRESSION_SIMP
 
 /* GRAMATIKK FOR UTTRYKK */
 EXPRESSION      :       EXPRESSION_SIMP
-                |       HIF
-                        EXPRESSION
-                        HTHEN
-                        EXPRESSION
-                        HELSE
-                        EXPRESSION
-                ;
+               |       HIF
+                       EXPRESSION
+                       HTHEN
+                       EXPRESSION
+                       HELSE
+                       EXPRESSION
+               ;
 EXPRESSION_SIMP :      EXPRESSION_SIMP
                        HASSIGN
                        EXPRESSION
                |
 
                        EXPRESSION_SIMP
 EXPRESSION_SIMP :      EXPRESSION_SIMP
                        HASSIGN
                        EXPRESSION
                |
 
                        EXPRESSION_SIMP
-                        HCONC
-                        EXPRESSION_SIMP
-                |       EXPRESSION_SIMP HOR
-                        HELSE
-                        EXPRESSION_SIMP
-                        %prec HORELSE
-                |       EXPRESSION_SIMP HAND
-                        HTHEN
-                        EXPRESSION_SIMP
-                        %prec HANDTHEN
-                |       EXPRESSION_SIMP
-                        HEQV EXPRESSION_SIMP
-                |       EXPRESSION_SIMP
-                        HIMP EXPRESSION_SIMP
-                |       EXPRESSION_SIMP
-                        HOR EXPRESSION_SIMP
-                |       EXPRESSION_SIMP
-                        HAND EXPRESSION_SIMP
-                |       HNOT EXPRESSION_SIMP
-                |       EXPRESSION_SIMP
-                        HVALRELOPERATOR
-                        EXPRESSION_SIMP
-                |       EXPRESSION_SIMP
-                        HREFRELOPERATOR
-                        EXPRESSION_SIMP
-                |       EXPRESSION_SIMP
-                        HOBJRELOPERATOR
-                        EXPRESSION_SIMP
-                |       HTERMOPERATOR
-                        EXPRESSION_SIMP %prec UNEAR
-                |       EXPRESSION_SIMP
-                        HTERMOPERATOR
-                        EXPRESSION_SIMP
-                |       EXPRESSION_SIMP
-                        HFACTOROPERATOR
-                        EXPRESSION_SIMP
-                |       EXPRESSION_SIMP
-                        HPRIMARYOPERATOR
-                        EXPRESSION_SIMP
-                |       HBEGPAR
-                        EXPRESSION HENDPAR
-                |       HTEXTKONST
-                |       HCHARACTERKONST
-                |       HREALKONST
-                |       HINTEGERKONST
-                |       HBOOLEANKONST
-                |       HNONE
-                |       HIDENTIFIER
-                                {}
-                        MBEE_ARG_R_PT
-                |       HTHIS HIDENTIFIER
-                |       HNEW
-                        HIDENTIFIER
-                        ARG_R_PT
-                |       EXPRESSION_SIMP
-                        HDOT
-                        EXPRESSION_SIMP
-                |       EXPRESSION_SIMP
-                        HQUA HIDENTIFIER
-                ;
+                       HCONC
+                       EXPRESSION_SIMP
+               |       EXPRESSION_SIMP HOR
+                       HELSE
+                       EXPRESSION_SIMP
+                       %prec HORELSE
+               |       EXPRESSION_SIMP HAND
+                       HTHEN
+                       EXPRESSION_SIMP
+                       %prec HANDTHEN
+               |       EXPRESSION_SIMP
+                       HEQV EXPRESSION_SIMP
+               |       EXPRESSION_SIMP
+                       HIMP EXPRESSION_SIMP
+               |       EXPRESSION_SIMP
+                       HOR EXPRESSION_SIMP
+               |       EXPRESSION_SIMP
+                       HAND EXPRESSION_SIMP
+               |       HNOT EXPRESSION_SIMP
+               |       EXPRESSION_SIMP
+                       HVALRELOPERATOR
+                       EXPRESSION_SIMP
+               |       EXPRESSION_SIMP
+                       HREFRELOPERATOR
+                       EXPRESSION_SIMP
+               |       EXPRESSION_SIMP
+                       HOBJRELOPERATOR
+                       EXPRESSION_SIMP
+               |       HTERMOPERATOR
+                       EXPRESSION_SIMP %prec UNEAR
+               |       EXPRESSION_SIMP
+                       HTERMOPERATOR
+                       EXPRESSION_SIMP
+               |       EXPRESSION_SIMP
+                       HFACTOROPERATOR
+                       EXPRESSION_SIMP
+               |       EXPRESSION_SIMP
+                       HPRIMARYOPERATOR
+                       EXPRESSION_SIMP
+               |       HBEGPAR
+                       EXPRESSION HENDPAR
+               |       HTEXTKONST
+               |       HCHARACTERKONST
+               |       HREALKONST
+               |       HINTEGERKONST
+               |       HBOOLEANKONST
+               |       HNONE
+               |       HIDENTIFIER
+                               {}
+                       MBEE_ARG_R_PT
+               |       HTHIS HIDENTIFIER
+               |       HNEW
+                       HIDENTIFIER
+                       ARG_R_PT
+               |       EXPRESSION_SIMP
+                       HDOT
+                       EXPRESSION_SIMP
+               |       EXPRESSION_SIMP
+                       HQUA HIDENTIFIER
+               ;
 ARG_R_PT        :       /*EMPTY*/
 ARG_R_PT        :       /*EMPTY*/
-                |       HBEGPAR
-                        ARGUMENT_LIST HENDPAR
-                ;
+               |       HBEGPAR
+                       ARGUMENT_LIST HENDPAR
+               ;
 MBEE_ARG_R_PT   :       /*EMPTY*/
 MBEE_ARG_R_PT   :       /*EMPTY*/
-                |       HBEGPAR
-                        ARGUMENT_LIST HENDPAR
-                ;
+               |       HBEGPAR
+                       ARGUMENT_LIST HENDPAR
+               ;
 ARGUMENT_LIST   :       EXPRESSION
 ARGUMENT_LIST   :       EXPRESSION
-                |       EXPRESSION
-                        HPAREXPSEPARATOR
-                        ARGUMENT_LIST
-                ;
+               |       EXPRESSION
+                       HPAREXPSEPARATOR
+                       ARGUMENT_LIST
+               ;
 %%
 ]])
 
 # Pass plenty of options, to exercise plenty of code, even if we
 # don't actually check the output.  But SEGV is watching us, and
 # so might do dmalloc.
 %%
 ]])
 
 # Pass plenty of options, to exercise plenty of code, even if we
 # don't actually check the output.  But SEGV is watching us, and
 # so might do dmalloc.
-AT_CHECK([[bison --verbose --defines input.y]], 0, [],
+AT_BISON_CHECK([[--verbose --defines input.y]], 0, [],
 [[input.y: conflicts: 78 shift/reduce, 10 reduce/reduce
 ]])
 
 [[input.y: conflicts: 78 shift/reduce, 10 reduce/reduce
 ]])
 
@@ -1268,7 +1266,7 @@ element:
        | LABEL ':' optional_separator element
        | LABEL ':' optional_separator position_not_place
        | LABEL ':' optional_separator place
        | LABEL ':' optional_separator element
        | LABEL ':' optional_separator position_not_place
        | LABEL ':' optional_separator place
-       | '{}'
+       | '{' {} element_list '}'
                {}
          optional_element
        | placeless_element
                {}
          optional_element
        | placeless_element
@@ -1520,6 +1518,8 @@ expr:
 # Pass plenty of options, to exercise plenty of code, even if we
 # don't actually check the output.  But SEGV is watching us, and
 # so might do dmalloc.
 # Pass plenty of options, to exercise plenty of code, even if we
 # don't actually check the output.  But SEGV is watching us, and
 # so might do dmalloc.
-AT_CHECK([[bison --verbose --defines input.y]], 0, [], [])
+AT_BISON_CHECK([[--verbose --defines input.y]], 0, [],
+[[input.y:453.11-48: warning: rule useless in parser due to conflicts: path: ORDINAL LAST object_type relative_path
+]])
 
 AT_CLEANUP
 
 AT_CLEANUP