This commit slightly improves the formatting of the manuals.  My
OpenBSD machine uses mandoc(1) to format manuals.  I check the manuals
with `mandoc -T lint` and fix most of the warnings.  I also make
other changes where mandoc didn't warn me.
roff(7) says, "Each sentence should terminate at the end of an input
line," but we often forgot this rule.  I insert some newlines after
sentences that had ended mid-line.
roff(7) also says that blank lines "are only permitted within literal
contexts."  I delete blank lines.  This removes some extra blank lines
from mandoc's output.  If I do want a blank line in the output, I call
".sp 1" to make it in man(7).  If I want a blank line in the source,
but not the output, I put a plain dot "." so roff ignores it.
Hyphens used for command-line options, like \-a, should be escaped by
a backslash.  I insert a few missing backslashes.
mandoc warns if the date in .TH doesn't look like a date.  Our manuals
had a missing date or the RCS keyword "$Revision$".  Git doesn't
expand RCS keywords.  I put in today's date, 2017-01-18.
Some manuals used tab characters in filled mode.  That doesn't work.
I use .nf to turn off filled mode, or I use .IP in man(7) to make the
indentation without a tab character.
ack(1) defined a macro .SB but never used it, so I delete the
definition.  I also remove a call to the missing macro .RF.
mandoc warns about empty paragraphs.  I deleted them.  mandoc also
warned about these macro pairs in anm(1):
    .SM
    .B text
The .SM did nothing because the .B text is on a different line.  I
changed each pair to .SB for small bold text.
I make a few other small changes.
		
	
			
		
			
				
	
	
		
			41 lines
		
	
	
	
		
			1.3 KiB
		
	
	
	
		
			Groff
		
	
	
	
	
	
			
		
		
	
	
			41 lines
		
	
	
	
		
			1.3 KiB
		
	
	
	
		
			Groff
		
	
	
	
	
	
.TH EM_OPT 6 2017-01-18
 | 
						|
.ad
 | 
						|
.SH NAME
 | 
						|
em_opt \- EM peephole optimizer
 | 
						|
.SH SYNOPSIS
 | 
						|
.B ~em/lib.bin/em_opt
 | 
						|
[\-Ln] [\-m[l]<num>] [ argument ]
 | 
						|
.SH DESCRIPTION
 | 
						|
Em_opt reads a compact EM-program, argument or standard input,
 | 
						|
and produces another compact EM program on standard output
 | 
						|
that is functionally equivalent,
 | 
						|
but smaller.
 | 
						|
Some other functions are here that make this program mandatory
 | 
						|
before running a codegenerator,
 | 
						|
it may be left out when interpretation is wanted.
 | 
						|
Flags recognized are:
 | 
						|
.IP \-L
 | 
						|
Make a library module.
 | 
						|
This means that the output will start with a message giving
 | 
						|
the names of all exported entities in this module.
 | 
						|
.IP \-n
 | 
						|
Do not optimize.
 | 
						|
No peephole optimizations will be performed,
 | 
						|
other functions will be carried out.
 | 
						|
.IP \-m<num>
 | 
						|
Try to replace multiplies with constants by combinations of shifts and adds,
 | 
						|
but no more than <num> of them.
 | 
						|
Integer overflow detection is lost with this option.
 | 
						|
.IP \-ml<num>
 | 
						|
Like \-m<num>, but also for long multiplies.
 | 
						|
.SH "FILES"
 | 
						|
/tmp/emopt??????, is used when the \-L flag is given only.
 | 
						|
.SH "SEE ALSO"
 | 
						|
ack(1)
 | 
						|
.PD 0
 | 
						|
.IP [1]
 | 
						|
A.S. Tanenbaum, Hans van Staveren, Ed Keizer and Johan
 | 
						|
Stevenson "Description of a machine architecture for use with
 | 
						|
block structured languages" Informatica report IR-81.
 | 
						|
.SH AUTHOR
 | 
						|
Hans van Staveren, Vrije Universiteit
 |