]> git.saurik.com Git - bison.git/blobdiff - src/getargs.c
a -> an (minor typo fix)
[bison.git] / src / getargs.c
index 23b06394b47c08cd0d1c9477efb1fd28a003bfe9..68a701648fe1656cb187f952e9bce7e56ec5cb8c 100644 (file)
@@ -1,6 +1,6 @@
 /* Parse command line arguments for Bison.
 
 /* Parse command line arguments for Bison.
 
-   Copyright (C) 1984, 1986, 1989, 1992, 2000, 2001, 2002
+   Copyright (C) 1984, 1986, 1989, 1992, 2000, 2001, 2002, 2003
    Free Software Foundation, Inc.
 
    This file is part of Bison, the GNU Compiler Compiler.
    Free Software Foundation, Inc.
 
    This file is part of Bison, the GNU Compiler Compiler.
 #include "getargs.h"
 #include "uniqstr.h"
 
 #include "getargs.h"
 #include "uniqstr.h"
 
-int debug_flag = 0;
-int defines_flag = 0;
-int locations_flag = 0;
-int no_lines_flag = 0;
-int no_parser_flag = 0;
+bool debug_flag;
+bool defines_flag;
+bool locations_flag;
+bool no_lines_flag;
+bool no_parser_flag;
 int report_flag = report_none;
 int report_flag = report_none;
-int token_table_flag = 0;
-int yacc_flag = 0;     /* for -y */
-int graph_flag = 0;
+bool token_table_flag;
+bool yacc_flag;        /* for -y */
+bool graph_flag;
 int trace_flag = trace_none;
 
 int trace_flag = trace_none;
 
+bool nondeterministic_parser = false;
+bool glr_parser = false;
+bool pure_parser = false;
+
 const char *skeleton = NULL;
 const char *include = NULL;
 
 const char *skeleton = NULL;
 const char *include = NULL;
 
@@ -263,7 +267,7 @@ version (void)
   putc ('\n', stdout);
 
   fprintf (stdout,
   putc ('\n', stdout);
 
   fprintf (stdout,
-          _("Copyright (C) %d Free Software Foundation, Inc.\n"), 2002);
+          _("Copyright (C) %d Free Software Foundation, Inc.\n"), 2003);
 
   fputs (_("\
 This is free software; see the source for copying conditions.  There is NO\n\
 
   fputs (_("\
 This is free software; see the source for copying conditions.  There is NO\n\
@@ -280,6 +284,12 @@ warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n\
 /* Shorts options.  */
 const char *short_options = "yvegdhr:ltknVo:b:p:S:T::";
 
 /* Shorts options.  */
 const char *short_options = "yvegdhr:ltknVo:b:p:S:T::";
 
+/* Values for long options that do not have single-letter equivalents.  */
+enum
+{
+  LOCATIONS_OPTION = CHAR_MAX + 1
+};
+
 static struct option const long_options[] =
 {
   /* Operation modes. */
 static struct option const long_options[] =
 {
   /* Operation modes. */
@@ -310,7 +320,7 @@ static struct option const long_options[] =
 
   /* Parser.  */
   { "debug",         no_argument,               0,   't' },
 
   /* Parser.  */
   { "debug",         no_argument,               0,   't' },
-  { "locations",      no_argument, &locations_flag,     1 },
+  { "locations",      no_argument,              0, LOCATIONS_OPTION },
   { "no-lines",       no_argument,               0,   'l' },
   { "no-parser",      no_argument,               0,   'n' },
   { "raw",            no_argument,               0,     0 },
   { "no-lines",       no_argument,               0,   'l' },
   { "no-parser",      no_argument,               0,   'n' },
   { "raw",            no_argument,               0,     0 },
@@ -342,7 +352,7 @@ getargs (int argc, char *argv[])
        break;
 
       case 'y':
        break;
 
       case 'y':
-       yacc_flag = 1;
+       yacc_flag = true;
        break;
 
       case 'h':
        break;
 
       case 'h':
@@ -354,8 +364,9 @@ getargs (int argc, char *argv[])
 
       case 'g':
        /* Here, the -g and --graph=FILE options are differentiated.  */
 
       case 'g':
        /* Here, the -g and --graph=FILE options are differentiated.  */
-       graph_flag = 1;
-       spec_graph_file = AS_FILE_NAME (optarg);
+       graph_flag = true;
+       if (optarg)
+         spec_graph_file = AS_FILE_NAME (optarg);
        break;
 
       case 'v':
        break;
 
       case 'v':
@@ -372,25 +383,29 @@ getargs (int argc, char *argv[])
 
       case 'd':
        /* Here, the -d and --defines options are differentiated.  */
 
       case 'd':
        /* Here, the -d and --defines options are differentiated.  */
-       defines_flag = 1;
+       defines_flag = true;
        if (optarg)
          spec_defines_file = AS_FILE_NAME (optarg);
        break;
 
       case 'l':
        if (optarg)
          spec_defines_file = AS_FILE_NAME (optarg);
        break;
 
       case 'l':
-       no_lines_flag = 1;
+       no_lines_flag = true;
+       break;
+
+      case LOCATIONS_OPTION:
+       locations_flag = true;
        break;
 
       case 'k':
        break;
 
       case 'k':
-       token_table_flag = 1;
+       token_table_flag = true;
        break;
 
       case 'n':
        break;
 
       case 'n':
-       no_parser_flag = 1;
+       no_parser_flag = true;
        break;
 
       case 't':
        break;
 
       case 't':
-       debug_flag = 1;
+       debug_flag = true;
        break;
 
       case 'o':
        break;
 
       case 'o':