82 lines
		
	
	
	
		
			2.6 KiB
		
	
	
	
		
			Groff
		
	
	
	
	
	
			
		
		
	
	
			82 lines
		
	
	
	
		
			2.6 KiB
		
	
	
	
		
			Groff
		
	
	
	
	
	
| .TH EM_PC 6ACK
 | |
| .ad
 | |
| .SH NAME
 | |
| em_pc \- Pascal compiler
 | |
| .SH SYNOPSIS
 | |
| .B em_pc
 | |
| .RI [ option ]
 | |
| .I source
 | |
| .I destination
 | |
| .SH DESCRIPTION
 | |
| .I Em_pc
 | |
| is a compiler that translates Pascal programs into EM code.
 | |
| Normally the compiler is called by means of the user interface program
 | |
| \fIack\fR(1).
 | |
| .PP
 | |
| 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\-M\fP\fIn\fP
 | |
| set maximum identifier length to \fIn\fP.
 | |
| The minimum value for \fIn\fR is 9, because the keyword
 | |
| "PROCEDURE" is that long.
 | |
| .IR n
 | |
| .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(LONG), \fBr\fR(REAL),
 | |
| \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
 | |
| suppress warning messages.
 | |
| .IP
 | |
| .IP \fB\-R\fR
 | |
| disable range checks. Additionally, the run-time tests to see if
 | |
| a function is assigned, are skipped.
 | |
| .IP \fB\-A\fR
 | |
| enable extra array bound checks, for machines that do not implement the
 | |
| EM ones.
 | |
| .IP \fB\-C\fR
 | |
| the lower case and upper case letters are treated differently.
 | |
| .IP "\fB\-u\fR, \fB\-U\fR"
 | |
| allow underscores in identifiers. It is not allowed to start an identifier
 | |
| with an underscore.
 | |
| .IP \fB\-a\fR
 | |
| don't generate code for assertions.
 | |
| .IP \fB\-c\fR
 | |
| allow C-like strings. This option is mainly intended for usage with
 | |
| C-functions. This option will cause the type 'string' to be known.
 | |
| .IP \fB\-d\fR
 | |
| allow the type 'long'.
 | |
| .IP \fB\-i\fR\fIn\fR
 | |
| set the size of integer sets to \fIn\fR. When not used, a default value is
 | |
| retained.
 | |
| .IP \fB\-s\fR
 | |
| allow only standard Pascal. This disables the \fB\-c\fR, \fB\-d\fR, \fB\-u\fR,
 | |
| \fB\-U\fR and \fB\-C\fR
 | |
| options. Furthermore, assertions are not recognized at all (instead of just
 | |
| being skipped).
 | |
| .IP \fB\-t\fR
 | |
| trace calls and exits of procedures and functions.
 | |
| .PP
 | |
| .SH FILES
 | |
| .IR ~em/lib/em_pc :
 | |
| binary of the Pascal compiler.
 | |
| .SH DIAGNOSTICS
 | |
| All warning and error messages are written on standard error output.
 |