comedilib/doc/mkref

119 lines
1.8 KiB
Perl
Executable file

#!/usr/bin/perl
# vim: set ts=4:
$manvolnum="3";
$header="#include <comedilib.h>";
$end = "";
print
"<!--This file is autogenerated. Do not edit-->
<section>
<title>
Comedi Function Reference
</title>
";
while($s = <>){
chomp $s;
if($s =~ m/^Function: (.*)/){
$funcname = $1;
$refpurpose = "";
if($s =~ m/^Function: (.*) -- (.*)/){
$funcname = $1;
$refpurpose = $2;
}
$refname = $funcname;
$refname =~ s/_/-/g;
$refname = "func-ref-" . $refname;
print $end;
print
"<refentry id=\"$refname\">
<refmeta>
<refentrytitle>$funcname</refentrytitle>
<manvolnum>$manvolnum</manvolnum>
</refmeta>
<refnamediv>
<refname>$funcname</refname>
<refpurpose>$refpurpose</refpurpose>
</refnamediv>
";
$end = "";
}elsif($s =~ m/^Retval: (.*)/){
print
" <refsynopsisdiv>
<funcsynopsis>
<funcsynopsisinfo>$header</funcsynopsisinfo>
<funcprototype>
<funcdef>$1 <function>$funcname</function></funcdef>
";
$end =
" </funcprototype>
</funcsynopsis>
</refsynopsisdiv>
";
}elsif($s =~ m/^Param: (.*)/){
$p = $1;
$p =~ m/(.*) (.*)/;
print
" <paramdef>$1 <parameter>$2</parameter></paramdef>
"
}elsif($s =~ m/^Description:/){
print $end;
print
" <refsect1>
<title>
Description
</title>
<para>
";
$end =
" </para>
</refsect1>
";
}elsif($s =~ m/^Returns:/){
print $end;
print
" <refsect1>
<title>
Return value
</title>
<para>
";
$end =
" </para>
</refsect1>
";
}elsif($s =~ m/^Status: (.*)/){
print $end;
print
" <refsect1>
<title>
Status
</title>
<para>
$1
";
$end =
" </para>
</refsect1>
";
}elsif($s eq ""){
print "</para><para>\n";
}elsif($s =~ m/^ (.*)/){
print "$1\n";
}
}
print $end;
print
"</refentry>
";
print
"</section>
";
exit(0);