]> git.saurik.com Git - bison.git/blobdiff - tests/sets.at
examples: improve the output of the "variant" example
[bison.git] / tests / sets.at
index 941d0cc257a42d7c0f30e2d705995019e1905c63..fadbe6871210bdb0002e56a7838d273592230d17 100644 (file)
@@ -1,20 +1,20 @@
 # Exercising Bison Grammar Sets.                      -*- Autotest -*-
-# Copyright (C) 2001, 2002, 2005 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
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
+# Copyright (C) 2001-2002, 2005, 2007, 2009-2013 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
+# 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.
-
+#
 # 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_EXTRACT_SETS(INPUT, OUTPUT)
@@ -29,25 +29,25 @@ m4_define([AT_EXTRACT_SETS],
    :null
    p
    n
-   /^[  ]*$/ !b null
+   /^ *$/ !b null
 }
 /^FIRSTS$/ {
    :firsts
    p
    n
-   /^[  ]*$/ !b firsts
+   /^ *$/ !b firsts
 }
 /^FDERIVES$/ {
    :fderiv
    p
    n
-   /^[  ]*$/ !b fderiv
+   /^ *$/ !b fderiv
 }
 /^DERIVES$/ {
    :deriv
    p
    n
-   /^[  ]*$/ !b deriv
+   /^ *$/ !b deriv
 }
 ]])
 AT_CHECK([sed -f extract.sed $1], 0, [stdout])
@@ -78,32 +78,32 @@ AT_DATA([[input.y]],
 e: 'e' | /* Nothing */;
 ]])
 
-AT_CHECK([[bison --trace=sets input.y]], [], [], [stderr])
+AT_BISON_CHECK([[--trace=sets input.y]], [], [], [stderr])
 AT_EXTRACT_SETS([stderr], [sets])
 AT_CHECK([[cat sets]], [],
 [[DERIVES
-       $accept derives
-                 0  e $end
-       e derives
-                 1  'e'
-                 2  /* empty */
+  $accept derives
+      0  e $end
+  e derives
+      1  'e'
+      2  %empty
 NULLABLE
-       $accept: no
-       e: yes
+  $accept: no
+  e: yes
 FIRSTS
-       $accept firsts
-               $accept
-               e
-       e firsts
-               e
+  $accept firsts
+    $accept
+    e
+  e firsts
+    e
 FDERIVES
-       $accept derives
-                 0  e $end
-                 1  'e'
-                 2  /* empty */
-       e derives
-                 1  'e'
-                 2  /* empty */
+  $accept derives
+      0  e $end
+      1  'e'
+      2  %empty
+  e derives
+      1  'e'
+      2  %empty
 ]])
 
 AT_CLEANUP
@@ -113,7 +113,7 @@ AT_CLEANUP
 ## Broken Closure.  ##
 ## ---------------- ##
 
-# TC was once broken during a massive `simplification' of the code.
+# TC was once broken during a massive 'simplification' of the code.
 # It resulted in bison dumping core on the following grammar (the
 # computation of FIRSTS uses TC).  It managed to produce a pretty
 # exotic closure:
@@ -162,9 +162,9 @@ g: h;
 h: 'h';
 ]])
 
-AT_CHECK([[bison --trace=sets input.y]], [], [], [stderr])
+AT_BISON_CHECK([[--trace=sets input.y]], [], [], [stderr])
 
-AT_CHECK([[sed -n 's/[  ]*$//;/^RTC: Firsts Output BEGIN/,/^RTC: Firsts Output END/p' stderr]], [],
+AT_CHECK([[sed -n 's/[   ]*$//;/^RTC: Firsts Output BEGIN/,/^RTC: Firsts Output END/p' stderr]], [],
 [[RTC: Firsts Output BEGIN
 
    012345678
@@ -196,7 +196,6 @@ AT_DATA([input.y],
 [[%nonassoc '<' '>'
 %left '+' '-'
 %right '^' '='
-%token EXP "exp"
 %%
 exp:
    exp '<' exp
@@ -209,47 +208,47 @@ exp:
  ;
 ]])
 
-AT_CHECK([[bison --trace=sets input.y]], [], [], [stderr])
+AT_BISON_CHECK([[--trace=sets input.y]], [], [], [stderr])
 AT_EXTRACT_SETS([stderr], [sets])
 AT_CHECK([[cat sets]], [],
 [[DERIVES
-       $accept derives
-                 0  exp $end
-       exp derives
-                 1  exp '<' exp
-                 2  exp '>' exp
-                 3  exp '+' exp
-                 4  exp '-' exp
-                 5  exp '^' exp
-                 6  exp '=' exp
-                 7  "exp"
+  $accept derives
+      0  exp $end
+  exp derives
+      1  exp '<' exp
+      2  exp '>' exp
+      3  exp '+' exp
+      4  exp '-' exp
+      5  exp '^' exp
+      6  exp '=' exp
+      7  "exp"
 NULLABLE
-       $accept: no
-       exp: no
+  $accept: no
+  exp: no
 FIRSTS
-       $accept firsts
-               $accept
-               exp
-       exp firsts
-               exp
+  $accept firsts
+    $accept
+    exp
+  exp firsts
+    exp
 FDERIVES
-       $accept derives
-                 0  exp $end
-                 1  exp '<' exp
-                 2  exp '>' exp
-                 3  exp '+' exp
-                 4  exp '-' exp
-                 5  exp '^' exp
-                 6  exp '=' exp
-                 7  "exp"
-       exp derives
-                 1  exp '<' exp
-                 2  exp '>' exp
-                 3  exp '+' exp
-                 4  exp '-' exp
-                 5  exp '^' exp
-                 6  exp '=' exp
-                 7  "exp"
+  $accept derives
+      0  exp $end
+      1  exp '<' exp
+      2  exp '>' exp
+      3  exp '+' exp
+      4  exp '-' exp
+      5  exp '^' exp
+      6  exp '=' exp
+      7  "exp"
+  exp derives
+      1  exp '<' exp
+      2  exp '>' exp
+      3  exp '+' exp
+      4  exp '-' exp
+      5  exp '^' exp
+      6  exp '=' exp
+      7  "exp"
 ]])
 
 AT_CLEANUP
@@ -264,7 +263,7 @@ AT_CLEANUP
 # In some weird cases Bison could compute an incorrect final state
 # number.  This happens only if the $end token is used in the user
 # grammar, which is a very suspicious accidental feature introduced as
-# a side effect of allowing the user to name $end using `%token END 0
+# a side effect of allowing the user to name $end using '%token END 0
 # "end of file"'.
 
 AT_SETUP([Accept])
@@ -279,7 +278,7 @@ input:
 ;
 ]])
 
-AT_CHECK([[bison -v -o input.c input.y]])
+AT_BISON_CHECK([[-v -o input.c input.y]])
 
 # Get the final state in the parser.
 AT_CHECK([[sed -n 's/.*define YYFINAL *\([0-9][0-9]*\)/final state \1/p' input.c]],
@@ -288,16 +287,16 @@ mv stdout expout
 
 # Get the final state in the report, from the "accept" action..
 AT_CHECK([sed -n '
-           /^state \(.*\)/{
-            s//final state \1/
-            x
-          }
-          / accept/{
-            x
-            p
-            q
-          }
-       ' input.output],
-       0, [expout])
+           /^State \(.*\)/{
+             s//final state \1/
+             x
+           }
+           / accept/{
+             x
+             p
+             q
+           }
+        ' input.output],
+        0, [expout])
 
 AT_CLEANUP