Added -n, -k, and -raw switches.

(noparserflag, toknumflag, rawtoknumflag): New variables.
This commit is contained in:
Richard M. Stallman
1995-10-15 20:22:50 +00:00
parent 984a8a8a40
commit 6dd6d21286
2 changed files with 63 additions and 20 deletions

View File

@@ -1,5 +1,5 @@
/* Parse command line arguments for bison, /* Parse command line arguments for bison,
Copyright (C) 1984, 1986, 1989 Free Software Foundation, Inc. Copyright (C) 1984, 1986, 1989, 1992 Free Software Foundation, Inc.
This file is part of Bison, the GNU Compiler Compiler. This file is part of Bison, the GNU Compiler Compiler.
@@ -27,6 +27,9 @@ int verboseflag;
int definesflag; int definesflag;
int debugflag; int debugflag;
int nolinesflag; int nolinesflag;
int noparserflag = 0;
int toknumflag = 0;
int rawtoknumflag = 0;
char *spec_name_prefix; /* for -p. */ char *spec_name_prefix; /* for -p. */
char *spec_file_prefix; /* for -b. */ char *spec_file_prefix; /* for -b. */
extern int fixed_outfiles;/* for -y */ extern int fixed_outfiles;/* for -y */
@@ -34,7 +37,7 @@ extern int fixed_outfiles;/* for -y */
extern char *program_name; extern char *program_name;
extern char *version_string; extern char *version_string;
extern void fatal(); extern void warns(); /* main.c */
struct option longopts[] = struct option longopts[] =
{ {
@@ -43,10 +46,13 @@ struct option longopts[] =
{"file-prefix", 1, 0, 'b'}, {"file-prefix", 1, 0, 'b'},
{"fixed-output-files", 0, &fixed_outfiles, 1}, {"fixed-output-files", 0, &fixed_outfiles, 1},
{"help", 0, 0, 'h'}, {"help", 0, 0, 'h'},
{"name-prefix", 1, 0, 'a'}, {"name-prefix", 1, 0, 'p'}, /* was 'a'; apparently unused -wjh */
{"no-lines", 0, &nolinesflag, 1}, {"no-lines", 0, &nolinesflag, 1},
{"no-parser", 0, &noparserflag, 1},
{"output", 1, 0, 'o'}, {"output", 1, 0, 'o'},
{"output-file", 1, 0, 'o'}, {"output-file", 1, 0, 'o'},
{"raw", 0, &rawtoknumflag, 1},
{"token-table", 0, &toknumflag, 1},
{"verbose", 0, &verboseflag, 1}, {"verbose", 0, &verboseflag, 1},
{"version", 0, 0, 'V'}, {"version", 0, 0, 'V'},
{"yacc", 0, &fixed_outfiles, 1}, {"yacc", 0, &fixed_outfiles, 1},
@@ -58,9 +64,10 @@ usage (stream)
FILE *stream; FILE *stream;
{ {
fprintf (stream, "\ fprintf (stream, "\
Usage: %s [-dhltvyV] [-b file-prefix] [-o outfile] [-p name-prefix]\n\ Usage: %s [-dhklntvyV] [-b file-prefix] [-o outfile] [-p name-prefix]\n\
[--debug] [--defines] [--fixed-output-files] [--no-lines]\n\ [--debug] [--defines] [--fixed-output-files] [--no-lines]\n\
[--verbose] [--version] [--help] [--yacc]\n\ [--verbose] [--version] [--help] [--yacc]\n\
[--no-parser] [--token-table]\n\
[--file-prefix=prefix] [--name-prefix=prefix]\n\ [--file-prefix=prefix] [--name-prefix=prefix]\n\
[--output=outfile] grammar-file\n", [--output=outfile] grammar-file\n",
program_name); program_name);
@@ -76,9 +83,12 @@ getargs(argc, argv)
verboseflag = 0; verboseflag = 0;
definesflag = 0; definesflag = 0;
debugflag = 0; debugflag = 0;
noparserflag = 0;
rawtoknumflag = 0;
toknumflag = 0;
fixed_outfiles = 0; fixed_outfiles = 0;
while ((c = getopt_long (argc, argv, "yvdhltVo:b:p:", longopts, (int *)0)) while ((c = getopt_long (argc, argv, "yvdhrltknVo:b:p:", longopts, (int *)0))
!= EOF) != EOF)
{ {
switch (c) switch (c)
@@ -111,6 +121,18 @@ getargs(argc, argv)
nolinesflag = 1; nolinesflag = 1;
break; break;
case 'k':
toknumflag = 1;
break;
case 'r':
rawtoknumflag = 1;
break;
case 'n':
noparserflag = 1;
break;
case 't': case 't':
debugflag = 1; debugflag = 1;
break; break;
@@ -139,7 +161,8 @@ getargs(argc, argv)
exit(1); exit(1);
} }
if (optind < argc - 1) if (optind < argc - 1)
fprintf(stderr, "%s: warning: extra arguments ignored\n", program_name); fprintf(stderr, "%s: extra arguments ignored after '%s'\n",
program_name, argv[optind]);
infile = argv[optind]; infile = argv[optind];
} }

View File

@@ -1,19 +1,21 @@
/* VMS version of getargs; Uses DCL command parsing. /* VMS version of getargs; Uses DCL command parsing.
Copyright (C) 1989 Free Software Foundation, Inc. Copyright (C) 1989, 1992 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify This file is part of Bison, the GNU Compiler Compiler.
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
This program is distributed in the hope that it will be useful, Bison is free software; you can redistribute it and/or modify
but WITHOUT ANY WARRANTY; without even the implied warranty of it under the terms of the GNU General Public License as published by
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the the Free Software Foundation; either version 2, or (at your option)
GNU General Public License for more details. any later version.
You should have received a copy of the GNU General Public License Bison is distributed in the hope that it will be useful,
along with this program; if not, write to the Free Software but WITHOUT ANY WARRANTY; without even the implied warranty of
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with Bison; see the file COPYING. If not, write to
the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
#include <ctype.h> #include <ctype.h>
@@ -21,13 +23,16 @@
#include "files.h" #include "files.h"
/* /*
* VMS version of getargs(): Uses DCL command parsing * VMS version of getargs: Uses DCL command parsing
* (argc and argv are ignored) * (argc and argv are ignored)
*/ */
int verboseflag; int verboseflag;
int definesflag; int definesflag;
int debugflag; int debugflag;
int nolinesflag; int nolinesflag;
extern int noparserflag;
extern int toknumflag;
extern int rawtoknumflag;
extern int fixed_outfiles; extern int fixed_outfiles;
extern char * version_string; extern char * version_string;
@@ -49,6 +54,9 @@ getargs(argc,argv)
debugflag = 0; debugflag = 0;
fixed_outfiles = 0; fixed_outfiles = 0;
nolinesflag = 0; nolinesflag = 0;
noparserflag = 0;
toknumflag = 0;
rawtoknumflag = 0;
/* /*
* Check for /VERBOSE qualifier * Check for /VERBOSE qualifier
*/ */
@@ -70,6 +78,18 @@ getargs(argc,argv)
* Check for /NOLINES qualifier * Check for /NOLINES qualifier
*/ */
if (cli_present("BISON$NOLINES")) nolinesflag = 1; if (cli_present("BISON$NOLINES")) nolinesflag = 1;
/*
* Check for /NOPARSER qualifier
*/
if (cli_present("BISON$NOPARSER")) noparserflag = 1;
/*
* Check for /RAW qualifier
*/
if (cli_present("BISON$RAW")) rawtoknumflag = 1;
/*
* Check for /TOKEN_TABLE qualifier
*/
if (cli_present("BISON$TOKEN_TABLE")) toknumflag = 1;
/* /*
* Check for /DEBUG qualifier * Check for /DEBUG qualifier
*/ */