91 lines
		
	
	
	
		
			3.1 KiB
		
	
	
	
		
			Groff
		
	
	
	
	
	
			
		
		
	
	
			91 lines
		
	
	
	
		
			3.1 KiB
		
	
	
	
		
			Groff
		
	
	
	
	
	
| .TH EM_M2 6ACK
 | |
| .ad
 | |
| .SH NAME
 | |
| em_m2 \- ACK Modula\-2 compiler
 | |
| .SH SYNOPSIS
 | |
| .B em_m2
 | |
| .RI [ option ] 
 | |
| .I source
 | |
| .I destination
 | |
| .SH DESCRIPTION
 | |
| .I Em_m2
 | |
| is a
 | |
| compiler, part of the Amsterdam Compiler Kit, that translates Modula-2 programs
 | |
| into EM code.
 | |
| The input is taken from
 | |
| .IR source ,
 | |
| while the
 | |
| EM code is written on 
 | |
| .IR destination .
 | |
| .br
 | |
| .I Option
 | |
| is a, possibly empty, sequence of the following combinations:
 | |
| .IP \fB\-I\fIdirname\fR
 | |
| .br
 | |
| append \fIdirname\fR to the list of directories where definition modules
 | |
| are looked for.
 | |
| .PP
 | |
| When the compiler needs a definition module, it is first searched for
 | |
| in the current directory, and then in the directories given to it by the
 | |
| \-\fBI\fR flag
 | |
| in the order given.
 | |
| .IP \fB\-M\fP\fIn\fP
 | |
| set maximum identifier length to \fIn\fP.
 | |
| The minimum value for \fIn\fR is 14, because the keyword
 | |
| "IMPLEMENTATION" is that long.
 | |
| .IP \fB\-n\fR
 | |
| do not generate EM register messages.
 | |
| The user-declared variables will not be stored into registers on the target
 | |
| machine.
 | |
| .IP \fB\-L\fR
 | |
| do not generate the EM \fBfil\fR and \fBlin\fR instructions that enable
 | |
| an interpreter to keep track of the current location in the source code.
 | |
| .IP \fB\-V\fIcm\fR.\fIn\fR,\ \fB\-V\fIcm\fR.\fIncm\fR.\fIn\fR\ ...
 | |
| .br
 | |
| set the size and alignment requirements.
 | |
| The letter \fIc\fR indicates the simple type, which is one of
 | |
| \fBw\fR(word size), \fBi\fR(INTEGER), \fBl\fR(LONGINT), \fBf\fR(REAL),
 | |
| \fBd\fR(LONGREAL), or \fBp\fR(POINTER).
 | |
| It may also be the letter \fBS\fR, indicating that an initial
 | |
| record alignment follows.
 | |
| The \fIm\fR parameter can be used to specify the length of the type (in bytes)
 | |
| and the \fIn\fR parameter for the alignment of that type.
 | |
| Absence of \fIm\fR or \fIn\fR causes a default value to be retained.
 | |
| .IP \fB\-w\fR\fIclasses\fR
 | |
| suppress warning messages whose class is a member of \fIclasses\fR.
 | |
| Currently, there are three classes: \fBO\fR, indicating old-flashioned use,
 | |
| \fBW\fR, indicating "ordinary" warnings, and \fBR\fR, indicating
 | |
| restricted Modula-2.
 | |
| If no \fIclasses\fR are given, all warnings are suppressed.
 | |
| By default, warnings in class \fBO\fR and \fBW\fR are given.
 | |
| .IP \fB\-W\fR\fIclasses\fR
 | |
| allow for warning messages whose class is a member of \fIclasses\fR.
 | |
| .IP \fB\-x\fR
 | |
| make all procedure names global, so that \fIadb\fR(1) understands them.
 | |
| .IP \fB\-s\fR
 | |
| make INTEGER ranges symmetric, t.i., MIN(INTEGER) = - MAX(INTEGER).
 | |
| This is useful for interpreters that use the "real" MIN(INTEGER) to
 | |
| indicate "undefined".
 | |
| .IP \fB-R\fR
 | |
| disable all range checks.
 | |
| .IP \fB-A\fR
 | |
| enable extra array bound checks, for machines that do not implement the
 | |
| EM ones.
 | |
| .IP \fB-U\fR
 | |
| allow for underscores within identifiers. Identifiers may not start with
 | |
| an underscore, even if this flag is given.
 | |
| .IP \fB-3\fR
 | |
| only accept Modula-2 programs that strictly conform to [1].
 | |
| .LP
 | |
| .SH FILES
 | |
| .IR ~em/lib/em_m2 :
 | |
| binary of the Modula-2 compiler.
 | |
| .SH SEE ALSO
 | |
| \fIack\fR(1), \fImodula-2\fR(1)
 | |
| .IP [1]
 | |
| N. Wirth, \fIProgramming in Modula-2\fP, 3rd edition, Springer Verlag.
 | |
| .SH DIAGNOSTICS
 | |
| All warning and error messages are written on standard error output.
 | |
| .SH REMARKS
 | |
| Debugging and profiling facilities may be present during the development
 | |
| of \fIem_m2\fP.
 |