1986-11-12 09:53:18 +00:00
|
|
|
.TH CEMCOM 1L 86/11/12
|
1986-03-10 13:07:55 +00:00
|
|
|
.SH NAME
|
|
|
|
cemcom \- C to EM compiler
|
|
|
|
.SH SYNOPSIS
|
|
|
|
\fBcemcom\fP [\fIoptions\fP] \fIsource \fP[\fIdestination \fP[\fInamelist\fP]]
|
|
|
|
.SH DESCRIPTION
|
|
|
|
\fICemcom\fP is a compiler that translates C programs
|
|
|
|
into EM compact code.
|
|
|
|
The input is taken from \fIsource\fP, while the
|
|
|
|
EM code is written on \fIdestination\fP.
|
|
|
|
If either of these two names is "\fB-\fP", standard input or output respectively
|
|
|
|
is taken.
|
|
|
|
The file \fInamelist\fP, if supplied, will contain a list of the names
|
|
|
|
of external, so-called \fBcommon\fP, variables.
|
|
|
|
When the preprocessor is invoked to run stand-alone, \fIdestination\fP
|
|
|
|
needs not be specified.
|
|
|
|
.br
|
|
|
|
\fIOptions\fP is a, possibly empty, sequence of the following combinations:
|
|
|
|
.IP \fB\-C\fR
|
|
|
|
list the sequence of input tokens while maintaining the comments.
|
|
|
|
.IP \fB\-D\fIname\fR=\fItext\fR
|
|
|
|
.br
|
|
|
|
define \fIname\fR as a macro with \fItext\fR as its replacement text.
|
|
|
|
.IP \fB\-D\fIname\fR
|
|
|
|
.br
|
|
|
|
the same as \fB\-D\fIname\fR=1.
|
|
|
|
.IP \fB\-E\fR
|
|
|
|
list the sequence of input tokens and delete any comments.
|
|
|
|
Control lines of the form
|
|
|
|
.RS
|
|
|
|
.RS
|
|
|
|
#\fBline\fR <\fIinteger\fR> "\fIfilename\fR"
|
|
|
|
.RE
|
|
|
|
are generated whenever needed.
|
|
|
|
.RE
|
|
|
|
.IP \fB\-I\fIdirname\fR
|
|
|
|
.br
|
|
|
|
insert \fIdirname\fR in the list of include directories.
|
|
|
|
.IP \fB\-M\fP\fIn\fP
|
|
|
|
set maximum identifier length to \fIn\fP.
|
|
|
|
.IP \fB\-n\fR
|
|
|
|
do not generate EM register messages.
|
|
|
|
The user-declared variables are not stored into registers on the target
|
|
|
|
machine.
|
|
|
|
.IP \fB\-p\fR
|
|
|
|
generate the EM \fBfil\fR and \fBlin\fR instructions in order to enable
|
|
|
|
an interpreter to keep track of the current location in the source code.
|
|
|
|
.IP \fB\-P\fR
|
|
|
|
like \fB\-E\fR but without #\fBline\fR control lines.
|
|
|
|
.IP \fB\-R\fR
|
|
|
|
interpret the input as restricted C (according to the language as
|
|
|
|
described in \fIThe C programming language\fR by Kernighan and Ritchie.)
|
|
|
|
.IP \fB\-U\fIname\fR
|
|
|
|
.br
|
|
|
|
get rid of the compiler-predefined macro \fIname\fR.
|
|
|
|
.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
|
|
|
|
\fBs\fR(short), \fBi\fR(int), \fBl\fR(long), \fBf\fR(float), \fBd\fR(double) or
|
|
|
|
\fBp\fR(pointer).
|
|
|
|
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 the default value to be retained.
|
|
|
|
To specify that the bitfields should be right adjusted instead of the
|
|
|
|
default left adjustment, specify \fBr\fR as \fIc\fR parameter.
|
|
|
|
.IP \fB\-w\fR
|
|
|
|
suppress warning messages
|
|
|
|
.IP \fB\-\-\fItext\fR
|
|
|
|
.br
|
|
|
|
where \fItext\fR can be either of the above or
|
|
|
|
a debug flag of the compiler (which is not useful for the common user.)
|
|
|
|
This feature can be used in various shell scripts and surrounding programs
|
|
|
|
to force a certain option to be handed over to \fBcemcom\fR.
|
|
|
|
.LP
|
|
|
|
.SH FILES
|
1986-11-12 09:53:18 +00:00
|
|
|
.IR /usr/em/lib/em_cemcom :
|
|
|
|
the compiler
|
1986-03-10 13:07:55 +00:00
|
|
|
.SH DIAGNOSTICS
|
|
|
|
All warning and error messages are written on standard error output.
|
|
|
|
.SH BUGS
|
1986-11-12 09:53:18 +00:00
|
|
|
Feel free to report them to erikb@vu44.uucp
|
1986-03-10 13:07:55 +00:00
|
|
|
.SH REFERENCE
|
|
|
|
Baalbergen, E.H., D. Grune, M. Waage ;"\fIThe CEM compiler\fR",
|
|
|
|
Informatica Manual IM-4
|