227 lines
		
	
	
	
		
			4.2 KiB
		
	
	
	
		
			Groff
		
	
	
	
	
	
			
		
		
	
	
			227 lines
		
	
	
	
		
			4.2 KiB
		
	
	
	
		
			Groff
		
	
	
	
	
	
.TH AFPC 1
 | 
						|
.SH NAME
 | 
						|
afpc \- fast ACK compatible Pascal compiler
 | 
						|
.SH SYNOPSIS
 | 
						|
.B afpc
 | 
						|
[
 | 
						|
.B \-c
 | 
						|
]
 | 
						|
[
 | 
						|
.B \-v
 | 
						|
]
 | 
						|
[
 | 
						|
.B \-vn
 | 
						|
]
 | 
						|
[ \fB\-D\fIname\fR ]
 | 
						|
[ \fB\-D\fIname\fB=\fIdef\fR ]
 | 
						|
[
 | 
						|
.BI \-I pathname
 | 
						|
]
 | 
						|
[
 | 
						|
.B \-w
 | 
						|
]
 | 
						|
[
 | 
						|
.B \-g
 | 
						|
]
 | 
						|
[
 | 
						|
.B \-L
 | 
						|
]
 | 
						|
[
 | 
						|
.B \-o 
 | 
						|
.I outfile
 | 
						|
]
 | 
						|
[
 | 
						|
.B \-R
 | 
						|
]
 | 
						|
[
 | 
						|
.B \-A
 | 
						|
]
 | 
						|
[
 | 
						|
.B \-a
 | 
						|
]
 | 
						|
[
 | 
						|
.B \-d
 | 
						|
]
 | 
						|
[
 | 
						|
.BI \-i num
 | 
						|
]
 | 
						|
[
 | 
						|
.B \-t
 | 
						|
]
 | 
						|
[
 | 
						|
.B \-C
 | 
						|
]
 | 
						|
[
 | 
						|
.B \-U+
 | 
						|
]
 | 
						|
[
 | 
						|
.B \-u+
 | 
						|
]
 | 
						|
[
 | 
						|
.B \-s+
 | 
						|
]
 | 
						|
[
 | 
						|
.B \-c+
 | 
						|
]
 | 
						|
[
 | 
						|
.BI \-U name
 | 
						|
]
 | 
						|
[
 | 
						|
.BI -M compiler
 | 
						|
]
 | 
						|
.I sourcefile ...
 | 
						|
.SH DESCRIPTION
 | 
						|
.LP
 | 
						|
.I afpc
 | 
						|
is a fast
 | 
						|
.B Pascal
 | 
						|
compiler. It translates 
 | 
						|
.B Pascal
 | 
						|
programs
 | 
						|
into ack(1)-compatible relocatable object modules, and does so in one pass.
 | 
						|
Then, if the \fB\-c\fP flag is not given,
 | 
						|
.I afpc
 | 
						|
offers the object modules to a link-editor,
 | 
						|
to create an executable binary.
 | 
						|
.LP
 | 
						|
.I Fpc
 | 
						|
accepts several types of filename arguments.  Files with 
 | 
						|
names ending in
 | 
						|
.B .p
 | 
						|
are taken to be 
 | 
						|
.B Pascal
 | 
						|
source programs. 
 | 
						|
They are compiled, and the resulting object module is placed in the current
 | 
						|
directory.
 | 
						|
The object module is named after its source file, the suffix
 | 
						|
.B .o
 | 
						|
replacing 
 | 
						|
.BR .p
 | 
						|
in the name of the object.
 | 
						|
A file with suffix
 | 
						|
.B .p
 | 
						|
is passed through the C preprocessor if it begins with a '#'.
 | 
						|
.LP
 | 
						|
Other arguments refer to loader options,
 | 
						|
object modules, or object libraries.
 | 
						|
Unless the
 | 
						|
.B \-c
 | 
						|
flag is given, these modules and libraries, together with the results of any
 | 
						|
specified compilations, are passed (in the order given) to the
 | 
						|
link-editor to produce
 | 
						|
an output file named
 | 
						|
.IR a.out .
 | 
						|
You can specify a name for the executable by using the
 | 
						|
.B \-o 
 | 
						|
option.
 | 
						|
.LP
 | 
						|
If a single 
 | 
						|
.B Pascal
 | 
						|
program is compiled and loaded all at once, the object module
 | 
						|
file is deleted.
 | 
						|
.SH OPTIONS
 | 
						|
.LP
 | 
						|
.IP \fB\-c\fP
 | 
						|
.br
 | 
						|
Suppress the loading phase of the compilation, and force an object module to
 | 
						|
