From 4b1ebc495bd39572b60640bc469b0852e9f71447 Mon Sep 17 00:00:00 2001 From: "Joel E. Denny" Date: Fri, 7 Nov 2008 16:48:31 -0500 Subject: Clean up %skeleton and %language priority implementation. * src/getargs.c (skeleton_prio): Use default_prio rather than 2, and remove static qualifier because others will soon need to see it. (language_prio): Likewise. (getargs): Use command_line_prio rather than 0. * src/getargs.h (command_line_prio, grammar_prio, default_prio): New enum fields. (skeleton_prio): Extern it. (language_prio): Extern it. * src/parse-gram.y: Use grammar_prio rather than 1. --- ChangeLog | 13 +++++++++++++ src/getargs.c | 8 ++++---- src/getargs.h | 5 ++++- src/parse-gram.c | 8 ++++---- src/parse-gram.h | 2 +- src/parse-gram.y | 4 ++-- 6 files changed, 28 insertions(+), 12 deletions(-) diff --git a/ChangeLog b/ChangeLog index 49c2d99d..4d3011f1 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,16 @@ +2008-11-07 Joel E. Denny + + Clean up %skeleton and %language priority implementation. + * src/getargs.c (skeleton_prio): Use default_prio rather than 2, and + remove static qualifier because others will soon need to see it. + (language_prio): Likewise. + (getargs): Use command_line_prio rather than 0. + * src/getargs.h (command_line_prio, grammar_prio, default_prio): New + enum fields. + (skeleton_prio): Extern it. + (language_prio): Extern it. + * src/parse-gram.y: Use grammar_prio rather than 1. + 2008-11-04 Akim Demaille * NEWS: Mention the trailing semicolon in action. diff --git a/src/getargs.c b/src/getargs.c index c9fc9bfc..f36f25bc 100644 --- a/src/getargs.c +++ b/src/getargs.c @@ -70,9 +70,9 @@ static struct bison_language const valid_languages[] = { { "", "", "", "", false } }; -static int skeleton_prio = 2; +int skeleton_prio = default_prio; const char *skeleton = NULL; -static int language_prio = 2; +int language_prio = default_prio; struct bison_language const *language = &valid_languages[0]; const char *include = NULL; @@ -520,11 +520,11 @@ getargs (int argc, char *argv[]) break; case 'L': - language_argmatch (optarg, 0, NULL); + language_argmatch (optarg, command_line_prio, NULL); break; case 'S': - skeleton_arg (AS_FILE_NAME (optarg), 0, NULL); + skeleton_arg (AS_FILE_NAME (optarg), command_line_prio, NULL); break; case 'T': diff --git a/src/getargs.h b/src/getargs.h index 8449626b..eb7f448e 100644 --- a/src/getargs.h +++ b/src/getargs.h @@ -1,7 +1,7 @@ /* Parse command line arguments for bison. Copyright (C) 1984, 1986, 1989, 1992, 2000, 2001, 2002, 2003, 2004, - 2005, 2006, 2007 Free Software Foundation, Inc. + 2005, 2006, 2007, 2008 Free Software Foundation, Inc. This file is part of Bison, the GNU Compiler Compiler. @@ -24,11 +24,13 @@ #include "location.h" extern char *program_name; +enum { command_line_prio, grammar_prio, default_prio }; /* flags set by % directives */ /* for -S */ extern char const *skeleton; +extern int skeleton_prio; /* for -I */ extern char const *include; @@ -68,6 +70,7 @@ struct bison_language bool add_tab; }; +extern int language_prio; extern struct bison_language const *language; /*-----------. diff --git a/src/parse-gram.c b/src/parse-gram.c index 56eba09b..b7938dcd 100644 --- a/src/parse-gram.c +++ b/src/parse-gram.c @@ -1,5 +1,5 @@ -/* A Bison parser, made by GNU Bison 2.3b.21-d67c5-dirty. */ +/* A Bison parser, made by GNU Bison 2.4.4-738cd. */ /* Skeleton implementation for Bison's Yacc-like parsers in C @@ -46,7 +46,7 @@ #define YYBISON 1 /* Bison version. */ -#define YYBISON_VERSION "2.3b.21-d67c5-dirty" +#define YYBISON_VERSION "2.4.4-738cd" /* Skeleton name. */ #define YYSKELETON_NAME "yacc.c" @@ -1994,7 +1994,7 @@ yyreduce: /* Line 1455 of yacc.c */ #line 257 "parse-gram.y" - { language_argmatch ((yyvsp[(2) - (2)].chars), 1, &(yylsp[(1) - (2)])); } + { language_argmatch ((yyvsp[(2) - (2)].chars), grammar_prio, &(yylsp[(1) - (2)])); } break; case 19: @@ -2110,7 +2110,7 @@ yyreduce: skeleton_user = uniqstr_new (skeleton_build); free (skeleton_build); } - skeleton_arg (skeleton_user, 1, &(yylsp[(1) - (2)])); + skeleton_arg (skeleton_user, grammar_prio, &(yylsp[(1) - (2)])); } break; diff --git a/src/parse-gram.h b/src/parse-gram.h index 78b2a4f1..938b2017 100644 --- a/src/parse-gram.h +++ b/src/parse-gram.h @@ -1,5 +1,5 @@ -/* A Bison parser, made by GNU Bison 2.3b.21-d67c5-dirty. */ +/* A Bison parser, made by GNU Bison 2.4.4-738cd. */ /* Skeleton interface for Bison's Yacc-like parsers in C diff --git a/src/parse-gram.y b/src/parse-gram.y index fa74d8d8..a8526b24 100644 --- a/src/parse-gram.y +++ b/src/parse-gram.y @@ -254,7 +254,7 @@ prologue_declaration: muscle_code_grow ("initial_action", action.code, @2); code_scanner_last_string_free (); } -| "%language" STRING { language_argmatch ($2, 1, &@1); } +| "%language" STRING { language_argmatch ($2, grammar_prio, &@1); } | "%lex-param" "{...}" { add_param ("lex_param", $2, @2); } | "%locations" { locations_flag = true; } | "%name-prefix" STRING { spec_name_prefix = $2; } @@ -300,7 +300,7 @@ prologue_declaration: skeleton_user = uniqstr_new (skeleton_build); free (skeleton_build); } - skeleton_arg (skeleton_user, 1, &@1); + skeleton_arg (skeleton_user, grammar_prio, &@1); } | "%token-table" { token_table_flag = true; } | "%verbose" { report_flag |= report_states; } -- cgit v1.2.1