From 49d31eaeff4f995814685df419f214fa8bc461ca Mon Sep 17 00:00:00 2001 From: ceriel Date: Mon, 23 Oct 1989 11:25:20 +0000 Subject: [PATCH] initial commit --- fast_misc/man/.distr | 5 + fast_misc/man/afcc.1 | 157 ++++++++++++++++++++++++++ fast_misc/man/afm2.1.src | 214 ++++++++++++++++++++++++++++++++++++ fast_misc/man/fcc.1 | 160 +++++++++++++++++++++++++++ fast_misc/man/fm2.1.src | 230 +++++++++++++++++++++++++++++++++++++++ fast_misc/man/fpc.1 | 230 +++++++++++++++++++++++++++++++++++++++ 6 files changed, 996 insertions(+) create mode 100644 fast_misc/man/.distr create mode 100644 fast_misc/man/afcc.1 create mode 100644 fast_misc/man/afm2.1.src create mode 100644 fast_misc/man/fcc.1 create mode 100644 fast_misc/man/fm2.1.src create mode 100644 fast_misc/man/fpc.1 diff --git a/fast_misc/man/.distr b/fast_misc/man/.distr new file mode 100644 index 000000000..f222c72f9 --- /dev/null +++ b/fast_misc/man/.distr @@ -0,0 +1,5 @@ +afcc.1 +afm2.1.src +fcc.1 +fm2.1.src +fpc.1 diff --git a/fast_misc/man/afcc.1 b/fast_misc/man/afcc.1 new file mode 100644 index 000000000..d618f0aa3 --- /dev/null +++ b/fast_misc/man/afcc.1 @@ -0,0 +1,157 @@ +.TH AFCC 1 +.SH NAME +afcc \- fast ACK compatible C compiler +.SH SYNOPSIS +.B afcc +[ +.B \-c +] +[ +.B \-O +] +[ +.B \-v +] +[ +.B \-vn +] +[ \fB\-D\fIname\fR ] +[ \fB\-D\fIname\fB=\fIdef\fR ] +[ +.BI \-I pathname +] +[ +.B \-w +] +[ +.B \-o +.I outfile +] +[ +.B \-R +] +[ +.BI \-U name +] +[ +.BI -M compiler +] +.I sourcefile ... +.SH DESCRIPTION +.LP +.I Afcc +is a fast +.B C +compiler. It translates +.B C +programs +into ack(1ACK)-compatible relocatable object modules, and does so in one pass. +Then, if the \fB\-c\fP flag is not given, +.I afcc +offers the object modules to a link-editor, +to create an executable binary. +.LP +.I Afcc +accepts several types of filename arguments. Files with +names ending in +.B .c +are taken to be +.B C +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 .c +in the name of the object. +.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. +.SH OPTIONS +.LP +The \fB\-l\fIlib\fR, \fB\-d\fP, \fB\-n\fP, \fB\-N\fP, +\fB\-r\fP, \fB\-s\fP, \fB\-S\fP, \fB\-i\fP, and \fB\-u\fP options are +passed to the link-editor program. +The \fB\-u\fP option takes an extra argument. +.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 compiler first searches for +.B #include +files in the directory containing +.I sourcefile, +then in directories in +.B \-I +options, then in the ACK include directory, +and finally, in +.I /usr/include. +.IP "\fB\-o \fIoutput\fR" +Name the final output file +.I output. +.IP \fB\-O\fP +.br +Use a version of the compiler that is just a bit slower, but produces +better code. +.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\-w\fP +suppress warning messages. +.IP \fB\-R\fP +.br +test for more compatibility with Kernighan & Ritchie C [1]. +.IP \fB\-M\fIcompiler\fR +.br +use \fIcompiler\fR as C-2 compiler instead of the default. +.LP +Object modules produced by ack(1ACK) and +.I afcc +can be freely mixed. +.SH "SEE ALSO" +.IP [1] +B.W. Kernighan, D. Ritchie, "\fIThe C programming Language\fP", Prentice-Hall Inc., 1978 +.IP [2] +E.H. Baalbergen, "\fIThe ACK CEM compiler\fP". +.IP [3] +ack(1ACK) manual page. +.SH DIAGNOSTICS +Diagnostics are intended to be self-explanatory. +.SH REMARKS +You need the 4th ACK distribution to be able to use this program. diff --git a/fast_misc/man/afm2.1.src b/fast_misc/man/afm2.1.src new file mode 100644 index 000000000..a6cc06af9 --- /dev/null +++ b/fast_misc/man/afm2.1.src @@ -0,0 +1,214 @@ +.TH FM2 1 +.SH NAME +afm2 \- fast ACK compatible Modula-2 compiler +.SH SYNOPSIS +.B afm2 +[ +.B \-c +] +[ +.B \-O +] +[ +.B \-v +] +[ +.B \-vn +] +[ \fB\-D\fIname\fR ] +[ \fB\-D\fIname\fB=\fIdef\fR ] +[ +.BI \-I pathname +] +[ +.BI \-w classes +] +[ +.BI \-W classes +] +[ +.B \-L +] +[ +.B \-o +.I outfile +] +[ +.B \-R +] +[ +.B \-A +] +[ +.B \-3 +] +[ +.B \-_ +] +[ +.BI \-U name +] +[ +.BI -M compiler +] +.I sourcefile ... +.SH DESCRIPTION +.LP +.I afm2 +is a fast +.B Modula-2 +compiler. It translates +.B Modula-2 +programs +into ack(1ACK)-compatible relocatable object modules, and does so in one pass. +Then, if the \fB\-c\fP flag is not given, +.I afm2 +offers the object modules to a link-editor, +to create an executable binary. +.LP +.I Afm2 +accepts several types of filename arguments. Files with +names ending in +.B .mod +are taken to be +.B Modula-2 +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 .mod +in the name of the object. +A file with suffix +.B .mod +is passed through the C preprocessor if it begins with a '#'. +.PP +Definition modules are not separately compiled. The compiler reads them when +it needs them. +Definition modules are expected to reside in files with names ending +in +.BR .def . +The name of the file in which a definition module is stored must be the same as +the module-name, apart from the extension. +Also, in most Unix systems filenames are only 14 characters long. +So, given an IMPORT declaration for a module called "LongModulName", +the compiler will try to open a file called "LongModulN.def". +The requirement does not hold for implementation or program modules, +but is certainly recommended. +.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. +.SH OPTIONS +.LP +The \fB\-l\fIlib\fR, \fB\-d\fP, \fB\-n\fP, \fB\-N\fP, +\fB\-r\fP, \fB\-s\fP, \fB\-S\fP, \fB\-i\fP, and \fB\-u\fP options are +passed to the link-editor program. +The \fB\-u\fP option takes an extra argument. +.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, then in the ACK include directory, +and finally, in +.I /usr/include. +This flag is also passed to the compiler. When the compiler needs a definition +module, it is first searched for in the current directory, then in the +directories given to it by the \fB\-I\fP flag, and then in a default directory, +.I CHANGE_ME. +.I afm2 +This default directory contains all definition modules of +the runtime system. +.IP "\fB\-o \fIoutput\fR" +Name the final output file +.I output. +.IP \fB\-O\fP +.br +Use a version of the compiler that is just a bit slower, but produces +better code. +.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\fR +do not generate code to keep track of +the current location in the source code. +.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\-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\-3\fP +.br +Only accept Modula-2 programs that strictly conform to the 3rd Edition of +[1]. +.IP \fB\-_\fP +.br +allow for underscores within identifiers. Identifiers may not start or end +with an underscore, even if this flag is given. +.IP \fB\-M\fIcompiler\fR +.br +use \fIcompiler\fR as Modula-2 compiler instead of the default. +.SH "SEE ALSO" +.IP [1] +N. Wirth, \fIProgramming in Modula-2\fP, 3rd edition, Springer Verlag. +.IP [2] +C.J.H. Jacobs, \fIThe ACK Modula-2 Compiler\fP. +.IP [3] +ack(1ACK) unix manual page. +.SH DIAGNOSTICS +Diagnostics are intended to be self-explanatory. +.SH REMARKS +You need the 4th ACK distribution to be able to use this program. diff --git a/fast_misc/man/fcc.1 b/fast_misc/man/fcc.1 new file mode 100644 index 000000000..a0b5e1f55 --- /dev/null +++ b/fast_misc/man/fcc.1 @@ -0,0 +1,160 @@ +.TH FCC 1 +.SH NAME +fcc \- fast CC-compatible C compiler +.SH SYNOPSIS +.B fcc +[ +.B \-c +] +[ +.B \-O +] +[ +.B \-v +] +[ +.B \-vn +] +[ \fB\-D\fIname\fR ] +[ \fB\-D\fIname\fB=\fIdef\fR ] +[ +.BI \-I pathname +] +[ +.B \-w +] +[ +.B \-o +.I outfile +] +[ +.B \-R +] +[ +.BI \-U name +] +[ +.BI -M compiler +] +.I sourcefile ... +.SH DESCRIPTION +.LP +.I Fcc +is a fast +.B C +compiler. It translates +.B C +programs +into cc(1)-compatible relocatable object modules, and does so in one pass. +Then, if the \fB\-c\fP flag is not given, +.I fcc +offers the object modules to a link-editor, +to create an executable binary. +.LP +.I Fcc +accepts several types of filename arguments. Files with +names ending in +.B .c +are taken to be +.B C +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 .c +in the name of the object. +.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 C +program is compiled and loaded all at once, the object module +file is deleted. +.SH OPTIONS +.LP +The \fB\-l\fIlib\fR, \fB\-d\fP, \fB\-n\fP, \fB\-N\fP, +\fB\-r\fP, \fB\-s\fP, \fB\-S\fP, \fB\-i\fP, and \fB\-u\fP options are +passed to the link-editor program. +The \fB\-u\fP option takes an extra argument. +.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 compiler 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\-O\fP +.br +Use a version of the compiler that is just a bit slower, but produces +better code. +.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\-w\fP +suppress warning messages. +.IP \fB\-R\fP +.br +test for more compatibility with Kernighan & Ritchie C [1]. +.IP \fB\-M\fIcompiler\fR +.br +use \fIcompiler\fR as C-2 compiler instead of the default. +.LP +Object modules produced by cc(1) and +.I fcc +can be freely mixed, as long as the link-editor is called through +.I fcc. +.SH "SEE ALSO" +.IP [1] +B.W. Kernighan, D. Ritchie, "\fIThe C programming Language\fP", Prentice-Hall Inc., 1978 +.IP [2] +E.H. Baalbergen, "\fIThe ACK CEM compiler\fP". +.IP [3] +cc(1) unix manual page. +.SH DIAGNOSTICS +Diagnostics are intended to be self-explanatory. diff --git a/fast_misc/man/fm2.1.src b/fast_misc/man/fm2.1.src new file mode 100644 index 000000000..249342086 --- /dev/null +++ b/fast_misc/man/fm2.1.src @@ -0,0 +1,230 @@ +.TH FM2 1 +.SH NAME +fm2 \- fast CC compatible Modula-2 compiler +.SH SYNOPSIS +.B fm2 +[ +.B \-c +] +[ +.B \-O +] +[ +.B \-v +] +[ +.B \-vn +] +[ \fB\-D\fIname\fR ] +[ \fB\-D\fIname\fB=\fIdef\fR ] +[ +.BI \-I pathname +] +[ +.BI \-w classes +] +[ +.BI \-W classes +] +[ +.B \-L +] +[ +.B \-o +.I outfile +] +[ +.B \-R +] +[ +.B \-A +] +[ +.B \-3 +] +[ +.B \-U +] +[ +.B \-e +] +[ +.BI \-U name +] +[ +.BI -M compiler +] +.I sourcefile ... +.SH DESCRIPTION +.LP +.I fm2 +is a fast +.B Modula-2 +compiler. It translates +.B Modula-2 +programs +into cc(1)-compatible relocatable object modules, and does so in one pass. +Then, if the \fB\-c\fP flag is not given, +.I fm2 +offers the object modules to a link-editor, +to create an executable binary. +.LP +.I Fm2 +accepts several types of filename arguments. Files with +names ending in +.B .mod +are taken to be +.B Modula-2 +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 .mod +in the name of the object. +A file with suffix +.B .mod +is passed through the C preprocessor if it begins with a '#'. +.PP +Definition modules are not separately compiled. The compiler reads them when +it needs them. +Definition modules are expected to reside in files with names ending +in +.BR .def . +The name of the file in which a definition module is stored must be the same as +the module-name, apart from the extension. +Also, in most Unix systems filenames are only 14 characters long. +So, given an IMPORT declaration for a module called "LongModulName", +the compiler will try to open a file called "LongModulN.def". +The requirement does not hold for implementation or program modules, +but is certainly recommended. +.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 Modula-2 +program is compiled and loaded all at once, the object module +file is deleted. +.SH OPTIONS +.LP +The \fB\-l\fIlib\fR, \fB\-d\fP, \fB\-n\fP, \fB\-N\fP, +\fB\-r\fP, \fB\-s\fP, \fB\-S\fP, \fB\-i\fP, and \fB\-u\fP options are +passed to the link-editor program. +The \fB\-u\fP option takes an extra argument. +.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. +This flag is also passed to the compiler. When the compiler needs a definition +module, it is first searched for in the current directory, then in the +directories given to it by the \fB\-I\fP flag, and then in a default directory, +.I CHANGE_ME. +.I fm2 +This default directory contains all definition modules of +the runtime system. +.IP "\fB\-o \fIoutput\fR" +Name the final output file +.I output. +.IP \fB\-O\fP +.br +Use a version of the compiler that is just a bit slower, but produces +better code. +.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\fR +do not generate code to keep track of +the current location in the source code. +.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\-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\-3\fP +.br +Only accept Modula-2 programs that strictly conform to the 3rd Edition of +[1]. +.IP \fB\-U\fP +.br +allow for underscores within identifiers. Identifiers may not start or end +with an underscore, even if this flag is given. +.IP \fB\-e\fP +.br +allow for local extensions. Currently, the only local extensions are +procedure constants. +.IP \fB\-M\fIcompiler\fR +.br +use \fIcompiler\fR as Modula-2 compiler instead of the default. +.PP +The compiler does not do any version-control. Instead, a makefile +generator, +.IR m2mm , +is included. +.SH "SEE ALSO" +.IP [1] +N. Wirth, \fIProgramming in Modula-2\fP, 3rd edition, Springer Verlag. +.IP [2] +C.J.H. Jacobs, \fIThe ACK Modula-2 Compiler\fP. +.IP [3] +cc(1) unix manual page. +.IP [4] +m2mm(1) manual page. +.SH DIAGNOSTICS +Diagnostics are intended to be self-explanatory. diff --git a/fast_misc/man/fpc.1 b/fast_misc/man/fpc.1 new file mode 100644 index 000000000..aaf061cd6 --- /dev/null +++ b/fast_misc/man/fpc.1 @@ -0,0 +1,230 @@ +.TH FM2 1 +.SH NAME +fpc \- fast CC compatible Modula-2 compiler +.SH SYNOPSIS +.B fpc +[ +.B \-c +] +[ +.B \-O +] +[ +.B \-v +] +[ +.B \-vn +] +[ \fB\-D\fIname\fR ] +[ \fB\-D\fIname\fB=\fIdef\fR ] +[ +.BI \-I pathname +] +[ +.B \-w +] +[ +.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 fpc +is a fast +.B Pascal +compiler. It translates +.B Pascal +programs +into cc(1)-compatible relocatable object modules, and does so in one pass. +Then, if the \fB\-c\fP flag is not given, +.I fpc +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 +The \fB\-l\fIlib\fR, \fB\-d\fP, \fB\-n\fP, \fB\-N\fP, +\fB\-r\fP, \fB\-s\fP, \fB\-S\fP, \fB\-i\fP, and \fB\-u\fP options are +passed to the link-editor program. +The \fB\-u\fP option takes an extra argument. +.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\-O\fP +.br +Use a version of the compiler that is just a bit slower, but produces +better code. +.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\-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] +cc(1) unix manual page. +.SH DIAGNOSTICS +Diagnostics are intended to be self-explanatory.