#!/usr/bin/gawk -f
# hack to extract GMP-style documentation from source
/^\/\*@/ {
    outfile = "gen/" gensub(".*manual ", "", 1) ".xml"
    print "Writing to " outfile
    n = 0
    getline
    while ($0 != "*/") {
	a[n] = $0
	n++
	getline
    }

    print "<varlistentry><term>" > outfile
    print "<function>" > outfile
#    do {
#	getline
#	print
#    } while (!match($0, ";") && !match($0, "{"))
    getline
    sub("static inline ", "")
    s = gensub(" (\\w*)\\(", " <command>\\1</command>(", 1)
    s = gensub("\\((.*$)", "(<parameter>\\1", 1, s)
    gsub(",", "</parameter><parameter>", s)
    while (!match(s, ")")) {
	print s > outfile
	getline
	s = $0
	gsub(",", "</parameter><parameter>", s)
    }
    s = gensub("(.*)\\)", "\\1</parameter>)", 1, s)
    gsub(";", "", s);
    print s > outfile
    print "</function>" > outfile
    print "</term>" > outfile
    
    print "<listitem><para>" > outfile
    for(i=0; i<n; i++) {
	a[i] = gensub("''(\\w*)''", "<parameter>\\1</parameter>", "g", a[i])
	print a[i] > outfile
    }
    print "</para></listitem>" > outfile
    print "</varlistentry>\n" > outfile
}
