From 6dd6d212866318cd2bbc42042e885eabb09a92d3 Mon Sep 17 00:00:00 2001 From: "Richard M. Stallman" Date: Sun, 15 Oct 1995 20:22:50 +0000 Subject: [PATCH] Added -n, -k, and -raw switches. (noparserflag, toknumflag, rawtoknumflag): New variables. --- src/getargs.c | 37 ++++++++++++++++++++++++++++++------- src/vmsgetargs.c | 46 +++++++++++++++++++++++++++++++++------------- 2 files changed, 63 insertions(+), 20 deletions(-) diff --git a/src/getargs.c b/src/getargs.c index 54c762fb..ce6d7796 100644 --- a/src/getargs.c +++ b/src/getargs.c @@ -1,5 +1,5 @@ /* 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. @@ -27,14 +27,17 @@ int verboseflag; int definesflag; int debugflag; int nolinesflag; +int noparserflag = 0; +int toknumflag = 0; +int rawtoknumflag = 0; char *spec_name_prefix; /* for -p. */ char *spec_file_prefix; /* for -b. */ extern int fixed_outfiles;/* for -y */ - + extern char *program_name; extern char *version_string; -extern void fatal(); +extern void warns(); /* main.c */ struct option longopts[] = { @@ -43,10 +46,13 @@ struct option longopts[] = {"file-prefix", 1, 0, 'b'}, {"fixed-output-files", 0, &fixed_outfiles, 1}, {"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-parser", 0, &noparserflag, 1}, {"output", 1, 0, 'o'}, {"output-file", 1, 0, 'o'}, + {"raw", 0, &rawtoknumflag, 1}, + {"token-table", 0, &toknumflag, 1}, {"verbose", 0, &verboseflag, 1}, {"version", 0, 0, 'V'}, {"yacc", 0, &fixed_outfiles, 1}, @@ -58,9 +64,10 @@ usage (stream) FILE *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\ [--verbose] [--version] [--help] [--yacc]\n\ + [--no-parser] [--token-table]\n\ [--file-prefix=prefix] [--name-prefix=prefix]\n\ [--output=outfile] grammar-file\n", program_name); @@ -76,9 +83,12 @@ getargs(argc, argv) verboseflag = 0; definesflag = 0; debugflag = 0; + noparserflag = 0; + rawtoknumflag = 0; + toknumflag = 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) { switch (c) @@ -111,6 +121,18 @@ getargs(argc, argv) nolinesflag = 1; break; + case 'k': + toknumflag = 1; + break; + + case 'r': + rawtoknumflag = 1; + break; + + case 'n': + noparserflag = 1; + break; + case 't': debugflag = 1; break; @@ -139,7 +161,8 @@ getargs(argc, argv) exit(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]; } diff --git a/src/vmsgetargs.c b/src/vmsgetargs.c index c7e738bb..83cb8bfc 100644 --- a/src/vmsgetargs.c +++ b/src/vmsgetargs.c @@ -1,19 +1,21 @@ /* 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 - 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 file is part of Bison, the GNU Compiler Compiler. - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. +Bison is free software; you can redistribute it and/or modify +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. - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ +Bison is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +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 @@ -21,13 +23,16 @@ #include "files.h" /* - * VMS version of getargs(): Uses DCL command parsing + * VMS version of getargs: Uses DCL command parsing * (argc and argv are ignored) */ int verboseflag; int definesflag; int debugflag; int nolinesflag; +extern int noparserflag; +extern int toknumflag; +extern int rawtoknumflag; extern int fixed_outfiles; extern char * version_string; @@ -49,6 +54,9 @@ getargs(argc,argv) debugflag = 0; fixed_outfiles = 0; nolinesflag = 0; + noparserflag = 0; + toknumflag = 0; + rawtoknumflag = 0; /* * Check for /VERBOSE qualifier */ @@ -70,6 +78,18 @@ getargs(argc,argv) * Check for /NOLINES qualifier */ 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 */ -- 2.47.2