X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;ds=sidebyside;f=ann2html.sh;h=5a93b3542d311fb02ef012b47359eac40e8dbdac;hb=5d87c6a24b31ceb8a6753667546b0cb311bd6843;hp=d5f9042963b69b84df0e55c8cafa65f9be4b5a12;hpb=23a67101d272654dc45920a5ef98dc72a7512b12;p=c-standard diff --git a/ann2html.sh b/ann2html.sh index d5f9042..5a93b35 100755 --- a/ann2html.sh +++ b/ann2html.sh @@ -8,12 +8,16 @@ BEGIN { ss[sid] = "
" } -{ +function esc() { gsub(/\&/, "\\&") gsub(/, "\\<") gsub(/>/, "\\>") } +{ + esc() +} + !title && /^[^@]/ { title = $0 gsub(/ +/, " ", title) @@ -35,6 +39,7 @@ seencontents && !seenfore && /^[^@]/ { s = $0 if (!sub(/ +\. .*/, "", s)) { getline + esc() sub(/^ */, " ") s = s $0 sub(/ +\. .*/, "", s) @@ -78,6 +83,7 @@ seencontents && !seenfore && /^[^@]/ { } sid++ getline + esc() ss[sid] = ss[sid] "" $0 "
\n" if (!seencontents) { ss[sid] = ss[sid] "\n" @@ -96,6 +102,7 @@ seencontents && !seenfore && /^[^@]/ { slevel = 5 sect = $2 getline + esc() # todo hX, back to top ss[sid] = sprintf("%s \n", slevel, sect, sect, $0, slevel) if ($0 == "Index") @@ -162,7 +169,7 @@ seencontents && !seenfore && /^[^@]/ { } /^ ?(Syntax|Semantics|Description|Constraints|Synopsis|Returns|Recommended practice|Implementation limits|Environmental limits)$/ { - ss[sid] = ss[sid] "" $0 "
\n" + ss[sid] = ss[sid] "" $0 "\n" next } @@ -212,7 +219,7 @@ seencontents && !seenfore && /^[^@]/ { s = p s p = "" # TODO: false positives.. - while (match(s, /[a-z]opt[ )]/)) + while (match(s, /[a-z]opt[ )"]/)) s = substr(s,1,RSTART) "opt" substr(s,RSTART+RLENGTH-1) if (match(s, /[a-z]opt$/)) s = substr(s,1,RSTART) "opt" @@ -255,12 +262,13 @@ END { print ss[i] n = split(snote[i],a) if (n > 0) { - s = "
footnotes
\n" + s = "Footnotes\n" for (j = 1; j <= n; j++) { s = s "
" a[j] ")" note[a[j]+0] "\n" } print s } + print "
Contents" } print "