X-Git-Url: https://git.saurik.com/bison.git/blobdiff_plain/3d8fc6caa543469fedaa7d153134ebc47ec04ddf..d2729d44ab05f89e96d199ad6b10e127c1cb0a38:/src/getargs.c diff --git a/src/getargs.c b/src/getargs.c index d853118e..35cac38f 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,11 +27,20 @@ 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 */ + +void usage PARAMS((FILE *)); +void getargs PARAMS((int, char *[])); -extern void fatal(); +extern char *program_name; +extern char *version_string; + +extern void warns PARAMS((char *, char *)); /* main.c */ struct option longopts[] = { @@ -39,10 +48,14 @@ struct option longopts[] = {"defines", 0, &definesflag, 1}, {"file-prefix", 1, 0, 'b'}, {"fixed-output-files", 0, &fixed_outfiles, 1}, - {"name-prefix", 1, 0, 'a'}, + {"help", 0, 0, 'h'}, + {"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}, @@ -50,25 +63,35 @@ struct option longopts[] = }; void -getargs(argc, argv) - int argc; - char *argv[]; +usage (FILE *stream) +{ + fprintf (stream, _("\ +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\n\ +Report bugs to bug-bison@gnu.org\n"), + program_name); +} + +void +getargs (int argc, char *argv[]) { register int c; - int longind; - extern char *program_name; - extern char *version_string; verboseflag = 0; definesflag = 0; debugflag = 0; + noparserflag = 0; + rawtoknumflag = 0; + toknumflag = 0; fixed_outfiles = 0; - while ((c = getopt_long (argc, argv, "yvdltVo:b:p:", longopts, &longind)) + while ((c = getopt_long (argc, argv, "yvdhrltknVo:b:p:", longopts, (int *)0)) != EOF) { - if (c == 0 && longopts[longind].flag == 0) - c = longopts[longind].val; switch (c) { case 0: @@ -79,9 +102,13 @@ getargs(argc, argv) fixed_outfiles = 1; break; + case 'h': + usage (stdout); + exit (0); + case 'V': - printf("%s", version_string); - break; + printf ("%s", version_string); + exit (0); case 'v': verboseflag = 1; @@ -95,6 +122,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; @@ -112,24 +151,19 @@ getargs(argc, argv) break; default: - fprintf (stderr, "\ -Usage: %s [-dltvyV] [-b file-prefix] [-o outfile] [-p name-prefix]\n\ - [--debug] [--defines] [--fixed-output-files] [--no-lines]\n\ - [--verbose] [--version] [--yacc]\n\ - [--file-prefix=prefix] [--name-prefix=prefix]\n\ - [--output=outfile] grammar-file\n", - program_name); + usage (stderr); exit (1); } } if (optind == argc) { - fprintf(stderr, "%s: no grammar file given\n", program_name); + fprintf(stderr, _("%s: no grammar file given\n"), program_name); 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]; }