123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118 |
- #!/usr/local/bin/perl -- # -*-Perl-*-
- eval "exec /usr/local/bin/perl -S $0 $*"
- if 0;
- # Copy a Texinfo file, replacing @value's, @FIXME's and other gooddies.
- # Copyright © 1996 Free Software Foundation, Inc.
- # François Pinard <[email protected]>, 1996.
- $_ = <>;
- while ($_)
- {
- if (/^\@c()$/ || /^\@c (.*)/ || /^\@(include .*)/)
- {
- if ($topseen)
- {
- print "\@format\n";
- print "\@strong{\@\@c} $1\n";
- $_ = <>;
- while (/\@c (.*)/)
- {
- print "\@strong{\@\@c} $1\n";
- $_ = <>;
- }
- print "\@end format\n";
- }
- else
- {
- $delay .= "\@format\n";
- $delay .= "\@strong{\@\@c} $1\n";
- $_ = <>;
- while (/\@c (.*)/)
- {
- $delay .= "\@strong{\@\@c} $1\n";
- $_ = <>;
- }
- $delay .= "\@end format\n";
- }
- }
- elsif (/^\@chapter /)
- {
- print;
- # print $delay;
- $delay = '';
- $topseen = 1;
- $_ = <>;
- }
- elsif (/^\@macro /)
- {
- $_ = <> while ($_ && ! /^\@end macro/);
- $_ = <>;
- }
- elsif (/^\@set ([^ ]+) (.*)/)
- {
- $set{$1} = $2;
- $_ = <>;
- }
- elsif (/^\@UNREVISED/)
- {
- print "\@quotation\n";
- print "\@emph{(This message will disappear, once this node is revised.)}\n";
- print "\@end quotation\n";
- $_ = <>;
- }
- else
- {
- while (/\@value{([^\}]*)}/)
- {
- if (defined $set{$1})
- {
- $_ = "$`$set{$1}$'";
- }
- else
- {
- $_ = "$`\@strong{<UNDEFINED>}$1\@strong{</UNDEFINED>}$'";
- }
- }
- while (/\@FIXME-?([a-z]*)\{/)
- {
- $tag = $1 eq '' ? 'fixme' : $1;
- $tag =~ y/a-z/A-Z/;
- print "$`\@strong{<$tag>}";
- $_ = $';
- $level = 1;
- while ($level > 0)
- {
- if (/([{}])/)
- {
- if ($1 eq '{')
- {
- $level++;
- print "$`\{";
- $_ = $';
- }
- elsif ($level > 1)
- {
- $level--;
- print "$`\}";
- $_ = $';
- }
- else
- {
- $level = 0;
- print "$`\@strong{</$tag>}";
- $_ = $';
- }
- }
- else
- {
- print;
- $_ = <>;
- }
- }
- }
- print;
- $_ = <>;
- }
- }
- exit 0;
|