/* Parse command line arguments for Bison.
- Copyright (C) 1984, 1986, 1989, 1992, 2000, 2001, 2002, 2003, 2004, 2005
- Free Software Foundation, Inc.
+ Copyright (C) 1984, 1986, 1989, 1992, 2000, 2001, 2002, 2003, 2004,
+ 2005, 2006 Free Software Foundation, Inc.
This file is part of Bison, the GNU Compiler Compiler.
Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
02110-1301, USA. */
+#include <config.h>
#include "system.h"
+#include "revision.h"
#include <argmatch.h>
#include <error.h>
bool debug_flag;
bool defines_flag;
+bool graph_flag;
bool locations_flag;
bool no_lines_flag;
bool no_parser_flag;
-int report_flag = report_none;
bool token_table_flag;
bool yacc_flag; /* for -y */
-bool graph_flag;
-int trace_flag = trace_none;
+
+bool error_verbose = false;
bool nondeterministic_parser = false;
bool glr_parser = false;
bool pure_parser = false;
+int report_flag = report_none;
+int trace_flag = trace_none;
+
const char *skeleton = NULL;
const char *include = NULL;
"grammar - reading, reducing of the grammar",
"resource - memory consumption (where available)",
"sets - grammar sets: firsts, nullable etc.",
- "tools - m4 invocation and preserve the temporary file",
+ "tools - m4 invocation",
+ "m4 - m4 traces",
"skeleton - skeleton postprocessing",
"time - time consumption",
"all - all of the above",
trace_resource,
trace_sets,
trace_tools,
+ trace_m4,
trace_skeleton,
trace_time,
trace_all
};
+ARGMATCH_VERIFY (trace_args, trace_types);
static void
trace_argmatch (char *args)
{
- verify (trace_constraint, ARGMATCH_CONSTRAINT (trace_args, trace_types));
if (args)
{
args = strtok (args, ",");
"none",
"state", "states",
"itemset", "itemsets",
- "look-ahead", "lookahead", "lookaheads",
+ "lookahead", "lookaheads", "look-ahead",
"solved",
"all",
0
report_none,
report_states, report_states,
report_states | report_itemsets, report_states | report_itemsets,
- report_states | report_look_ahead_tokens,
- report_states | report_look_ahead_tokens,
- report_states | report_look_ahead_tokens,
+ report_states | report_lookahead_tokens,
+ report_states | report_lookahead_tokens,
+ report_states | report_lookahead_tokens,
report_states | report_solved_conflicts,
report_all
};
+ARGMATCH_VERIFY (report_args, report_types);
static void
report_argmatch (char *args)
{
- verify (report_constraint, ARGMATCH_CONSTRAINT (report_args, report_types));
args = strtok (args, ",");
do
{
/* Some efforts were made to ease the translators' task, please
continue. */
fputs (_("\
-GNU bison generates parsers for LALR(1) grammars.\n"), stdout);
+GNU bison generates LALR(1) and GLR parsers.\n"), stdout);
putc ('\n', stdout);
fprintf (stdout, _("\
-h, --help display this help and exit\n\
-V, --version output version information and exit\n\
--print-localedir output directory containing locale-dependent data\n\
- -y, --yacc emulate POSIX yacc\n"), stdout);
+ -y, --yacc emulate POSIX Yacc\n"), stdout);
putc ('\n', stdout);
fputs (_("\
THINGS is a list of comma separated words that can include:\n\
`state' describe the states\n\
`itemset' complete the core item sets with their closure\n\
- `look-ahead' explicitly associate look-ahead tokens to items\n\
+ `lookahead' explicitly associate lookahead tokens to items\n\
`solved' describe shift/reduce conflicts solving\n\
`all' include all the above information\n\
`none' disable the report\n\
continue. */
printf (_("bison (GNU Bison) %s"), VERSION);
putc ('\n', stdout);
+ printf ("%s", revision);
fputs (_("Written by Robert Corbett and Richard Stallman.\n"), stdout);
putc ('\n', stdout);
fprintf (stdout,
- _("Copyright (C) %d Free Software Foundation, Inc.\n"), 2005);
+ _("Copyright (C) %d Free Software Foundation, Inc.\n"), 2006);
fputs (_("\
This is free software; see the source for copying conditions. There is NO\n\