]> git.saurik.com Git - bison.git/blobdiff - tests/existing.at
grammar: record used associativity and print useless ones
[bison.git] / tests / existing.at
index d5cb39d16c0bd189d6a1a866a7956c166b8087ee..6118e7dcc33ad480f1a68a1ef332880290af6ee1 100644 (file)
@@ -1,6 +1,6 @@
 # Exercising Bison on actual grammars.                   -*- Autotest -*-
 
-# Copyright (C) 1989-1992, 2000-2005, 2007, 2009-2012 Free Software
+# Copyright (C) 1989-1992, 2000-2005, 2007, 2009-2013 Free Software
 # Foundation, Inc.
 
 # This program is free software: you can redistribute it and/or modify
@@ -35,7 +35,10 @@ dnl time comes, just use sed to drop the line numbers.  For now, as LR(1)
 dnl support is rapidly evolving, let's keep that information to be careful.
 dnl However, we don't do diffs for canonical LR(1) because the diff is huge.
 m4_pushdef([AT_LALR1_DIFF_CHECK],
-[AT_CHECK([[sed 's/^%define lr.type .*$//' input.y > input-lalr.y]])
+[dnl We need diff -u, which is not portable.
+AT_CHECK([diff -u /dev/null /dev/null || exit 77], [0], [ignore])
+
+AT_CHECK([[sed 's/^%define lr.type .*$//' input.y > input-lalr.y]])
 AT_BISON_CHECK([[--report=all input-lalr.y]], [[0]], [ignore], [ignore])
 AT_CHECK([[diff -u input-lalr.output input.output \
            | sed -n '/^@@/,$p' | sed 's/^ $//']],
@@ -424,8 +427,44 @@ dnl don't like even `print $!4;'.
 
 dnl BISON-STDERR
 [AT_COND_CASE([[canonical LR]],
-[[input.y: warning: 265 shift/reduce conflicts [-Wconflicts-sr]]],
-[[input.y: warning: 65 shift/reduce conflicts [-Wconflicts-sr]]])[
+[[input.y: warning: 265 shift/reduce conflicts [-Wconflicts-sr]
+input.y:19.8-16: warning: useless associativity for FUNC_CALL [-Wother]
+input.y:21.8-14: warning: useless associativity for YNUMBER [-Wother]
+input.y:21.16-22: warning: useless associativity for YSTRING [-Wother]
+input.y:22.14-22: warning: useless associativity for APPEND_OP [-Wother]
+input.y:23.8-15: warning: useless associativity for ASSIGNOP [-Wother]
+input.y:23.33-41: warning: useless associativity for CONCAT_OP [-Wother]
+input.y:27.8-18: warning: useless associativity for LEX_GETLINE [-Wother]
+input.y:28.8-13: warning: useless associativity for LEX_IN [-Wother]
+input.y:29.23-31: warning: useless associativity for INCREMENT [-Wother]
+input.y:29.33-41: warning: useless associativity for DECREMENT [-Wother]
+input.y:30.8-18: warning: useless associativity for LEX_BUILTIN [-Wother]
+input.y:30.20-29: warning: useless associativity for LEX_LENGTH [-Wother]
+input.y:40.11-13: warning: useless associativity for ',' [-Wother]
+input.y:47.8-10: warning: useless associativity for '!' [-Wother]
+input.y:47.12-16: warning: useless associativity for UNARY [-Wother]
+input.y:50.7-9: warning: useless associativity for '$' [-Wother]
+input.y:51.7-9: warning: useless associativity for '(' [-Wother]
+input.y:51.11-13: warning: useless associativity for ')' [-Wother]]],
+[[input.y: warning: 65 shift/reduce conflicts [-Wconflicts-sr]
+input.y:19.8-16: warning: useless associativity for FUNC_CALL [-Wother]
+input.y:21.8-14: warning: useless associativity for YNUMBER [-Wother]
+input.y:21.16-22: warning: useless associativity for YSTRING [-Wother]
+input.y:22.14-22: warning: useless associativity for APPEND_OP [-Wother]
+input.y:23.8-15: warning: useless associativity for ASSIGNOP [-Wother]
+input.y:23.33-41: warning: useless associativity for CONCAT_OP [-Wother]
+input.y:27.8-18: warning: useless associativity for LEX_GETLINE [-Wother]
+input.y:28.8-13: warning: useless associativity for LEX_IN [-Wother]
+input.y:29.23-31: warning: useless associativity for INCREMENT [-Wother]
+input.y:29.33-41: warning: useless associativity for DECREMENT [-Wother]
+input.y:30.8-18: warning: useless associativity for LEX_BUILTIN [-Wother]
+input.y:30.20-29: warning: useless associativity for LEX_LENGTH [-Wother]
+input.y:40.11-13: warning: useless associativity for ',' [-Wother]
+input.y:47.8-10: warning: useless associativity for '!' [-Wother]
+input.y:47.12-16: warning: useless associativity for UNARY [-Wother]
+input.y:50.7-9: warning: useless associativity for '$' [-Wother]
+input.y:51.7-9: warning: useless associativity for '(' [-Wother]
+input.y:51.11-13: warning: useless associativity for ')' [-Wother]]])[
 ]],
 
 dnl LAST-STATE
@@ -486,7 +525,7 @@ dnl   - 61 -> 328: reduce -> shift on '*', '/', and '%'
      $default  reduce using rule 45 (statement)
 +
 +
-+state 320
++State 320
 +
 +  139 non_post_simp_exp: . '!' simp_exp
 +  140                  | . '(' exp r_paren
@@ -524,7 +563,7 @@ dnl   - 61 -> 328: reduce -> shift on '*', '/', and '%'
 +    variable           go to state 63
 +
 +
-+state 321
++State 321
 +
 +  146 non_post_simp_exp: INCREMENT . variable
 +  154 variable: . NAME
@@ -537,7 +576,7 @@ dnl   - 61 -> 328: reduce -> shift on '*', '/', and '%'
 +    variable  go to state 50
 +
 +
-+state 322
++State 322
 +
 +  147 non_post_simp_exp: DECREMENT . variable
 +  154 variable: . NAME
@@ -550,7 +589,7 @@ dnl   - 61 -> 328: reduce -> shift on '*', '/', and '%'
 +    variable  go to state 51
 +
 +
-+state 323
++State 323
 +
 +  130 simp_exp: . non_post_simp_exp
 +  131         | . simp_exp '^' simp_exp
@@ -598,7 +637,7 @@ dnl   - 61 -> 328: reduce -> shift on '*', '/', and '%'
 +    variable           go to state 57
 +
 +
-+state 324
++State 324
 +
 +  130 simp_exp: . non_post_simp_exp
 +  131         | . simp_exp '^' simp_exp
@@ -646,7 +685,7 @@ dnl   - 61 -> 328: reduce -> shift on '*', '/', and '%'
 +    variable           go to state 57
 +
 +
-+state 325
++State 325
 +
 +  130 simp_exp: . non_post_simp_exp
 +  131         | . simp_exp '^' simp_exp
@@ -694,7 +733,7 @@ dnl   - 61 -> 328: reduce -> shift on '*', '/', and '%'
 +    variable           go to state 57
 +
 +
-+state 326
++State 326
 +
 +  131 simp_exp: simp_exp . '^' simp_exp
 +  132         | simp_exp . '*' simp_exp
@@ -715,7 +754,7 @@ dnl   - 61 -> 328: reduce -> shift on '*', '/', and '%'
 +    Conflict between rule 151 and token '-' resolved as reduce ('-' < UNARY).
 +
 +
-+state 327
++State 327
 +
 +  131 simp_exp: simp_exp . '^' simp_exp
 +  132         | simp_exp . '*' simp_exp
@@ -736,7 +775,7 @@ dnl   - 61 -> 328: reduce -> shift on '*', '/', and '%'
 +    Conflict between rule 150 and token '-' resolved as reduce ('-' < UNARY).
 +
 +
-+state 328
++State 328
 +
 +  131 simp_exp: simp_exp . '^' simp_exp
 +  132         | simp_exp . '*' simp_exp
@@ -1366,9 +1405,21 @@ dnl INPUT
 dnl BISON-STDERR
 [AT_COND_CASE([[canonical LR]],
 [[input.y: warning: 1876 shift/reduce conflicts [-Wconflicts-sr]
-input.y: warning: 144 reduce/reduce conflicts [-Wconflicts-rr]]],
+input.y: warning: 144 reduce/reduce conflicts [-Wconflicts-rr]
+input.y:32.9-12: warning: useless associativity for HQUA [-Wother]
+input.y:53.8-14: warning: useless associativity for HASSIGN [-Wother]
+input.y:54.9-15: warning: useless associativity for HORELSE [-Wother]
+input.y:55.9-16: warning: useless associativity for HANDTHEN [-Wother]
+input.y:61.9-12: warning: useless associativity for HNOT [-Wother]
+input.y:68.7-11: warning: useless associativity for UNEAR [-Wother]]],
 [[input.y: warning: 78 shift/reduce conflicts [-Wconflicts-sr]
-input.y: warning: 10 reduce/reduce conflicts [-Wconflicts-rr]]])[
+input.y: warning: 10 reduce/reduce conflicts [-Wconflicts-rr]
+input.y:32.9-12: warning: useless associativity for HQUA [-Wother]
+input.y:53.8-14: warning: useless associativity for HASSIGN [-Wother]
+input.y:54.9-15: warning: useless associativity for HORELSE [-Wother]
+input.y:55.9-16: warning: useless associativity for HANDTHEN [-Wother]
+input.y:61.9-12: warning: useless associativity for HNOT [-Wother]
+input.y:68.7-11: warning: useless associativity for UNEAR [-Wother]]])[
 ]],
 
 dnl LAST-STATE
