mirror of
https://github.com/rkd77/elinks.git
synced 2024-12-04 14:46:47 -05:00
Added a document helper script: code2doc. It's ugly and mean, but it gets
the job done.
This commit is contained in:
parent
5525339901
commit
67a89e1454
43
doc/tools/code2doc
Executable file
43
doc/tools/code2doc
Executable file
@ -0,0 +1,43 @@
|
||||
#!/usr/bin/perl -w
|
||||
use strict;
|
||||
use warnings;
|
||||
use diagnostics;
|
||||
|
||||
print "Usage: $0 [FILE]\n\tParses [FILE], outputing the result to [FILE].out.\n"
|
||||
and exit if not @ARGV;
|
||||
|
||||
my ($input) = @ARGV;
|
||||
my ($output) = $input . '.out';
|
||||
my ($found, $start);
|
||||
print "Copyleft© 2006, Russ Rowan (See `COPYING')\n" and exit if $input eq '-v';
|
||||
open FILEIN, "<$input" or print "File `$input' was not found.\n" and exit;
|
||||
open FILEOUT, ">$output" or print "Cannot open $output for writing.\n" and exit;
|
||||
print "Processing $input...\n";
|
||||
while (<FILEIN>)
|
||||
{
|
||||
if ($found)
|
||||
{
|
||||
next if $_ =~ /^\s+\*\s$/;
|
||||
if ($_ =~ /^\s\*+\/$/ or $_ !~ /^\s/) { $found = undef; next; }
|
||||
$_ =~ s/^(\s*)\s\*\s/$1/;
|
||||
$found = 'sorta' if $_ =~ s/\s*\*\/$//;
|
||||
}
|
||||
elsif ($_ =~ /^\s*\/\*\*\s(.*)/)
|
||||
{
|
||||
print FILEOUT "\n\n" if $start;
|
||||
$_ = $1;
|
||||
if ($_ =~ s/\s*\*\/$//) { $found = 'sorta'; } else { $found = $.; }
|
||||
my $dash; for (my $x = 0; $x < length($_); $x++) { $dash .= '-'; }
|
||||
$_ = "$_\n$dash\n";
|
||||
}
|
||||
elsif ($_ =~ /\s*([A-Z0-9_]+),\s*\/\*::\s*(.*)\s*\*\/$/)
|
||||
{
|
||||
$_ =~ s/\s*([A-Z0-9_]+),\s*\/\*::\s*(.*)\s*\*\/$/id[$1]::\n $2/;
|
||||
$found = 'sorta';
|
||||
}
|
||||
next if not $found; $found = undef if $found eq 'sorta';
|
||||
print FILEOUT $_ and $start = 1;
|
||||
}
|
||||
close FILEOUT;
|
||||
close FILEIN;
|
||||
print "$output completed.\n";
|
Loading…
Reference in New Issue
Block a user