mirror of
https://git.savannah.gnu.org/git/bison.git
synced 2026-03-09 12:23:04 +00:00
Handle more general types of option arguments.
* build-aux/cross-options.pl: The argument ends at the first
space, not the first non-symbol character.
Use @var for each word appearing the argument description.
(cherry picked from commit 74eae918c3)
This commit is contained in:
committed by
Joel E. Denny
parent
c19178bfaf
commit
0213d65176
@@ -1,3 +1,10 @@
|
||||
2008-11-07 Akim Demaille <demaille@gostai.com>
|
||||
|
||||
Handle more general types of option arguments.
|
||||
* build-aux/cross-options.pl: The argument ends at the first
|
||||
space, not the first non-symbol character.
|
||||
Use @var for each word appearing the argument description.
|
||||
|
||||
2009-04-04 Joel E. Denny <jdenny@ces.clemson.edu>
|
||||
|
||||
Remove spurious initial empty lines.
|
||||
|
||||
@@ -8,18 +8,26 @@ my %option;
|
||||
while (<>)
|
||||
{
|
||||
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.
|
||||
(?:(-\w),\s+)? # $1: $short: Possible short option.
|
||||
(--[-\w]+) # $2: $long: Long option.
|
||||
(\[?) # $3: $opt: '[' iff the argument is optional.
|
||||
(?:=(\S+))? # $4: $arg: Possible argument name.
|
||||
\s # Spaces.
|
||||
/x)
|
||||
{
|
||||
my ($short, $long, $opt, $arg) = ($1, $2, $3, $4);
|
||||
$short = defined $short ? '@option{' . $short . '}' : '';
|
||||
if ($arg)
|
||||
{
|
||||
# if $opt, $arg contains the closing ].
|
||||
substr ($arg, -1) = ''
|
||||
if $opt eq '[';
|
||||
$arg =~ s/^=//;
|
||||
$arg = '@var{' . lc ($arg) . '}';
|
||||
$arg = lc ($arg);
|
||||
# If the argument is compite (e.g., for --define[=NAME[=VALUE]]),
|
||||
# put each word in @var, to build @var{name}[=@var{value}], not
|
||||
# @var{name[=value]}].
|
||||
$arg =~ s/(\w+)/\@var{$1}/g;
|
||||
$arg = '[' . $arg . ']'
|
||||
if $opt eq '[';
|
||||
$option{"$long=$arg"} = $short ? "$short $arg" : '';
|
||||
@@ -33,5 +41,8 @@ while (<>)
|
||||
|
||||
foreach my $long (sort keys %option)
|
||||
{
|
||||
printf "\@item %-40s \@tab %s\n", '@option{' . $long . '}', $option{$long};
|
||||
# Avoid trailing spaces.
|
||||
printf ("\@item %-40s \@tab%s\n",
|
||||
'@option{' . $long . '}',
|
||||
$option{$long} ? " $option{$long}" : "");
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user