X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=tohtml.sh;h=8555d245b5387e14591496a39139c4562c6b18bb;hb=93b1d8b1f5f6ddbdf8f8af5190043e383498a7b7;hp=1eee1d298a9187278e04aaaaaeaa9a12fdf24394;hpb=17cf8804ce9a599dd8c41bf83515a2068ccc01f3;p=c-standard
diff --git a/tohtml.sh b/tohtml.sh
index 1eee1d2..8555d24 100755
--- a/tohtml.sh
+++ b/tohtml.sh
@@ -39,6 +39,7 @@ BEGIN {
} else
print
}
+ note = 1
}
!seenindex && /^ *([1-9A-Z]\.|Annex|Index|Foreword|Introduction|Bibliography)/ {
@@ -46,7 +47,8 @@ BEGIN {
if (id ~ /Annex/)
id = $2
if (($0 ~ /^ [1-9]\./ || id ~ /^([A-Z]|[1-9A-Z]\.[1-9][0-9.]*|Index|Foreword|Introduction|Bibliography)$/) &&
- (NF==1 || $2 ~ /^[A-Z]/)) {
+ (NF==1 || $2 ~ /^[A-Z]/) &&
+ ($0 !~ /^ *[0-9.]+[^0-9]$/)) {
if (id ~ /\.$/)
id = substr(id,1,length(id)-1)
print "" $0 ""
@@ -58,7 +60,12 @@ BEGIN {
/^\[page / {
p = substr($2,1,length($2)-1)
- print "[page " p "] (Contents)"
+ print "[page " p "] (Contents)"
+ next
+}
+
+/^ *(Syntax|Semantics|Description|Constraints|Synopsis|Returns)$/ {
+ print "" $0 ""
next
}
@@ -71,23 +78,48 @@ BEGIN {
r = "[ (][A-Z1-9]\\.[0-9.]*[0-9]"
while (match(s, r)) {
p = p substr(s,1,RSTART)
- l = substr(s,RSTART+1,RLENGTH-1)
- if (l ~ /[4-9][0-9]/ || l ~ /[0-3][0-9][0-9]/ || substr(s,RSTART+RLENGTH,1) ~ /[a-zA-Z]/)
- p = p l
+ m = substr(s,RSTART+1,RLENGTH-1)
+ if (m ~ /\.0$/ || m ~ /[4-9][0-9]/ || m ~ /[0-3][0-9][0-9]/ || substr(s,RSTART+RLENGTH,1) ~ /[a-zA-Z\-]/)
+ p = p m
else
- p = p "" l ""
+ p = p "" m ""
+ s = substr(s,RSTART+RLENGTH)
+ }
+ s = p s
+ p = ""
+ while (match(s, /[Aa]nnex [A-Z]/)) {
+ p = p substr(s,1,RSTART-1)
+ m = substr(s,RSTART,RLENGTH)
+ p = p "" m ""
s = substr(s,RSTART+RLENGTH)
}
s = p s
p = ""
while (match(s, /<[a-zA-Z0-9_]*\.h>/)) {
p = p substr(s,1,RSTART-1)
- h = substr(s,RSTART,RLENGTH)
- if (h in header)
- p = p "" h ""
+ m = substr(s,RSTART,RLENGTH)
+ if (m in header)
+ p = p "" m ""
else
- p = p h
+ p = p m
+ s = substr(s,RSTART+RLENGTH)
+ }
+ s = p s
+ p = ""
+ while (match(s, note "\\)")) {
+ if (note==1 && s !~ /\.1\)/)
+ break
+ p = p substr(s,1,RSTART-1)
+ p = p "" note ")"
+ note++
s = substr(s,RSTART+RLENGTH)
}
- print p s
-}'
+ s = p s
+ if (s ~ /^ *[1-9][0-9]*\) /) {
+ sub(/\)/,"",s)
+ sub(/[0-9]+/,"&)",s)
+ }
+ print s
+}
+
+END { print "