projects
/
c-standard
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
manual <sub>opt</sub> fixes
[c-standard]
/
ann2html.sh
diff --git
a/ann2html.sh
b/ann2html.sh
index
6fea593
..
509e3a2
100755
(executable)
--- a/
ann2html.sh
+++ b/
ann2html.sh
@@
-1,5
+1,7
@@
#!/bin/sh
#!/bin/sh
+# todo: <sub>opt</sub>
+
export LC_ALL=C
awk '
BEGIN {
export LC_ALL=C
awk '
BEGIN {
@@
-85,6
+87,10
@@
seencontents && !seenfore && /^[^@]/ {
next
}
next
}
+/^@sect 3\./ {
+ markdef = 1
+}
+
/^@sect/ {
sid++
slevel = split($2,a,/\./)+1
/^@sect/ {
sid++
slevel = split($2,a,/\./)+1
@@
-93,7
+99,7
@@
seencontents && !seenfore && /^[^@]/ {
sect = $2
getline
# todo hX, back to top
sect = $2
getline
# todo hX, back to top
- ss[sid] = sprintf("<
a name=\"%s\" href=\"#%s\"><h%s>%s</h%s></a>\n", sect, sect, slevel
, $0, slevel)
+ ss[sid] = sprintf("<
h%s><a name=\"%s\" href=\"#%s\">%s</a></h%s>\n", slevel, sect, sect
, $0, slevel)
if ($0 == "Index")
ss[sid] = ss[sid] "<pre>\n"
next
if ($0 == "Index")
ss[sid] = ss[sid] "<pre>\n"
next
@@
-148,17
+154,16
@@
seencontents && !seenfore && /^[^@]/ {
nn = 0
p = $2
getline
nn = 0
p = $2
getline
- i = $2
- ss[sid] = ss[sid] "<!--page " p " indent " i "-->\n"
+ ss[sid] = ss[sid] "<!--page " p " -->\n"
next
}
/^@para/ {
next
}
/^@para/ {
- ss[sid] = ss[sid] "<p><!--para " $2 "-->\n"
+ ss[sid] = ss[sid] "<p><!--para " $2 "
-->\n"
next
}
next
}
-/^
*(Syntax|Semantics|Description|Constraints|Synopsis|Return
s)$/ {
+/^
?(Syntax|Semantics|Description|Constraints|Synopsis|Returns|Recommended practice|Implementation limits|Environmental limit
s)$/ {
ss[sid] = ss[sid] "<h6>" $0 "</h6>\n"
next
}
ss[sid] = ss[sid] "<h6>" $0 "</h6>\n"
next
}
@@
-208,7
+213,14
@@
seencontents && !seenfore && /^[^@]/ {
}
s = p s
p = ""
}
s = p s
p = ""
- while (match(s, noteid "\\)")) {
+ for (;;) {
+ while (match(s, noteid-1 "\\)")) {
+ p = p substr(s,1,RSTART-1)
+ p = p "<sup><a href=\"#note" noteid-1 "\"><b>" noteid-1 ")</b></a></sup>"
+ s = substr(s,RSTART+RLENGTH)
+ }
+ if (!match(s, noteid "\\)"))
+ break
if (noteid==1 && s !~ /\.1\)/)
break
p = p substr(s,1,RSTART-1)
if (noteid==1 && s !~ /\.1\)/)
break
p = p substr(s,1,RSTART-1)
@@
-219,6
+231,10
@@
seencontents && !seenfore && /^[^@]/ {
}
s = p s
sub(/^ *Forward references/, "<p><b>&</b>", s)
}
s = p s
sub(/^ *Forward references/, "<p><b>&</b>", s)
+ if (markdef) {
+ s = "<b>" s "</b><br>"
+ markdef = 0
+ }
if (pre)
pre = pre "\n" s
else if (nn)
if (pre)
pre = pre "\n" s
else if (nn)