From 812775a0391e122eff1983afea2da96c600c7307 Mon Sep 17 00:00:00 2001 From: "Joel E. Denny" Date: Thu, 30 Apr 2009 01:04:33 -0400 Subject: [PATCH 1/1] Convert underscores to dashes in some %define variable names. For now, just api.push-pull and lr.keep-unreachable-states. Maintain old names for backward compatibility. * NEWS (2.5): Document. * data/c.m4 (b4_identification): Update comment. * data/yacc.c: Update access. * doc/bison.texinfo: Update. * etc/bench.pl.in (bench_grammar): Update use. * src/files.c (tr): Move to... * src/getargs.c, src/getargs.h (tr): ... here because I can't think of a better place to expose it. My logic is that, for all uses of tr so far, command-line arguments can be involved, and getargs.h is already included. * src/main.c (main): Update access. * src/muscle_tab.c (muscle_percent_define_insert): Convert old variable names to new variable names before assigning value. * src/reader.c (reader): Update setting default. * tests/calc.at: Update uses. * tests/conflicts.at (Unreachable States After Conflict Resolution): Update use. * tests/input.at (%define enum variables): Update use. (%define backward compatibility): New test group. * tests/push.at: Update uses. * tests/reduce.at: Update uses. * tests/torture.at: Update uses. --- ChangeLog | 28 ++++++++++++++++++++++++++++ NEWS | 15 +++++++++++++++ data/c.m4 | 4 ++-- data/yacc.c | 8 ++++---- doc/bison.texinfo | 42 +++++++++++++++++++++--------------------- etc/bench.pl.in | 6 +++--- src/files.c | 11 +---------- src/getargs.c | 8 ++++++++ src/getargs.h | 3 +++ src/main.c | 2 +- src/muscle_tab.c | 12 ++++++++++++ src/parse-gram.c | 4 ++-- src/parse-gram.h | 2 +- src/reader.c | 2 +- tests/calc.at | 8 ++++---- tests/conflicts.at | 5 +++-- tests/input.at | 43 ++++++++++++++++++++++++++++++++++++++++++- tests/push.at | 10 +++++----- tests/reduce.at | 8 ++++---- tests/torture.at | 8 ++++---- 20 files changed, 164 insertions(+), 65 deletions(-) diff --git a/ChangeLog b/ChangeLog index 9551184b..8a782624 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,31 @@ +2009-04-30 Joel E. Denny + + Convert underscores to dashes in some %define variable names. + For now, just api.push-pull and lr.keep-unreachable-states. + Maintain old names for backward compatibility. + * NEWS (2.5): Document. + * data/c.m4 (b4_identification): Update comment. + * data/yacc.c: Update access. + * doc/bison.texinfo: Update. + * etc/bench.pl.in (bench_grammar): Update use. + * src/files.c (tr): Move to... + * src/getargs.c, src/getargs.h (tr): ... here because I can't + think of a better place to expose it. My logic is that, for all + uses of tr so far, command-line arguments can be involved, and + getargs.h is already included. + * src/main.c (main): Update access. + * src/muscle_tab.c (muscle_percent_define_insert): Convert old + variable names to new variable names before assigning value. + * src/reader.c (reader): Update setting default. + * tests/calc.at: Update uses. + * tests/conflicts.at (Unreachable States After Conflict + Resolution): Update use. + * tests/input.at (%define enum variables): Update use. + (%define backward compatibility): New test group. + * tests/push.at: Update uses. + * tests/reduce.at: Update uses. + * tests/torture.at: Update uses. + 2009-04-30 Joel E. Denny Set all front-end %define defaults in one place. diff --git a/NEWS b/NEWS index 80b49da6..edb16109 100644 --- a/NEWS +++ b/NEWS @@ -47,6 +47,21 @@ Bison News for any NAME and VALUE. Omitting `=VALUE' on the command line is equivalent to omitting `"VALUE"' in the declaration. +** %define variables renamed. + + The following %define variables + + api.push_pull + lr.keep_unreachable_states + + have been renamed to + + api.push-pull + lr.keep-unreachable-states + + The old names are now deprecated but will be maintained indefinitely + for backward compatibility. + ** Temporary hack for adding a semicolon to the user action. Previously, Bison appended a semicolon to every user action for diff --git a/data/c.m4 b/data/c.m4 index 1fe4bc56..39b6e58e 100644 --- a/data/c.m4 +++ b/data/c.m4 @@ -1,7 +1,7 @@ -*- Autoconf -*- # C M4 Macros for Bison. -# Copyright (C) 2002, 2004, 2005, 2006, 2007, 2008 Free Software +# Copyright (C) 2002, 2004, 2005, 2006, 2007, 2008, 2009 Free Software # Foundation, Inc. # This program is free software: you can redistribute it and/or modify @@ -31,7 +31,7 @@ m4_define([b4_comment], [/* m4_bpatsubst([$1], [ # ----------------- # Depends on individual skeletons to define b4_pure_flag, b4_push_flag, or # b4_pull_flag if they use the values of the %define variables api.pure or -# api.push_pull. +# api.push-pull. m4_define([b4_identification], [[/* Identify Bison output. */ #define YYBISON 1 diff --git a/data/yacc.c b/data/yacc.c index 3c7c602f..76a1baa4 100644 --- a/data/yacc.c +++ b/data/yacc.c @@ -18,13 +18,13 @@ # You should have received a copy of the GNU General Public License # along with this program. If not, see . -# Check the value of %define api.push_pull. -b4_percent_define_default([[api.push_pull]], [[pull]]) -b4_percent_define_check_values([[[[api.push_pull]], +# Check the value of %define api.push-pull. +b4_percent_define_default([[api.push-pull]], [[pull]]) +b4_percent_define_check_values([[[[api.push-pull]], [[pull]], [[push]], [[both]]]]) b4_define_flag_if([pull]) m4_define([b4_pull_flag], [[1]]) b4_define_flag_if([push]) m4_define([b4_push_flag], [[1]]) -m4_case(b4_percent_define_get([[api.push_pull]]), +m4_case(b4_percent_define_get([[api.push-pull]]), [pull], [m4_define([b4_push_flag], [[0]])], [push], [m4_define([b4_pull_flag], [[0]])]) diff --git a/doc/bison.texinfo b/doc/bison.texinfo index a81f9cf8..99cd38ff 100644 --- a/doc/bison.texinfo +++ b/doc/bison.texinfo @@ -4561,7 +4561,7 @@ valid grammar. @subsection A Push Parser @cindex push parser @cindex push parser -@findex %define api.push_pull +@findex %define api.push-pull (The current push parsing interface is experimental and may evolve. More user feedback will help to stabilize it.) @@ -4577,10 +4577,10 @@ within a certain time period. Normally, Bison generates a pull parser. The following Bison declaration says that you want the parser to be a push -parser (@pxref{Decl Summary,,%define api.push_pull}): +parser (@pxref{Decl Summary,,%define api.push-pull}): @example -%define api.push_pull "push" +%define api.push-pull "push" @end example In almost all cases, you want to ensure that your push parser is also @@ -4591,7 +4591,7 @@ what you are doing, your declarations should look like this: @example %define api.pure -%define api.push_pull "push" +%define api.push-pull "push" @end example There is a major notable functional difference between the pure push parser @@ -4640,14 +4640,14 @@ for use by the next invocation of the @code{yypush_parse} function. Bison also supports both the push parser interface along with the pull parser interface in the same generated parser. In order to get this functionality, -you should replace the @code{%define api.push_pull "push"} declaration with the -@code{%define api.push_pull "both"} declaration. Doing this will create all of +you should replace the @code{%define api.push-pull "push"} declaration with the +@code{%define api.push-pull "both"} declaration. Doing this will create all of the symbols mentioned earlier along with the two extra symbols, @code{yyparse} and @code{yypull_parse}. @code{yyparse} can be used exactly as it normally would be used. However, the user should note that it is implemented in the generated parser by calling @code{yypull_parse}. This makes the @code{yyparse} function that is generated with the -@code{%define api.push_pull "both"} declaration slower than the normal +@code{%define api.push-pull "both"} declaration slower than the normal @code{yyparse} function. If the user calls the @code{yypull_parse} function it will parse the rest of the input stream. It is possible to @code{yypush_parse} tokens to select a subgrammar @@ -4664,8 +4664,8 @@ yypstate_delete (ps); @end example Adding the @code{%define api.pure} declaration does exactly the same thing to -the generated parser with @code{%define api.push_pull "both"} as it did for -@code{%define api.push_pull "push"}. +the generated parser with @code{%define api.push-pull "both"} as it did for +@code{%define api.push-pull "push"}. @node Decl Summary @subsection Bison Declaration Summary @@ -4887,8 +4887,8 @@ Some of the accepted @var{variable}s are: @item Default Value: @code{"false"} @end itemize -@item api.push_pull -@findex %define api.push_pull +@item api.push-pull +@findex %define api.push-pull @itemize @bullet @item Language(s): C (deterministic parsers only) @@ -4968,8 +4968,8 @@ without performing any extra reductions. @end itemize @end itemize -@item lr.keep_unreachable_states -@findex %define lr.keep_unreachable_states +@item lr.keep-unreachable-states +@findex %define lr.keep-unreachable-states @itemize @bullet @item Language(s): all @@ -5467,8 +5467,8 @@ exp: @dots{} @{ @dots{}; *randomness += 1; @dots{} @} More user feedback will help to stabilize it.) You call the function @code{yypush_parse} to parse a single token. This -function is available if either the @code{%define api.push_pull "push"} or -@code{%define api.push_pull "both"} declaration is used. +function is available if either the @code{%define api.push-pull "push"} or +@code{%define api.push-pull "both"} declaration is used. @xref{Push Decl, ,A Push Parser}. @deftypefun int yypush_parse (yypstate *yyps) @@ -5485,7 +5485,7 @@ is required to finish parsing the grammar. More user feedback will help to stabilize it.) You call the function @code{yypull_parse} to parse the rest of the input -stream. This function is available if the @code{%define api.push_pull "both"} +stream. This function is available if the @code{%define api.push-pull "both"} declaration is used. @xref{Push Decl, ,A Push Parser}. @@ -5501,8 +5501,8 @@ The value returned by @code{yypull_parse} is the same as for @code{yyparse}. More user feedback will help to stabilize it.) You call the function @code{yypstate_new} to create a new parser instance. -This function is available if either the @code{%define api.push_pull "push"} or -@code{%define api.push_pull "both"} declaration is used. +This function is available if either the @code{%define api.push-pull "push"} or +@code{%define api.push-pull "both"} declaration is used. @xref{Push Decl, ,A Push Parser}. @deftypefun yypstate *yypstate_new (void) @@ -5520,8 +5520,8 @@ allocated. More user feedback will help to stabilize it.) You call the function @code{yypstate_delete} to delete a parser instance. -function is available if either the @code{%define api.push_pull "push"} or -@code{%define api.push_pull "both"} declaration is used. +function is available if either the @code{%define api.push-pull "push"} or +@code{%define api.push-pull "both"} declaration is used. @xref{Push Decl, ,A Push Parser}. @deftypefun void yypstate_delete (yypstate *yyps) @@ -8929,7 +8929,7 @@ and @code{%define api.pure} directives does not do anything when used in Java. Push parsers are currently unsupported in Java and @code{%define -api.push_pull} have no effect. +api.push-pull} have no effect. @acronym{GLR} parsers are currently unsupported in Java. Do not use the @code{glr-parser} directive. diff --git a/etc/bench.pl.in b/etc/bench.pl.in index ca433493..f36691fe 100755 --- a/etc/bench.pl.in +++ b/etc/bench.pl.in @@ -1,6 +1,6 @@ #! /usr/bin/perl -w -# Copyright (C) 2006, 2008 Free Software Foundation, Inc. +# Copyright (C) 2006, 2008, 2009 Free Software Foundation, Inc. # # This file is part of Bison, the GNU Compiler Compiler. # @@ -343,8 +343,8 @@ sub bench_grammar ($) ( "pull-impure" => '', "pull-pure" => '%define api.pure', - "push-impure" => '%define api.push_pull "both"', - "push-pure" => '%define api.push_pull "both" %define api.pure', + "push-impure" => '%define api.push-pull "both"', + "push-pure" => '%define api.push-pull "both" %define api.pure', ); my %bench; diff --git a/src/files.c b/src/files.c index 07f761b4..41e2453b 100644 --- a/src/files.c +++ b/src/files.c @@ -1,7 +1,7 @@ /* Open and close files for Bison. Copyright (C) 1984, 1986, 1989, 1992, 2000, 2001, 2002, 2003, 2004, - 2005, 2006, 2007, 2008 Free Software Foundation, Inc. + 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc. This file is part of Bison, the GNU Compiler Compiler. @@ -136,15 +136,6 @@ xfclose (FILE *ptr) | Compute ALL_BUT_EXT, ALL_BUT_TAB_EXT and output files extensions. | `------------------------------------------------------------------*/ -/* In the string S, replace all characters FROM by TO. */ -static void -tr (char *s, char from, char to) -{ - for (; *s; s++) - if (*s == from) - *s = to; -} - /* Compute extensions from the grammar file extension. */ static void compute_exts_from_gf (const char *ext) diff --git a/src/getargs.c b/src/getargs.c index 2f2e9005..962dad4d 100644 --- a/src/getargs.c +++ b/src/getargs.c @@ -663,3 +663,11 @@ getargs (int argc, char *argv[]) current_file = grammar_file = uniqstr_new (argv[optind]); MUSCLE_INSERT_C_STRING ("file_name", grammar_file); } + +void +tr (char *s, char from, char to) +{ + for (; *s; s++) + if (*s == from) + *s = to; +} diff --git a/src/getargs.h b/src/getargs.h index d9d95202..b3a2a9b2 100644 --- a/src/getargs.h +++ b/src/getargs.h @@ -140,4 +140,7 @@ void getargs (int argc, char *argv[]); void language_argmatch (char const *arg, int prio, location loc); void skeleton_arg (const char *arg, int prio, location loc); +/** In the string \c s, replace all characters \c from by \c to. */ +void tr (char *s, char from, char to); + #endif /* !GETARGS_H_ */ diff --git a/src/main.c b/src/main.c index 5769693e..c80ed870 100644 --- a/src/main.c +++ b/src/main.c @@ -114,7 +114,7 @@ main (int argc, char *argv[]) declarations. */ timevar_push (TV_CONFLICTS); conflicts_solve (); - if (!muscle_percent_define_flag_if ("lr.keep_unreachable_states")) + if (!muscle_percent_define_flag_if ("lr.keep-unreachable-states")) { state_number *old_to_new = xnmalloc (nstates, sizeof *old_to_new); state_number nstates_old = nstates; diff --git a/src/muscle_tab.c b/src/muscle_tab.c index 8e2a3e2d..764ea93e 100644 --- a/src/muscle_tab.c +++ b/src/muscle_tab.c @@ -403,10 +403,20 @@ void muscle_percent_define_insert (char const *variable, location variable_loc, char const *value) { + char *variable_tr = NULL; char const *name; char const *loc_name; char const *syncline_name; + /* Permit certain names with underscores for backward compatibility. */ + if (0 == strcmp (variable, "api.push_pull") + || 0 == strcmp (variable, "lr.keep_unreachable_states")) + { + variable_tr = strdup (variable); + tr (variable_tr, '_', '-'); + variable = variable_tr; + } + MUSCLE_USER_NAME_CONVERT (name, "percent_define(", variable, ")"); MUSCLE_USER_NAME_CONVERT (loc_name, "percent_define_loc(", variable, ")"); MUSCLE_USER_NAME_CONVERT (syncline_name, @@ -427,6 +437,8 @@ muscle_percent_define_insert (char const *variable, location variable_loc, muscle_syncline_grow (syncline_name, variable_loc); muscle_user_name_list_grow ("percent_define_user_variables", variable, variable_loc); + + free (variable_tr); } char * diff --git a/src/parse-gram.c b/src/parse-gram.c index 23f388b7..c167f481 100644 --- a/src/parse-gram.c +++ b/src/parse-gram.c @@ -1,4 +1,4 @@ -/* A Bison parser, made by GNU Bison 2.4.1.52-77be. */ +/* A Bison parser, made by GNU Bison 2.4.1.57-1d0f-dirty. */ /* Skeleton implementation for Bison's Yacc-like parsers in C @@ -45,7 +45,7 @@ #define YYBISON 1 /* Bison version. */ -#define YYBISON_VERSION "2.4.1.52-77be" +#define YYBISON_VERSION "2.4.1.57-1d0f-dirty" /* Skeleton name. */ #define YYSKELETON_NAME "yacc.c" diff --git a/src/parse-gram.h b/src/parse-gram.h index fecb9199..a17d93d7 100644 --- a/src/parse-gram.h +++ b/src/parse-gram.h @@ -1,4 +1,4 @@ -/* A Bison parser, made by GNU Bison 2.4.1.52-77be. */ +/* A Bison parser, made by GNU Bison 2.4.1.57-1d0f-dirty. */ /* Skeleton interface for Bison's Yacc-like parsers in C diff --git a/src/reader.c b/src/reader.c index 2f3cd824..c542a5cd 100644 --- a/src/reader.c +++ b/src/reader.c @@ -556,7 +556,7 @@ reader (void) gram_parse (); /* Set front-end %define variable defaults. */ - muscle_percent_define_default ("lr.keep_unreachable_states", "false"); + muscle_percent_define_default ("lr.keep-unreachable-states", "false"); { char *lr_type; /* IELR would be a better default, but LALR is historically the diff --git a/tests/calc.at b/tests/calc.at index 5f118580..802d4830 100644 --- a/tests/calc.at +++ b/tests/calc.at @@ -1,7 +1,7 @@ # Simple calculator. -*- Autotest -*- -# Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free -# Software Foundation, Inc. +# Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, +# 2009 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 @@ -576,7 +576,7 @@ AT_CHECK_CALC_LALR([%yacc]) AT_CHECK_CALC_LALR([%error-verbose]) AT_CHECK_CALC_LALR([%define api.pure %locations]) -AT_CHECK_CALC_LALR([%define api.push_pull "both" %define api.pure %locations]) +AT_CHECK_CALC_LALR([%define api.push-pull "both" %define api.pure %locations]) AT_CHECK_CALC_LALR([%error-verbose %locations]) AT_CHECK_CALC_LALR([%error-verbose %locations %defines %name-prefix "calc" %verbose %yacc]) @@ -585,7 +585,7 @@ AT_CHECK_CALC_LALR([%debug]) AT_CHECK_CALC_LALR([%error-verbose %debug %locations %defines %name-prefix "calc" %verbose %yacc]) AT_CHECK_CALC_LALR([%define api.pure %error-verbose %debug %locations %defines %name-prefix "calc" %verbose %yacc]) -AT_CHECK_CALC_LALR([%define api.push_pull "both" %define api.pure %error-verbose %debug %locations %defines %name-prefix "calc" %verbose %yacc]) +AT_CHECK_CALC_LALR([%define api.push-pull "both" %define api.pure %error-verbose %debug %locations %defines %name-prefix "calc" %verbose %yacc]) AT_CHECK_CALC_LALR([%define api.pure %error-verbose %debug %locations %defines %name-prefix "calc" %verbose %yacc %parse-param {semantic_value *result} %parse-param {int *count}]) diff --git a/tests/conflicts.at b/tests/conflicts.at index 866b9441..78a90ad0 100644 --- a/tests/conflicts.at +++ b/tests/conflicts.at @@ -1,6 +1,7 @@ # Exercising Bison on conflicts. -*- Autotest -*- -# Copyright (C) 2002, 2003, 2004, 2005, 2007 Free Software Foundation, Inc. +# Copyright (C) 2002, 2003, 2004, 2005, 2007, 2009 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 @@ -813,7 +814,7 @@ state 7 ]]) AT_DATA([[input-keep.y]], -[[%define lr.keep_unreachable_states +[[%define lr.keep-unreachable-states ]]) AT_CHECK([[cat input.y >> input-keep.y]]) diff --git a/tests/input.at b/tests/input.at index b1f5f0a3..73bf7345 100644 --- a/tests/input.at +++ b/tests/input.at @@ -950,18 +950,59 @@ input.y:1.9-29: accepted value: `accepting' ]]) # Back-end. +AT_DATA([[input.y]], +[[%define api.push-pull "neither" +%% +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' +]]) + +AT_CLEANUP + +## -------------------------------- ## +## %define backward compatibility. ## +## -------------------------------- ## + +AT_SETUP([[%define backward compatibility]]) + +# The error messages tell us whether underscores in these variables are +# being converted to dashes. + AT_DATA([[input.y]], [[%define api.push_pull "neither" %% 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: 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]], +[[%define lr.keep_unreachable_states "maybe" +%% +start: ; +]]) +AT_BISON_CHECK([[input.y]], [1], [], +[[input.y:1.9-34: invalid value for %define Boolean variable `lr.keep-unreachable-states' +]]) + +AT_DATA([[input.y]], +[[%define foo_bar "baz" +%% +start: ; +]]) +AT_BISON_CHECK([[input.y]], [0], [], +[[input.y:1.9-15: warning: %define variable `foo_bar' is not used +]]) + AT_CLEANUP ## ------------------------- ## diff --git a/tests/push.at b/tests/push.at index 70c1fdce..bf48c682 100644 --- a/tests/push.at +++ b/tests/push.at @@ -1,5 +1,5 @@ # Checking Push Parsing. -*- Autotest -*- -# Copyright (C) 2007 Free Software Foundation, Inc. +# Copyright (C) 2007, 2009 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 @@ -33,7 +33,7 @@ AT_DATA_GRAMMAR([[input.y]], void yyerror (char const *msg); %} -%define api.pure %define api.push_pull "push" +%define api.pure %define api.push-pull "push" %% @@ -93,7 +93,7 @@ AT_DATA_GRAMMAR([[input.y]], int yylex (void); %} -%define api.push_pull "]$1[" +%define api.push-pull "]$1[" %% @@ -156,13 +156,13 @@ AT_SETUP([[Push Parsing: Unsupported Skeletons]]) AT_DATA([[input.y]], [[%glr-parser -%define api.push_pull "push" +%define api.push-pull "push" %% start: ; ]]) AT_BISON_CHECK([[input.y]], [0], [], -[[input.y:2.9-21: warning: %define variable `api.push_pull' is not used +[[input.y:2.9-21: warning: %define variable `api.push-pull' is not used ]]) AT_CLEANUP diff --git a/tests/reduce.at b/tests/reduce.at index af13e16f..0db3830b 100644 --- a/tests/reduce.at +++ b/tests/reduce.at @@ -396,7 +396,7 @@ AT_TEST_LR_TYPE([[Single State Split]], [[%left 'a' // Conflict resolution renders state 12 unreachable for canonical LR(1). We // keep it so that the paser table diff is easier to code. -%define lr.keep_unreachable_states]], +%define lr.keep-unreachable-states]], [[ S: 'a' A 'a' /* rule 1 */ | 'b' A 'b' /* rule 2 */ @@ -629,7 +629,7 @@ AT_TEST_LR_TYPE([[Lane Split]], [[%left 'a' // Conflict resolution renders state 16 unreachable for canonical LR(1). We // keep it so that the paser table diff is easier to code. -%define lr.keep_unreachable_states]], +%define lr.keep-unreachable-states]], [[ /* Similar to the last test case set but two states must be split. */ S: 'a' A 'a' /* rule 1 */ @@ -873,7 +873,7 @@ AT_TEST_LR_TYPE([[Complex Lane Split]], [[%left 'a' // Conflict resolution renders state 16 unreachable for canonical LR(1). We // keep it so that the paser table diff is easier to code. -%define lr.keep_unreachable_states]], +%define lr.keep-unreachable-states]], [[ /* Similar to the last test case set but forseeing the S/R conflict from the first state that must be split is becoming difficult. Imagine if B were @@ -1139,7 +1139,7 @@ dnl PARSER-EXIT-VALUE, PARSER-STDOUT, PARSER-STDERR ]])]) AT_TEST_LR_TYPE([[Split During Added Lookahead Propagation]], -[[%define lr.keep_unreachable_states]], +[[%define lr.keep-unreachable-states]], [[ /* The partial state chart diagram below is for LALR(1). State 0 is the start state. States are iterated for successor construction in numerical order. diff --git a/tests/torture.at b/tests/torture.at index 753fc919..91b3b1b9 100644 --- a/tests/torture.at +++ b/tests/torture.at @@ -1,6 +1,6 @@ # Torturing Bison. -*- Autotest -*- -# Copyright (C) 2001, 2002, 2004, 2005, 2006, 2007 Free Software Foundation, -# Inc. +# Copyright (C) 2001, 2002, 2004, 2005, 2006, 2007, 2009 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 @@ -496,7 +496,7 @@ AT_PARSER_CHECK([./input 10000], 2, [], [ignore], # just helps guarantee we don't let the YYSTACK_USE_ALLOCA feature affect # push parsers. AT_DATA_STACK_TORTURE([AT_USE_ALLOCA], -[[%define api.push_pull "both" +[[%define api.push-pull "both" ]]) AT_PARSER_CHECK([./input 20], 0, [], [ignore], [[VALGRIND_OPTS="$VALGRIND_OPTS --log-fd=1"]]) @@ -534,7 +534,7 @@ AT_PARSER_CHECK([./input 10000], 2, [], [ignore], [[VALGRIND_OPTS="$VALGRIND_OPTS --log-fd=1"]]) AT_DATA_STACK_TORTURE([AT_USE_ALLOCA], -[[%define api.push_pull "both" +[[%define api.push-pull "both" ]]) AT_PARSER_CHECK([./input 20], 0, [], [ignore], [[VALGRIND_OPTS="$VALGRIND_OPTS --log-fd=1"]]) -- 2.45.2