OSDN Git Service

Merge branch 'master' of git.sourceforge.jp:/gitroot/eos/base
[eos/base.git] / sbin / makeprotohtml.pl
1 #!/usr/bin/perl
2
3 use strict;
4 my $in=$ARGV[0];
5 my $structlist=$ARGV[1];
6 my @inline;
7 my $header;
8 my $funcname;
9 my $inword;
10 my $outfile;
11 my @structlist;
12 my $i=0;
13 my @matchlist;
14 my $trimedword;
15 my $backtrimed;
16 my $foretrimed;
17
18 open(STRUCTFILE,"$structlist");
19 while (<STRUCTFILE>){
20     chomp;
21     $structlist[$i]=$_;
22     $i++;
23 }
24
25 open(READFILE,"$in");
26 while (<READFILE>){
27     chomp;
28     @inline=split;
29     $header=$inline[0];
30     ($funcname)=/ (\S+) *\(/;
31     $outfile="$funcname"."proto.html";
32     open(OUTFILE,">$outfile");
33     shift(@inline);
34     print OUTFILE "<HTML>\n<BODY>\n";
35     print OUTFILE "<H1>$funcname</H1><BR>\n";
36     print OUTFILE "<H3>in $header</H3><BR>\n";
37     print OUTFILE "<H3> ";
38     foreach $inword (@inline){
39         $_=$inword;
40         ($trimedword)=/(\w+)[\&\*]*$/;
41         if (@matchlist = grep $trimedword=~$_, @structlist){
42             $_=$inword;
43             ($backtrimed)=/(\S+)$trimedword[\&\*]*$/;
44             ($foretrimed)=/$trimedword([\&\*]*)$/;
45             print OUTFILE "$backtrimed";
46             print OUTFILE "<A HREF=\"$trimedword.html\">$trimedword</A> ";
47             print OUTFILE "$foretrimed ";
48         } else {
49             print OUTFILE "$inword ";
50         }
51     }
52     print OUTFILE "</H3>\n";
53     print OUTFILE "</HTML>\n</BODY>\n";
54     close(OUTFILE);
55 }
56