X-Git-Url: https://git.saurik.com/bison.git/blobdiff_plain/318b76e9134a2ba8e8aeca777acbf714807c60df..fcbfa6b01c0222b01254730c66d539ed2c841a4e:/tests/sets.at diff --git a/tests/sets.at b/tests/sets.at index 872cd872..373271dc 100644 --- a/tests/sets.at +++ b/tests/sets.at @@ -1,5 +1,5 @@ # Exercising Bison Grammar Sets. -*- Autotest -*- -# Copyright 2001, 2002 Free Software Foundation, Inc. +# Copyright (C) 2001, 2002 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 @@ -16,6 +16,7 @@ # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA # 02111-1307, USA. + # AT_EXTRACT_SETS(INPUT, OUTPUT) # ------------------------------ # Extract the information about the grammar sets from a bison @@ -25,28 +26,28 @@ m4_define([AT_EXTRACT_SETS], [AT_DATA([extract.sed], [[#n /^NULLABLE$/ { - :nullable + :null p n - /^[ ]*$/! b nullable + /^[ ]*$/ !b null } /^FIRSTS$/ { :firsts p n - /^[ ]*$/! b firsts + /^[ ]*$/ !b firsts } /^FDERIVES$/ { - :fderives + :fderiv p n - /^[ ]*$/! b fderives + /^[ ]*$/ !b fderiv } /^DERIVES$/ { - :derives + :deriv p n - /^[ ]*$/! b derives + /^[ ]*$/ !b deriv } ]]) AT_CHECK([sed -f extract.sed $1], 0, [stdout]) @@ -77,32 +78,32 @@ AT_DATA([[input.y]], e: 'e' | /* Nothing */; ]]) -AT_CHECK([[bison --trace input.y]], [], [], [stderr]) +AT_CHECK([[bison --trace=sets input.y]], [], [], [stderr]) AT_EXTRACT_SETS([stderr], [sets]) AT_CHECK([[cat sets]], [], [[DERIVES - $axiom derives - 1: e $ (rule 0) + $accept derives + 0 e $end e derives - 2: 'e' (rule 1) - 3: (rule 2) + 1 'e' + 2 /* empty */ NULLABLE - $axiom: no + $accept: no e: yes FIRSTS - $axiom firsts - 4 ($axiom) - 5 (e) + $accept firsts + $accept + e e firsts - 5 (e) + e FDERIVES - $axiom derives - 0: e $ - 1: 'e' - 2: + $accept derives + 0 e $end + 1 'e' + 2 /* empty */ e derives - 1: 'e' - 2: + 1 'e' + 2 /* empty */ ]]) AT_CLEANUP @@ -151,34 +152,34 @@ AT_SETUP([Broken Closure]) AT_DATA([input.y], [[%% -a: b -b: c -c: d -d: e -e: f -f: g -g: h -h: 'h' +a: b; +b: c; +c: d; +d: e; +e: f; +f: g; +g: h; +h: 'h'; ]]) -AT_CHECK([[bison --trace input.y]], [], [], [stderr]) +AT_CHECK([[bison --trace=sets input.y]], [], [], [stderr]) -AT_CHECK([[sed -n 's/[ ]*$//;/^TC: Output BEGIN/,/^TC: Output END/p' stderr]], [], -[[TC: Output BEGIN +AT_CHECK([[sed -n 's/[ ]*$//;/^RTC: Firsts Output BEGIN/,/^RTC: Firsts Output END/p' stderr]], [], +[[RTC: Firsts Output BEGIN 012345678 .---------. - 0| 11111111| - 1| 1111111| - 2| 111111| - 3| 11111| - 4| 1111| - 5| 111| - 6| 11| - 7| 1| - 8| | + 0|111111111| + 1| 11111111| + 2| 1111111| + 3| 111111| + 4| 11111| + 5| 1111| + 6| 111| + 7| 11| + 8| 1| `---------' -TC: Output END +RTC: Firsts Output END ]]) AT_CLEANUP @@ -207,47 +208,47 @@ exp: ; ]]) -AT_CHECK([[bison --trace input.y]], [], [], [stderr]) +AT_CHECK([[bison --trace=sets input.y]], [], [], [stderr]) AT_EXTRACT_SETS([stderr], [sets]) AT_CHECK([[cat sets]], [], [[DERIVES - $axiom derives - 1: exp $ (rule 0) + $accept derives + 0 exp $end exp derives - 2: exp '<' exp (rule 1) - 3: exp '>' exp (rule 2) - 4: exp '+' exp (rule 3) - 5: exp '-' exp (rule 4) - 6: exp '^' exp (rule 5) - 7: exp '=' exp (rule 6) - 8: "exp" (rule 7) + 1 exp '<' exp + 2 exp '>' exp + 3 exp '+' exp + 4 exp '-' exp + 5 exp '^' exp + 6 exp '=' exp + 7 "exp" NULLABLE - $axiom: no + $accept: no exp: no FIRSTS - $axiom firsts - 10 ($axiom) - 11 (exp) + $accept firsts + $accept + exp exp firsts - 11 (exp) + exp FDERIVES - $axiom derives - 0: exp $ - 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" + 1 exp '<' exp + 2 exp '>' exp + 3 exp '+' exp + 4 exp '-' exp + 5 exp '^' exp + 6 exp '=' exp + 7 "exp" ]]) AT_CLEANUP