summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoel E. Denny <jdenny@ces.clemson.edu>2008-11-07 16:48:31 -0500
committerJoel E. Denny <jdenny@ces.clemson.edu>2008-11-07 16:48:31 -0500
commit4b1ebc495bd39572b60640bc469b0852e9f71447 (patch)
tree088bedc0fcde7bd229f1a4e2751e9e105c1332a0
parent738cde3e937b920babf55dea2db4cbfe17eebb9c (diff)
downloadbison-4b1ebc495bd39572b60640bc469b0852e9f71447.tar.gz
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.
-rw-r--r--ChangeLog13
-rw-r--r--src/getargs.c8
-rw-r--r--src/getargs.h5
-rw-r--r--src/parse-gram.c8
-rw-r--r--src/parse-gram.h2
-rw-r--r--src/parse-gram.y4
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 <jdenny@ces.clemson.edu>
+
+ 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 <demaille@gostai.com>
* 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; }