]> git.saurik.com Git - bison.git/blobdiff - tests/input.at
maint: rewrite extexi in Perl.
[bison.git] / tests / input.at
index 8bd3ba4200db60ff2e8f2ec60f6f73ed190d4336..84ae0ffe136d5c63db0291f51db310d2fcb4fc2f 100644 (file)
@@ -69,10 +69,9 @@ AT_CLEANUP
 
 
 # _AT_UNUSED_VALUES_DECLARATIONS()
-# --------------------------------------------
+# --------------------------------
 # Generate the token, type, and destructor
 # declarations for the unused values tests.
-
 m4_define([_AT_UNUSED_VALUES_DECLARATIONS],
 [[[%token <integer> INT;
 %type <integer> a b c d e f g h i j k l;
@@ -80,15 +79,11 @@ m4_define([_AT_UNUSED_VALUES_DECLARATIONS],
 
 
 # AT_CHECK_UNUSED_VALUES(DECLARATIONS_AFTER, CHECK_MIDRULE_VALUES)
-# ------------------------------------------------------------------
-# Generate a grammar to test unused values,
-# compile it, run it.  If DECLARATIONS_AFTER
-# is set, then the token, type, and destructor
-# declarations are generated after the rules
-# rather than before.  If CHECK_MIDRULE_VALUES
-# is set, then --warnings=midrule-values is
-# set.
-
+# ----------------------------------------------------------------
+# Generate a grammar to test unused values, compile it, run it.  If
+# DECLARATIONS_AFTER is set, then the token, type, and destructor
+# declarations are generated after the rules rather than before.  If
+# CHECK_MIDRULE_VALUES is set, then --warnings=midrule-values is set.
 m4_define([AT_CHECK_UNUSED_VALUES],
 [AT_DATA([input.y],
 m4_ifval($1, [
@@ -600,8 +595,8 @@ AT_CHECK_REQUIRE(100.0, 63)
 
 AT_SETUP([String aliases for character tokens])
 
-# Bison once thought a character token and its alias were different symbols
-# with the same user token number.
+# Bison once thought a character token and its alias were different
+# symbols with the same user token number.
 
 AT_DATA_GRAMMAR([input.y],
 [[%token 'a' "a"
@@ -721,10 +716,10 @@ AT_CLEANUP
 
 AT_SETUP([Unclosed constructs])
 
-# Bison's scan-gram.l once forgot to STRING_FINISH some unclosed constructs, so
-# they were prepended to whatever it STRING_GROW'ed next.  It also threw them
-# away rather than returning them to the parser.  The effect was confusing
-# subsequent error messages.
+# Bison's scan-gram.l once forgot to STRING_FINISH some unclosed
+# constructs, so they were prepended to whatever it STRING_GROW'ed
+# next.  It also threw them away rather than returning them to the
+# parser.  The effect was confusing subsequent error messages.
 
 AT_DATA([input.y],
 [[%token A "a
@@ -750,8 +745,8 @@ start: ;
 
 AT_BISON_CHECK([-o input.c input.y], 1, [],
 [[input.y:1.10-2.0: missing '"' at end of line
-input.y:4.10-5.0: missing ''' at end of line
-input.y:14.11-15.0: missing ''' at end of line
+input.y:4.10-5.0: missing "'" at end of line
+input.y:14.11-15.0: missing "'" at end of line
 input.y:16.11-17.0: missing '"' at end of line
 input.y:19.13-20.0: missing '}' at end of file
 input.y:20.1: syntax error, unexpected end of file
@@ -766,8 +761,8 @@ AT_CLEANUP
 
 AT_SETUP([%start after first rule])
 
-# Bison once complained that a %start after the first rule was a redeclaration
-# of the start symbol.
+# Bison once complained that a %start after the first rule was a
+# redeclaration of the start symbol.
 
 AT_DATA([input.y],
 [[%%
@@ -837,10 +832,10 @@ AT_DATA([input-c.y],
 start: ;
 ]])
 AT_BISON_CHECK([[input-c.y]], [[1]], [],
-[[input-c.y:1.7: %code qualifier `q' is not used
-input-c.y:2.7-9: %code qualifier `bad' is not used
-input-c.y:3.7-9: %code qualifier `bad' is not used
-input-c.y:4.7-12: %code qualifier `format' is not used
+[[input-c.y:1.7: %code qualifier 'q' is not used
+input-c.y:2.7-9: %code qualifier 'bad' is not used
+input-c.y:3.7-9: %code qualifier 'bad' is not used
+input-c.y:4.7-12: %code qualifier 'format' is not used
 ]])
 
 AT_DATA([input-c-glr.y],
@@ -851,9 +846,9 @@ AT_DATA([input-c-glr.y],
 start: ;
 ]])
 AT_BISON_CHECK([[input-c-glr.y]], [[1]], [],
-[[input-c-glr.y:1.7: %code qualifier `q' is not used
-input-c-glr.y:2.7-9: %code qualifier `bad' is not used
-input-c-glr.y:3.8-10: %code qualifier `bad' is not used
+[[input-c-glr.y:1.7: %code qualifier 'q' is not used
+input-c-glr.y:2.7-9: %code qualifier 'bad' is not used
+input-c-glr.y:3.8-10: %code qualifier 'bad' is not used
 ]])
 
 AT_DATA([input-c++.y],
@@ -864,9 +859,9 @@ AT_DATA([input-c++.y],
 start: ;
 ]])
 AT_BISON_CHECK([[input-c++.y]], [[1]], [],
-[[input-c++.y:1.7: %code qualifier `q' is not used
-input-c++.y:2.7-9: %code qualifier `bad' is not used
-input-c++.y:3.8: %code qualifier `q' is not used
+[[input-c++.y:1.7: %code qualifier 'q' is not used
+input-c++.y:2.7-9: %code qualifier 'bad' is not used
+input-c++.y:3.8: %code qualifier 'q' is not used
 ]])
 
 AT_DATA([input-c++-glr.y],
@@ -877,9 +872,9 @@ AT_DATA([input-c++-glr.y],
 start: ;
 ]])
 AT_BISON_CHECK([[input-c++-glr.y]], [[1]], [],
-[[input-c++-glr.y:1.7-9: %code qualifier `bad' is not used
-input-c++-glr.y:2.7: %code qualifier `q' is not used
-input-c++-glr.y:3.7: %code qualifier `q' is not used
+[[input-c++-glr.y:1.7-9: %code qualifier 'bad' is not used
+input-c++-glr.y:2.7: %code qualifier 'q' is not used
+input-c++-glr.y:3.7: %code qualifier 'q' is not used
 ]])
 
 AT_DATA([special-char-@@.y],
@@ -890,9 +885,9 @@ AT_DATA([special-char-@@.y],
 start: ;
 ]])
 AT_BISON_CHECK([[special-char-@@.y]], [[1]], [],
-[[special-char-@@.y:1.7-9: %code qualifier `bad' is not used
-special-char-@@.y:2.7: %code qualifier `q' is not used
-special-char-@@.y:3.7: %code qualifier `q' is not used
+[[special-char-@@.y:1.7-9: %code qualifier 'bad' is not used
+special-char-@@.y:2.7: %code qualifier 'q' is not used
+special-char-@@.y:3.7: %code qualifier 'q' is not used
 ]])
 
 AT_DATA([special-char-@:>@.y],
@@ -903,9 +898,9 @@ AT_DATA([special-char-@:>@.y],
 start: ;
 ]])
 AT_BISON_CHECK([[special-char-@:>@.y]], [[1]], [],
-[[special-char-@:>@.y:1.7-9: %code qualifier `bad' is not used
-special-char-@:>@.y:2.7: %code qualifier `q' is not used
-special-char-@:>@.y:3.7: %code qualifier `q' is not used
+[[special-char-@:>@.y:1.7-9: %code qualifier 'bad' is not used
+special-char-@:>@.y:2.7: %code qualifier 'q' is not used
+special-char-@:>@.y:3.7: %code qualifier 'q' is not used
 ]])
 
 AT_CLEANUP
@@ -928,9 +923,9 @@ start: ;
 ]])
 
 AT_BISON_CHECK([[input-redefined.y]], [[1]], [],
-[[input-redefined.y:2.9-11: %define variable `var' redefined
+[[input-redefined.y:2.9-11: %define variable 'var' redefined
 input-redefined.y:1.9-11: previous definition
-input-redefined.y:3.10-12: %define variable `var' redefined
+input-redefined.y:3.10-12: %define variable 'var' redefined
 input-redefined.y:2.9-11: previous definition
 ]])
 
@@ -941,7 +936,7 @@ start: ;
 ]])
 
 AT_BISON_CHECK([[input-unused.y]], [[1]], [],
-[[input-unused.y:1.9-11: %define variable `var' is not used
+[[input-unused.y:1.9-11: %define variable 'var' is not used
 ]])
 
 AT_CLEANUP
@@ -985,7 +980,7 @@ AT_DATA([[input-dg.y]],
 start: ;
 ]])
 AT_BISON_CHECK([[-Dvar=cmd-d input-dg.y]], [[1]], [],
-[[input-dg.y:1.9-11: %define variable `var' redefined
+[[input-dg.y:1.9-11: %define variable 'var' redefined
 <command line>:2: previous definition
 ]])
 
@@ -994,8 +989,8 @@ AT_DATA([[input-unused.y]],
 start: ;
 ]])
 AT_BISON_CHECK([[-Dunused-d -Funused-f input-unused.y]], [[1]], [],
-[[<command line>:2: %define variable `unused-d' is not used
-<command line>:3: %define variable `unused-f' is not used
+[[<command line>:2: %define variable 'unused-d' is not used
+<command line>:3: %define variable 'unused-f' is not used
 ]])
 
 AT_CLEANUP
@@ -1015,7 +1010,7 @@ start: ;
 ]])
 
 AT_BISON_CHECK([[Input.y]], [1], [],
-[[Input.y:2.9-14: invalid value for %define Boolean variable `public'
+[[Input.y:2.9-14: invalid value for %define Boolean variable 'public'
 ]])
 
 AT_CLEANUP
@@ -1033,10 +1028,10 @@ AT_DATA([[input.y]],
 start: ;
 ]])
 AT_BISON_CHECK([[input.y]], [[1]], [[]],
-[[input.y:1.9-29: invalid value for %define variable `lr.default-reductions': `bogus'
-input.y:1.9-29: accepted value: `most'
-input.y:1.9-29: accepted value: `consistent'
-input.y:1.9-29: accepted value: `accepting'
+[[input.y:1.9-29: invalid value for %define variable 'lr.default-reductions': 'bogus'
+input.y:1.9-29: accepted value: 'most'
+input.y:1.9-29: accepted value: 'consistent'
+input.y:1.9-29: accepted value: 'accepting'
 ]])
 
 # Back-end.
@@ -1046,10 +1041,10 @@ AT_DATA([[input.y]],
 start: ;
 ]])
 AT_BISON_CHECK([[input.y]], [1], [],
-[[input.y:1.9-21: invalid value for %define variable `api.push-pull': `neither'
-input.y:1.9-21: accepted value: `pull'
-input.y:1.9-21: accepted value: `push'
-input.y:1.9-21: accepted value: `both'
+[[input.y:1.9-21: invalid value for %define variable 'api.push-pull': 'neither'
+input.y:1.9-21: accepted value: 'pull'
+input.y:1.9-21: accepted value: 'push'
+input.y:1.9-21: accepted value: 'both'
 ]])
 
 AT_CLEANUP
@@ -1069,10 +1064,10 @@ AT_DATA([[input.y]],
 start: ;
 ]])
 AT_BISON_CHECK([[input.y]], [1], [],
-[[input.y:1.9-21: invalid value for %define variable `api.push-pull': `neither'
-input.y:1.9-21: accepted value: `pull'
-input.y:1.9-21: accepted value: `push'
-input.y:1.9-21: accepted value: `both'
+[[input.y:1.9-21: invalid value for %define variable 'api.push-pull': 'neither'
+input.y:1.9-21: accepted value: 'pull'
+input.y:1.9-21: accepted value: 'push'
+input.y:1.9-21: accepted value: 'both'
 ]])
 
 AT_DATA([[input.y]],
@@ -1081,7 +1076,18 @@ AT_DATA([[input.y]],
 start: ;
 ]])
 AT_BISON_CHECK([[input.y]], [1], [],
-[[input.y:1.9-34: invalid value for %define Boolean variable `lr.keep-unreachable-states'
+[[input.y:1.9-34: invalid value for %define Boolean variable 'lr.keep-unreachable-states'
+]])
+
+AT_DATA([[input.y]],
+[[%define namespace "foo"
+%define api.namespace "foo"
+%%
+start: ;
+]])
+AT_BISON_CHECK([[input.y]], [1], [],
+[[input.y:2.9-21: %define variable 'api.namespace' redefined
+input.y:1.9-17: previous definition
 ]])
 
 AT_DATA([[input.y]],
@@ -1090,7 +1096,7 @@ AT_DATA([[input.y]],
 start: ;
 ]])
 AT_BISON_CHECK([[input.y]], [[1]], [],
-[[input.y:1.9-15: %define variable `foo_bar' is not used
+[[input.y:1.9-15: %define variable 'foo_bar' is not used
 ]])
 
 AT_CLEANUP
@@ -1115,7 +1121,7 @@ start: ;
 ]])
 
 AT_BISON_CHECK([[input.y]], [[1]], [],
-[[input.y:1.9-16: %define variable `api.pure' is not used
+[[input.y:1.9-16: %define variable 'api.pure' is not used
 ]])
 ])
 
@@ -1142,14 +1148,14 @@ m4_define([AT_CHECK_NAMESPACE_ERROR],
 AT_DATA([[input.y]],
 [[%language "C++"
 %defines
-%define namespace "]$1["
+%define api.namespace "]$1["
 %%
 start: ;
 ]])
 
 AT_BISON_CHECK([[input.y]], [1], [],
 [m4_foreach([b4_arg], m4_dquote(m4_shift($@)),
-[[input.y:3.9-17: ]b4_arg[
+[[input.y:3.9-21: ]b4_arg[
 ]])])
 ])
 
@@ -1200,9 +1206,9 @@ AT_CHECK([[perl -e "print 'start: \'';" >> empty.y || exit 77]])
 AT_BISON_CHECK([empty.y], [1], [],
 [[empty.y:2.8-9: warning: empty character literal
 empty.y:3.8-4.0: warning: empty character literal
-empty.y:3.8-4.0: missing ''' at end of line
+empty.y:3.8-4.0: missing "'" at end of line
 empty.y:4.8: warning: empty character literal
-empty.y:4.8: missing ''' at end of file
+empty.y:4.8: missing "'" at end of file
 ]])
 
 AT_DATA([two.y],
@@ -1215,9 +1221,9 @@ AT_CHECK([[perl -e "print 'start: \'ab';" >> two.y || exit 77]])
 AT_BISON_CHECK([two.y], [1], [],
 [[two.y:2.8-11: warning: extra characters in character literal
 two.y:3.8-4.0: warning: extra characters in character literal
-two.y:3.8-4.0: missing ''' at end of line
+two.y:3.8-4.0: missing "'" at end of line
 two.y:4.8-10: warning: extra characters in character literal
-two.y:4.8-10: missing ''' at end of file
+two.y:4.8-10: missing "'" at end of file
 ]])
 
 AT_DATA([three.y],
@@ -1230,9 +1236,9 @@ AT_CHECK([[perl -e "print 'start: \'abc';" >> three.y || exit 77]])
 AT_BISON_CHECK([three.y], [1], [],
 [[three.y:2.8-12: warning: extra characters in character literal
 three.y:3.8-4.0: warning: extra characters in character literal
-three.y:3.8-4.0: missing ''' at end of line
+three.y:3.8-4.0: missing "'" at end of line
 three.y:4.8-11: warning: extra characters in character literal
-three.y:4.8-11: missing ''' at end of file
+three.y:4.8-11: missing "'" at end of file
 ]])
 
 AT_CLEANUP
@@ -1300,11 +1306,11 @@ start: ;
 # parse.lac.* options are useless if LAC isn't actually activated.
 AT_BISON_CHECK([[-Dparse.lac.es-capacity-initial=1 input.y]],
                [[1]], [],
-[[<command line>:2: %define variable `parse.lac.es-capacity-initial' is not used
+[[<command line>:2: %define variable 'parse.lac.es-capacity-initial' is not used
 ]])
 AT_BISON_CHECK([[-Dparse.lac.memory-trace=full input.y]],
                [[1]], [],
-[[<command line>:2: %define variable `parse.lac.memory-trace' is not used
+[[<command line>:2: %define variable 'parse.lac.memory-trace' is not used
 ]])
 
 AT_CLEANUP