@@ -1950,7 +2001,88 @@ dnl without being followed by "of".)
 [[VARIABLE, '=', LABEL, LEFT, DOT_X]],
 
 dnl BISON-STDERR
-[[input.y:470.11-48: warning: rule useless in parser due to conflicts: path: ORDINAL LAST object_type relative_path [-Wother]
+[[input.y:471.11-48: warning: rule useless in parser due to conflicts: path: ORDINAL LAST object_type relative_path [-Wother]
+input.y:19.8-12: warning: useless associativity for LABEL [-Wother]
+input.y:20.8-15: warning: useless associativity for VARIABLE [-Wother]
+input.y:21.8-13: warning: useless associativity for NUMBER [-Wother]
+input.y:22.8-11: warning: useless associativity for TEXT [-Wother]
+input.y:25.8-14: warning: useless associativity for ORDINAL [-Wother]
+input.y:30.8-11: warning: useless associativity for LAST [-Wother]
+input.y:31.8-9: warning: useless associativity for UP [-Wother]
+input.y:32.8-11: warning: useless associativity for DOWN [-Wother]
+input.y:35.8-10: warning: useless associativity for BOX [-Wother]
+input.y:36.8-13: warning: useless associativity for CIRCLE [-Wother]
+input.y:37.8-14: warning: useless associativity for ELLIPSE [-Wother]
+input.y:38.8-10: warning: useless associativity for ARC [-Wother]
+input.y:39.8-11: warning: useless associativity for LINE [-Wother]
+input.y:40.8-12: warning: useless associativity for ARROW [-Wother]
+input.y:42.8-13: warning: useless associativity for SPLINE [-Wother]
+input.y:43.8-13: warning: useless associativity for HEIGHT [-Wother]
+input.y:44.8-13: warning: useless associativity for RADIUS [-Wother]
+input.y:45.8-12: warning: useless associativity for WIDTH [-Wother]
+input.y:46.8-15: warning: useless associativity for DIAMETER [-Wother]
+input.y:47.8-11: warning: useless associativity for FROM [-Wother]
+input.y:48.8-9: warning: useless associativity for TO [-Wother]
+input.y:49.8-9: warning: useless associativity for AT [-Wother]
+input.y:53.8-12: warning: useless associativity for SOLID [-Wother]
+input.y:54.8-13: warning: useless associativity for DOTTED [-Wother]
+input.y:55.8-13: warning: useless associativity for DASHED [-Wother]
+input.y:56.8-11: warning: useless associativity for CHOP [-Wother]
+input.y:59.8-12: warning: useless associativity for LJUST [-Wother]
+input.y:60.8-12: warning: useless associativity for RJUST [-Wother]
+input.y:61.8-12: warning: useless associativity for ABOVE [-Wother]
+input.y:62.8-12: warning: useless associativity for BELOW [-Wother]
+input.y:63.8-9: warning: useless associativity for OF [-Wother]
+input.y:66.8-14: warning: useless associativity for BETWEEN [-Wother]
+input.y:67.8-10: warning: useless associativity for AND [-Wother]
+input.y:68.8-11: warning: useless associativity for HERE [-Wother]
+input.y:69.8-12: warning: useless associativity for DOT_N [-Wother]
+input.y:70.8-12: warning: useless associativity for DOT_E [-Wother]
+input.y:71.8-12: warning: useless associativity for DOT_W [-Wother]
+input.y:72.8-12: warning: useless associativity for DOT_S [-Wother]
+input.y:73.8-13: warning: useless associativity for DOT_NE [-Wother]
+input.y:74.8-13: warning: useless associativity for DOT_SE [-Wother]
+input.y:75.8-13: warning: useless associativity for DOT_NW [-Wother]
+input.y:76.8-13: warning: useless associativity for DOT_SW [-Wother]
+input.y:77.8-12: warning: useless associativity for DOT_C [-Wother]
+input.y:78.8-16: warning: useless associativity for DOT_START [-Wother]
+input.y:79.8-14: warning: useless associativity for DOT_END [-Wother]
+input.y:85.8-10: warning: useless associativity for SIN [-Wother]
+input.y:86.8-10: warning: useless associativity for COS [-Wother]
+input.y:87.8-12: warning: useless associativity for ATAN2 [-Wother]
+input.y:88.8-10: warning: useless associativity for LOG [-Wother]
+input.y:89.8-10: warning: useless associativity for EXP [-Wother]
+input.y:90.8-11: warning: useless associativity for SQRT [-Wother]
+input.y:91.8-12: warning: useless associativity for K_MAX [-Wother]
+input.y:92.8-12: warning: useless associativity for K_MIN [-Wother]
+input.y:93.8-10: warning: useless associativity for INT [-Wother]
+input.y:94.8-11: warning: useless associativity for RAND [-Wother]
+input.y:95.8-12: warning: useless associativity for SRAND [-Wother]
+input.y:98.8-10: warning: useless associativity for TOP [-Wother]
+input.y:99.8-13: warning: useless associativity for BOTTOM [-Wother]
+input.y:100.8-12: warning: useless associativity for UPPER [-Wother]
+input.y:101.8-12: warning: useless associativity for LOWER [-Wother]
+input.y:116.8-18: warning: useless associativity for LEFT_CORNER [-Wother]
+input.y:117.8-19: warning: useless associativity for RIGHT_CORNER [-Wother]
+input.y:118.8-12: warning: useless associativity for NORTH [-Wother]
+input.y:119.8-12: warning: useless associativity for SOUTH [-Wother]
+input.y:120.8-11: warning: useless associativity for EAST [-Wother]
+input.y:121.8-11: warning: useless associativity for WEST [-Wother]
+input.y:122.8-13: warning: useless associativity for CENTER [-Wother]
+input.y:123.8-10: warning: useless associativity for END [-Wother]
+input.y:124.8-12: warning: useless associativity for START [-Wother]
+input.y:127.8-11: warning: useless associativity for PLOT [-Wother]
+input.y:128.8-16: warning: useless associativity for THICKNESS [-Wother]
+input.y:129.8-11: warning: useless associativity for FILL [-Wother]
+input.y:130.8-14: warning: useless associativity for COLORED [-Wother]
+input.y:131.8-15: warning: useless associativity for OUTLINED [-Wother]
+input.y:134.8-14: warning: useless associativity for SPRINTF [-Wother]
+input.y:137.7-9: warning: useless associativity for '.' [-Wother]
+input.y:156.23-25: warning: useless associativity for '(' [-Wother]
+input.y:157.20-22: warning: useless associativity for '`' [-Wother]
+input.y:159.48-50: warning: useless associativity for '@<:@' [-Wother]
+input.y:170.7-9: warning: useless associativity for ',' [-Wother]
+input.y:181.8-10: warning: useless associativity for '!' [-Wother]
 ]],
 
 dnl LAST-STATE
@@ -2039,7 +2171,7 @@ dnl   - 383 -> 427
      nth_primitive          go to state 105
 @@ -3256,7 +3256,7 @@
 
state 102
State 102
 
 -  146 place: label .  [$end, LABEL, VARIABLE, NUMBER, TEXT, ORDINAL, LEFT_ARROW_HEAD, RIGHT_ARROW_HEAD, DOUBLE_ARROW_HEAD, LAST, UP, DOWN, LEFT, RIGHT, HEIGHT, RADIUS, WIDTH, DIAMETER, FROM, TO, AT, WITH, BY, THEN, SOLID, DOTTED, DASHED, CHOP, SAME, INVISIBLE, LJUST, RJUST, ABOVE, BELOW, AND, HERE, DOT_X, DOT_Y, DOT_HT, DOT_WID, DOT_RAD, SIN, COS, ATAN2, LOG, EXP, SQRT, K_MAX, K_MIN, INT, RAND, SRAND, CW, CCW, THICKNESS, FILL, COLORED, OUTLINED, SHADED, ALIGNED, SPRINTF, '(', '`', ',', '>', '+', '-', '!', ';', '}', '@:>@', ')']
 +  146 place: label .  [$end, LABEL, VARIABLE, NUMBER, TEXT, ORDINAL, LEFT_ARROW_HEAD, RIGHT_ARROW_HEAD, DOUBLE_ARROW_HEAD, LAST, UP, DOWN, LEFT, RIGHT, HEIGHT, RADIUS, WIDTH, DIAMETER, FROM, TO, AT, WITH, BY, THEN, SOLID, DOTTED, DASHED, CHOP, SAME, INVISIBLE, LJUST, RJUST, ABOVE, BELOW, HERE, DOT_X, DOT_Y, DOT_HT, DOT_WID, DOT_RAD, SIN, COS, ATAN2, LOG, EXP, SQRT, K_MAX, K_MIN, INT, RAND, SRAND, CW, CCW, THICKNESS, FILL, COLORED, OUTLINED, SHADED, ALIGNED, SPRINTF, '(', '`', '+', '-', '!', ';', '}', '@:>@']
@@ -2204,7 +2336,7 @@ dnl   - 383 -> 427
 +    expr                   go to state 424
 
 
state 165
State 165
 @@ -7987,7 +7987,7 @@
      text_expr              go to state 112
      text                   go to state 113
@@ -2321,7 +2453,7 @@ dnl   - 383 -> 427
 +    between  go to state 425
 
 
state 193
State 193
 @@ -10152,7 +10152,7 @@
 
      expr_pair              go to state 317
@@ -2489,7 +2621,7 @@ dnl   - 383 -> 427
 +    expr                   go to state 424
 
 
state 238
State 238
 @@ -12937,7 +12937,7 @@
      '!'           shift, and go to state 94
 
@@ -2576,7 +2708,7 @@ dnl   - 383 -> 427
 +    expr                   go to state 424
 
 
state 315
State 315
 @@ -16124,7 +16124,7 @@
 
      $default  reduce using rule 239 (expr)
@@ -2627,7 +2759,7 @@ dnl   - 383 -> 427
 +    expr                   go to state 424
 
 
state 383
State 383
 @@ -18071,7 +18071,7 @@
      '!'           shift, and go to state 94
 
@@ -2670,7 +2802,7 @@ dnl   - 383 -> 427
      $default  reduce using rule 29 (placeless_element)
 +
 +
-+state 423
++State 423
 +
 +  146 place: label .  [$end, AND, DOT_X, DOT_Y, DOT_HT, DOT_WID, DOT_RAD, ',', '>', '+', '-', ';', '}', '@:>@', ')']
 +  147      | label . corner
@@ -2741,7 +2873,7 @@ dnl   - 383 -> 427
 +    corner  go to state 205
 +
 +
-+state 424
++State 424
 +
 +  140 position_not_place: expr . between position AND position
 +  141                   | expr . '<' position ',' position '>'
@@ -2784,7 +2916,7 @@ dnl   - 383 -> 427
 +    between  go to state 425
 +
 +
-+state 425
++State 425
 +
 +  134 position: . position_not_place
 +  135         | . place
@@ -2940,7 +3072,7 @@ dnl   - 383 -> 427
 +    expr                   go to state 424
 +
 +
-+state 426
++State 426
 +
 +  137 position_not_place: position . '+' expr_pair
 +  138                   | position . '-' expr_pair
@@ -2951,7 +3083,7 @@ dnl   - 383 -> 427
 +    '-'  shift, and go to state 198
 +
 +
-+state 427
++State 427
 +
 +  134 position: . position_not_place
 +  135         | . place