mirror of
https://git.savannah.gnu.org/git/bison.git
synced 2026-03-09 04:13:03 +00:00
Generate the long/short option cross-table.
* build-aux/cross-options.pl: New. * doc/Makefile.am (cross-options.texi): New. * doc/bison.texinfo: Use it.
This commit is contained in:
32
build-aux/cross-options.pl
Executable file
32
build-aux/cross-options.pl
Executable file
@@ -0,0 +1,32 @@
|
||||
#! /usr/bin/env perl
|
||||
|
||||
use warnings;
|
||||
use 5.005;
|
||||
use strict;
|
||||
|
||||
my %option;
|
||||
while (<>)
|
||||
{
|
||||
if (/^\s*(?:(-\w), )?(--[-\w]+)(\[?)(=[-\w]+)?\]?/)
|
||||
{
|
||||
my ($short, $long, $opt, $arg) = ($1, $2, $3, $4);
|
||||
$short = defined $short ? '@option{' . $short . '}' : '';
|
||||
if ($arg)
|
||||
{
|
||||
$arg =~ s/^=//;
|
||||
$arg = '@var{' . lc ($arg) . '}';
|
||||
$arg = '[' . $arg . ']'
|
||||
if defined $opt;
|
||||
$option{"$long=$arg"} = "$short $arg";
|
||||
}
|
||||
else
|
||||
{
|
||||
$option{"$long"} = "$short";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
foreach my $long (sort keys %option)
|
||||
{
|
||||
printf "\@item %-40s \@tab %s\n", '@option{' . $long . '}', $option{$long};
|
||||
}
|
||||
Reference in New Issue
Block a user