18 ss[sid] = ss[sid] "</pre>\n"
23 seencontents && !seenfore && /^[^@]/ {
30 if (!sub(/ +\. .*/, "", s)) {
37 if (match(s, /<[a-zA-Z0-9_]*\.h>/)) {
38 h = substr($0,RSTART,RLENGTH)
43 s = "<a href=\"#" id "\">" s "</a>\n"
46 n = split(id, a, /\./)
61 ss[sid] = ss[sid] "</ul>\n"
71 ss[sid] = ss[sid] "</pre>\n"
75 ss[sid] = ss[sid] "<h1>" $0 "</h1>\n"
78 ss[sid] = ss[sid] "<pre>\n"
85 slevel = split($2,a,/\./)+1
90 # todo hX, back to top
91 ss[sid] = sprintf("<a name=\"%s\" href=\"#%s\"><h%s>%s</h%s></a>\n", sect, sect, slevel, $0, slevel)
93 ss[sid] = ss[sid] "<pre>\n"
98 ss[sid] = ss[sid] "<ul>\n"
102 ss[sid] = ss[sid] "</ul>\n"
106 ss[sid] = ss[sid] "<ol>\n"
110 ss[sid] = ss[sid] "</ol>\n"
115 ss[sid] = ss[sid] "<li>"
129 note[nn] = note[nn] "\n" pre
131 ss[sid] = ss[sid] pre
147 ss[sid] = ss[sid] "<!--page " p " indent " i "-->\n"
152 ss[sid] = ss[sid] "<p><!--para " $2 "-->\n"
156 /^ *(Syntax|Semantics|Description|Constraints|Synopsis|Returns)$/ {
157 ss[sid] = ss[sid] "<h6>" $0 "</h6>\n"
162 ss[sid] = ss[sid] $0 "\n"
170 r = " [A-Z1-9][0-9.]*"
172 r = "[ ([][A-Z1-9]\\.[0-9.]*[0-9]"
175 while (match(s, r)) {
176 p = p substr(s,1,RSTART)
177 m = substr(s,RSTART+1,RLENGTH-1)
178 if (m ~ /\.0$/ || m ~ /[4-9][0-9]/ || m ~ /[0-3][0-9][0-9]/ ||
179 substr(s,RSTART+RLENGTH,1) ~ /[a-zA-Z_\-]/)
182 p = p "<a href=\"#" m "\">" m "</a>"
183 s = substr(s,RSTART+RLENGTH)
187 while (match(s, /[Aa]nnex [A-Z]/)) {
188 p = p substr(s,1,RSTART-1)
189 m = substr(s,RSTART,RLENGTH)
190 p = p "<a href=\"#" substr(m,RLENGTH,1) "\">" m "</a>"
191 s = substr(s,RSTART+RLENGTH)
195 while (match(s, /<[a-zA-Z0-9_]*\.h>/)) {
196 p = p substr(s,1,RSTART-1)
197 m = substr(s,RSTART,RLENGTH)
199 p = p "<a href=\"#" header[m] "\">" m "</a>"
202 s = substr(s,RSTART+RLENGTH)
206 while (match(s, noteid "\\)")) {
207 if (noteid==1 && s !~ /\.1\)/)
209 p = p substr(s,1,RSTART-1)
210 p = p "<sup><a href=\"#note" noteid "\"><b>" noteid ")</b></a></sup>"
211 snote[sid] = snote[sid] " " noteid
213 s = substr(s,RSTART+RLENGTH)
216 sub(/^ *Forward references/, "<p><b>&</b>", s)
220 note[nn] = note[nn] s "\n"
222 ss[sid] = ss[sid] s "\n"
226 ss[sid] = ss[sid] "</pre>"
228 print "<html><head><title>C</title></head><body>"
230 for (i = 1; i <= sid; i++) {
233 n = split(snote[i],a)
235 s = "<h6>footnotes</h6>\n"
236 for (j = 1; j <= n; j++) {
237 s = s "<p><a name=\"note" a[j] "\">" a[j] ")</a>" note[a[j]+0] "\n"
243 print "</body></html>"