12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 |
- # By Giuseppe Borzi' - my first sed scriptfile
- # cancels lines after the proglogue
- # Modified by Pablo Santamaria for section 3 of manual pages
- 1,/END\ PROLOGUE/!d
- 1,/END\ PROLOGUE/{
- # defines and print the title
- /^\*DECK/{
- s/^\*DECK *\(.*\)/.TH \1 3/
- p
- s/.*/.SH SYNOPSIS/
- }
- s/^ *//
- # The hell !
- /^C\*\*\*BEGIN PROLOGUE/{
- # convert to lowercase for use in NAME
- y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/
- # append next line
- N
- s/^c\*\*\*begin prologue *\([a-z0-9]*\)\nC\*\*\*PURPOSE *\(.*\)/\1 \\- \2/
- t nosubsidiary
- s/\nC\*\*\*SUBSIDIARY//
- N
- s/^c\*\*\*begin prologue *\([a-z0-9]*\)\nC\*\*\*PURPOSE *\(.*\)/\1 \\- \2/
- :nosubsidiary
- h
- # print NAME heading
- s/.*/.SH NAME/
- p
- # retrieve original line from hold space and rewrite
- x
- }
- # cancels END PROLOGUE
- s/^C\*\*\*END PROLOGUE.*//
- # change each C*** to a roff section heading
- s/^C\*\*\*/.SH /
- # builds headings formed by two or more words
- /\.SH ROUTINES CALLED/{
- h
- s/\(\.SH ROUTINES CALLED\).*/\1/
- p
- x
- s/\.SH ROUTINES CALLED *\(.*\)/\1/
- }
- /\.SH REVISION HISTORY (YYMMDD)/{
- h
- s/\(\.SH REVISION HISTORY (YYMMDD)\).*/\1/
- p
- s/\(\.SH REVISION HISTORY (YYMMDD)\).*/.PD 0/
- p
- x
- s/\.SH REVISION HISTORY (YYMMDD) *\(.*\)/\1/
- }
- /\.SH COMMON BLOCKS/{
- h
- s/\(\.SH COMMON BLOCKS\).*/\1/
- p
- x
- s/\.SH COMMON BLOCKS *\(.*\)/\1/
- }
- /\.SH SEE ALSO/{
- h
- s/\(\.SH SEE ALSO\).*/\1/
- p
- x
- s/\.SH SEE ALSO *\(.*\)/\1/
- }
- # builds headings formed by one word
- /\.SH/{
- h
- s/\(\.SH *[A-Z]*\).*/\1/
- p
- x
- s/\.SH *[A-Z]* *\(.*\)/\1/
- }
- # strip initial C and eventually spaces
- s/^C *//
- s/^C$//
- # this is Y2K compliant !
- /[0789][0-9][01][0-9][0-3][0-9]/i\
- .P
- }
|