- 225 名前:デフォルトの名無しさん mailto:sage [2005/06/03(金) 01:02:52 ]
- >>222
うちで試した限りでは抽出できたがどっかまずいとこあるかもしれん # # test.pl infile outfile # open(IN,$ARGV[0]) or die("can't open $ARGV[0].\n"); open(OUT,'>'.$ARGV[1]) or die("can't open $ARGV[1].\n"); while(<IN>){ nextunless(/^\s*((\w+\s+)*[\w\*]+)\s+(\w+)\(([^\)]+)\)/); # 末尾に;つければ定義部のみ拾えるだろう my $type = $1; my $func = $3; my $expr = join(' ',$4 =~ /([\w\*]+)\s+\w+[\,\s\)]/g); $expr = 'void'if(!$expr); print OUT "$type $func\($expr\);\n"; } close(IN); close(OUT);
|

|