mirror of
https://git.savannah.gnu.org/git/bison.git
synced 2026-03-09 12:23:04 +00:00
* src/getargs.c (short_options): Split and sort for readability.
-g and -x take optional arguments, just like their long options. * build-aux/cross-options.pl: Use /x to make the regexp easier to understand. Fix the handling of $opt which resulted in all the argument to be considered as optional.
This commit is contained in:
@@ -1,3 +1,12 @@
|
|||||||
|
2008-02-28 Akim Demaille <akim@epita.fr>
|
||||||
|
|
||||||
|
* src/getargs.c (short_options): Split and sort for readability.
|
||||||
|
-g and -x take optional arguments, just like their long options.
|
||||||
|
* build-aux/cross-options.pl: Use /x to make the regexp easier to
|
||||||
|
understand.
|
||||||
|
Fix the handling of $opt which resulted in all the argument to be
|
||||||
|
considered as optional.
|
||||||
|
|
||||||
2008-02-22 Joel E. Denny <jdenny@ces.clemson.edu>
|
2008-02-22 Joel E. Denny <jdenny@ces.clemson.edu>
|
||||||
|
|
||||||
* NEWS (2.3a+): Don't say %language is experimental. Mention Java and
|
* NEWS (2.3a+): Don't say %language is experimental. Mention Java and
|
||||||
|
|||||||
@@ -7,7 +7,12 @@ use strict;
|
|||||||
my %option;
|
my %option;
|
||||||
while (<>)
|
while (<>)
|
||||||
{
|
{
|
||||||
if (/^\s*(?:(-\w), )?(--[-\w]+)(\[?)(=[-\w]+)?\]?/)
|
if (/^\s* # Initial spaces.
|
||||||
|
(?:(-\w),\s+)? # $1: Possible short option.
|
||||||
|
(--[-\w]+) # $2: Long option.
|
||||||
|
(\[?) # $3: '[' iff the argument is optional.
|
||||||
|
(?:=([-\w]+))? # $4: Possible argument name.
|
||||||
|
/x)
|
||||||
{
|
{
|
||||||
my ($short, $long, $opt, $arg) = ($1, $2, $3, $4);
|
my ($short, $long, $opt, $arg) = ($1, $2, $3, $4);
|
||||||
$short = defined $short ? '@option{' . $short . '}' : '';
|
$short = defined $short ? '@option{' . $short . '}' : '';
|
||||||
@@ -16,7 +21,7 @@ while (<>)
|
|||||||
$arg =~ s/^=//;
|
$arg =~ s/^=//;
|
||||||
$arg = '@var{' . lc ($arg) . '}';
|
$arg = '@var{' . lc ($arg) . '}';
|
||||||
$arg = '[' . $arg . ']'
|
$arg = '[' . $arg . ']'
|
||||||
if defined $opt;
|
if $opt eq '[';
|
||||||
$option{"$long=$arg"} = $short ? "$short $arg" : '';
|
$option{"$long=$arg"} = $short ? "$short $arg" : '';
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|||||||
@@ -403,8 +403,30 @@ language_argmatch (char const *arg, int prio, location const *loc)
|
|||||||
| Process the options. |
|
| Process the options. |
|
||||||
`----------------------*/
|
`----------------------*/
|
||||||
|
|
||||||
/* Shorts options. */
|
/* Shorts options.
|
||||||
static char const short_options[] = "yvegxdhr:L:ltknVo:b:p:S:T::W";
|
Should be computed from long_options. */
|
||||||
|
static char const short_options[] =
|
||||||
|
"L:"
|
||||||
|
"S:"
|
||||||
|
"T::"
|
||||||
|
"V"
|
||||||
|
"W"
|
||||||
|
"b:"
|
||||||
|
"d"
|
||||||
|
"e"
|
||||||
|
"g::"
|
||||||
|
"h"
|
||||||
|
"k"
|
||||||
|
"l"
|
||||||
|
"n"
|
||||||
|
"o:"
|
||||||
|
"p:"
|
||||||
|
"r:"
|
||||||
|
"t"
|
||||||
|
"v"
|
||||||
|
"x::"
|
||||||
|
"y"
|
||||||
|
;
|
||||||
|
|
||||||
/* Values for long options that do not have single-letter equivalents. */
|
/* Values for long options that do not have single-letter equivalents. */
|
||||||
enum
|
enum
|
||||||
|
|||||||
Reference in New Issue
Block a user