#!/usr/local/bin/gawk -f # # $Header: /home/srilm/CVS/srilm/man/scripts/man2html.gawk,v 1.9 2007/12/20 20:29:10 stolcke Exp $ # function getargs() { delete args; j = 1; for (i = 2; i <= NF; i ++) { if ($i ~ /^"/) { args[j] = substr($i, 2); for (i++; i <= NF; i++) { if ($i ~ /"$/) { args[j] = args[j] " " substr($i, 1, length($i)-1); break; } else { args[j] = args[j] " " $i; } } } else { args[j] = $i; } j++; } $1 = ""; allargs = ""; if (j >= 1) { for (k = 1; k <= j; k ++) { allargs = allargs " " args[k]; } } return j - 1; } function finishitem() { if (initem) { print ""; initem = 0; } } function finishlist() { finishitem(); if (inlist) { print ""; inlist -= 1; } } function makelinks() { for (i = 1; i <= NF; i ++) { if ($i ~ /^http:/) { url = $i; sub("[,;.]$", "", url); $i = "" $i ""; } } } function printline() { if (text ~ /\\c/) { sub("\\\\c", "", text); oldtext = oldtext text; } else { if (inlabel) { print "
";
next;
}
$0 ~ /^\.br/ {
print "
";
next;
}
# labeled list item
$0 ~ /^\.TP/ {
if (!inlist) {
print "
";
next;
}
$0 ~ /^\.fi/ {
print "";
next;
}
$0 ~ /^\.[A-Za-z]/ {
print "unknown macro " $1 > "/dev/stderr";
next;
}
{
makelinks();
text = $0;
printline();
next;
}
END {
print "";
print "";
}