X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ann2html.sh;h=ad4413dbca7ac3bb04bf163f311af389b3337b4a;hb=e2222fbac46edfdcd3e3f7de33d8e515e58bc369;hp=7b3bcac9024068f673f8caabec38e907e4284aaf;hpb=dd0127cddb03b6a5ed3079cb1f0dd57bd098c579;p=c-standard diff --git a/ann2html.sh b/ann2html.sh index 7b3bcac..ad4413d 100755 --- a/ann2html.sh +++ b/ann2html.sh @@ -14,13 +14,57 @@ BEGIN { gsub(/>/, "\\>") } +!title && /^[^@]/ { + title = $0 + gsub(/ +/, " ", title) + gsub(/Committee Draft --/, "", title) +} + /^@sect Contents/ { ss[sid] = ss[sid] "\n" seencontents = 1 + level = 0 +} + +seencontents && !seenfore && /^[^@]/ { + id = $1 + if (id ~ /Annex/) + id = $2 + sub(/\.$/, "", id) + + s = $0 + if (!sub(/ +\. .*/, "", s)) { + getline + sub(/^ */, " ") + s = s $0 + sub(/ +\. .*/, "", s) + } + + if (match(s, /<[a-zA-Z0-9_]*\.h>/)) { + h = substr($0,RSTART,RLENGTH) + if (!(h in header)) + header[h] = id + } + + s = "" s "\n" + + s = "
  • " s + n = split(id, a, /\./) + while (n > level) { + s = "\n" s + level-- + } + ss[sid] = ss[sid] s + next } /^@sect Foreword/ { - ss[sid] = ss[sid] "\n" + while (level--) + ss[sid] = ss[sid] "\n" seenfore = 1 } @@ -35,7 +79,6 @@ BEGIN { sid++ getline ss[sid] = ss[sid] "

    " $0 "

    \n" - title = $0 if (!seencontents) { ss[sid] = ss[sid] "
    \n"
     	}
    @@ -50,8 +93,8 @@ BEGIN {
     	sect = $2
     	getline
     	# todo hX, back to top
    -	ss[sid] = sprintf("%s\n", sect, sect, slevel, $0, slevel)
    -	if ($0 ~ /^(Index|Contents)/)
    +	ss[sid] = sprintf("%s\n", slevel, sect, sect, $0, slevel)
    +	if ($0 == "Index")
     		ss[sid] = ss[sid] "
    \n"
     	next
     }
    @@ -105,13 +148,12 @@ BEGIN {
     	nn = 0
     	p = $2
     	getline
    -	i = $2
    -	ss[sid] = ss[sid] "\n"
    +	ss[sid] = ss[sid] "\n"
     	next
     }
     
     /^@para/ {
    -	ss[sid] = ss[sid] "

    \n" + ss[sid] = ss[sid] "

    \n" next } @@ -158,7 +200,7 @@ BEGIN { p = p substr(s,1,RSTART-1) m = substr(s,RSTART,RLENGTH) if (m in header) - p = p "" m "" + p = p "" m "" else p = p m s = substr(s,RSTART+RLENGTH) @@ -175,11 +217,7 @@ BEGIN { s = substr(s,RSTART+RLENGTH) } s = p s -# if (s ~ /^ *[1-9][0-9]*\) /) { -# sub(/\)/,"",s) -# sub(/[0-9]+/,"&)",s) -# } - + sub(/^ *Forward references/, "

    &", s) if (pre) pre = pre "\n" s else if (nn) @@ -191,16 +229,15 @@ BEGIN { END { ss[sid] = ss[sid] "

    " - print "C" + print "" title "" for (i = 1; i <= sid; i++) { print ss[i] -# if (slev[i] < 4) n = split(snote[i],a) if (n > 0) { s = "
    footnotes
    \n" for (j = 1; j <= n; j++) { - s = s "

    " a[j] ")" note[a[j]+0] "\n" + s = s "

    " a[j] ")" note[a[j]+0] "\n" } print s }