be produced, even if only one program is compiled.
 | 
						|
A single object module can be named explicitly using the
 | 
						|
.B \-o
 | 
						|
option.
 | 
						|
.IP \fB\-D\fIname\fR\fB=\fIdef\fR
 | 
						|
Define a symbol
 | 
						|
.I name
 | 
						|
to the 
 | 
						|
preprocessor, as if by "#define".
 | 
						|
.IP \fB\-D\fIname\fR
 | 
						|
.br
 | 
						|
same as \fB\-D\fIname\fB=1\fR.
 | 
						|
.IP \fB\-I\fIpathname\fR
 | 
						|
.br
 | 
						|
Add
 | 
						|
.I pathname
 | 
						|
to the list of directories in which to search for
 | 
						|
.B #include
 | 
						|
files with filenames not beginning with slash.
 | 
						|
The preprocessor first searches for
 | 
						|
.B #include
 | 
						|
files in the directory containing
 | 
						|
.I sourcefile,
 | 
						|
then in directories in
 | 
						|
.B \-I
 | 
						|
options, and finally, in
 | 
						|
.I /usr/include.
 | 
						|
.IP "\fB\-o \fIoutput\fR"
 | 
						|
Name the final output file
 | 
						|
.I output.
 | 
						|
.IP \fB\-U\fIname\fR
 | 
						|
.br
 | 
						|
Remove any initial definition of
 | 
						|
.I name.
 | 
						|
.IP \fB\-v\fP
 | 
						|
.br
 | 
						|
Verbose. Print the commands as they are executed.
 | 
						|
.IP \fB\-vn\fP
 | 
						|
.br
 | 
						|
Verbose, no execute. Only print the commands, do not execute them.
 | 
						|
.IP \fB\-L\fP
 | 
						|
.br
 | 
						|
do not generate code to keep track of
 | 
						|
the current location in the source code.
 | 
						|
.IP \fB\-g\fP
 | 
						|
.br
 | 
						|
Produce symbolic debugging information for grind(1).
 | 
						|
.IP \fB\-w\fP
 | 
						|
.br
 | 
						|
suppress warning messages.
 | 
						|
.IP \fB\-d\fP
 | 
						|
.br
 | 
						|
allow for "long"s.
 | 
						|
.IP \fB\-i\fInum\fR
 | 
						|
.br
 | 
						|
set size for integer sets. By default, the set size is the word size.
 | 
						|
.IP \fB\-C\fP
 | 
						|
.br
 | 
						|
distinguish between lower case and upper case. Normally, upper case letters
 | 
						|
are considered equal to their lower case counterpart.
 | 
						|
.IP \fB\-t\fP
 | 
						|
.br
 | 
						|
trace calls and exits of procedures and functions.
 | 
						|
.IP \fB\-R\fP
 | 
						|
.br
 | 
						|
disable all range-checks.
 | 
						|
.IP \fB\-A\fP
 | 
						|
.br
 | 
						|
enable extra array bound checks. Unfortunately, the back-end used for this
 | 
						|
compiler is a bit sloppy, so extra array bound checks are needed if you want
 | 
						|
detection of array bound errors.
 | 
						|
.IP \fB\-a\fP
 | 
						|
.br
 | 
						|
disable assertions. Assertions are skipped instead of evaluated.
 | 
						|
.IP "\fB\-U+\fP, \fB\-u+\fP"
 | 
						|
.br
 | 
						|
allow for underscores within identifiers. Identifiers may not start
 | 
						|
with an underscore, even if this flag is given.
 | 
						|
.IP \fB-s+\fP
 | 
						|
.br
 | 
						|
allow only standard 
 | 
						|
.BR Pascal .
 | 
						|
This disables the \fB\-c+\fP, \fB\-d\fR, \fB\-u+\fR,
 | 
						|
\fB\-U+\fR and \fB\-C\fR options.
 | 
						|
Furthermore, assertions are not recognized at all.
 | 
						|
.IP \fB-c+\fP
 | 
						|
.br
 | 
						|
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\-M\fIcompiler\fR
 | 
						|
.br
 | 
						|
use \fIcompiler\fR as Modula-2 compiler instead of the default.
 | 
						|
.SH "SEE ALSO"
 | 
						|
.IP [1]
 | 
						|
J.W. Stevenson, H. v. Eck, \fIAmsterdam Compiler Kit-Pascal reference manual\fP.
 | 
						|
.IP [2]
 | 
						|
ack(1) unix manual page.
 | 
						|
.IP [3]
 | 
						|
grind(1) unix manual page.
 | 
						|
.SH DIAGNOSTICS
 | 
						|
Diagnostics are intended to be self-explanatory.
 |