+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.
{ "", "", "", "", 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;
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':
/* 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.
#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;
bool add_tab;
};
+extern int language_prio;
extern struct bison_language const *language;
/*-----------.
-/* 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
#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"
/* 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:
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;
-/* 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
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; }
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; }