X-Git-Url: https://git.saurik.com/bison.git/blobdiff_plain/3a414bbfa049a2f6e0f497a230bd86fe96a87884..a1d1ab50a00a4d28d6ba7b227ddc6628d5734ce3:/tests/existing.at?ds=sidebyside diff --git a/tests/existing.at b/tests/existing.at index 5a897324..149499d4 100644 --- a/tests/existing.at +++ b/tests/existing.at @@ -1,7 +1,7 @@ # Exercising Bison on actual grammars. -*- Autotest -*- -# Copyright (C) 1989, 1990, 1991, 1992, 2000, 2001, 2002, 2003, 2004, -# 2005, 2007, 2009 Free Software Foundation, Inc. +# Copyright (C) 1989-1992, 2000-2005, 2007, 2009-2012 Free Software +# Foundation, Inc. # 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 @@ -35,25 +35,28 @@ 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/^ $//']], [[0]], [$1])]) AT_TEST_TABLES_AND_PARSE([$2[: LALR(1)]], [[LALR]], [[last-state]], - [[%define lr.type "lalr" + [[%define lr.type lalr ]$3], [$4], [$5], [$6], [$7], [AT_LALR1_DIFF_CHECK([$8])$9], [$10], [$11], [$12]) AT_TEST_TABLES_AND_PARSE([$2[: IELR(1)]], [[IELR]], [[last-state]], - [[%define lr.type "ielr" + [[%define lr.type ielr ]$3], [$4], [$5], [$6], [$7], [AT_LALR1_DIFF_CHECK([$8])$9], [$10], [$11], [$12]) AT_TEST_TABLES_AND_PARSE([$2[: Canonical LR(1)]], [[canonical LR]], [[last-state,no-xml]], - [[%define lr.type "canonical-lr" + [[%define lr.type canonical-lr ]$3], [$4], [$5], [$6], [$7], [$9], [$10], [$11], [$12]) @@ -778,8 +781,7 @@ dnl In the case of the syntax error, the parser recovers, so it returns 0. # It reported 80 SR && 99 RR conflicts instead of 78/10!!! AT_TEST_EXISTING_GRAMMAR([[GNU Cim Grammar]], -[[%union {} - +[[ %token HACTIVATE HAFTER /*HAND*/ HARRAY HAT HBEFORE HBEGIN HBOOLEAN @@ -1400,7 +1402,6 @@ State 427 conflicts: 9 shift/reduce, 2 reduce/reduce AT_TEST_EXISTING_GRAMMAR([[GNU pic (Groff 1.18.1) Grammar]], [[%error-verbose -%union {} %token LABEL %token VARIABLE @@ -1480,7 +1481,7 @@ AT_TEST_EXISTING_GRAMMAR([[GNU pic (Groff 1.18.1) Grammar]], %token RAND %token SRAND %token COPY -%token THRU +%token THROUGH %token TOP %token BOTTOM %token UPPER @@ -1606,12 +1607,12 @@ placeless_element: {} DELIMITED | COPY TEXT - | COPY TEXT THRU + | COPY TEXT THROUGH {} DELIMITED {} until - | COPY THRU + | COPY THROUGH {} DELIMITED {} @@ -1950,7 +1951,7 @@ dnl without being followed by "of".) [[VARIABLE, '=', LABEL, LEFT, DOT_X]], dnl BISON-STDERR -[[input.y:471.11-48: warning: rule useless in parser due to conflicts: path: ORDINAL LAST object_type relative_path +[[input.y:470.11-48: warning: rule useless in parser due to conflicts: path: ORDINAL LAST object_type relative_path ]], dnl LAST-STATE