EM_CEMCOM(6)

NAME
em_cemcom - C to EM compiler

SYNOPSIS
~/em/lib.bin/em_cemcom [ options ] source [ destination [ namelist ] ]

DESCRIPTION
Cemcom is a compiler that translates C programs into EM compact code. The input is taken from source, while the EM code is written on destination. If either of these two names is "-", standard input or output respectively is taken. The file namelist, if supplied, will contain a list of the names of external, so-called common, variables. When the preprocessor is invoked to run stand-alone, destination needs not be specified.
Options is a, possibly empty, sequence of the following combinations:

-Dname=text
    define name as a macro with text as its replacement text.

-Dname
    the same as -Dname=1.

-Idirname
    insert dirname in the list of include directories.

-Mn set maximum identifier length to n.

-g  produce a DBX-style symbol table.

-n  do not generate EM register messages. The user-declared variables are not stored into registers on the target machine.

-L  don't generate the EM fil and lin instructions that usually are generated to enable an interpreter to keep track of the current location in the source code.

-p  generate code at each procedure entry to call the routine procentry, and at each return to call the routine These routines are supplied with one parameter, a pointer to a string containing the name of the procedure.

-A[file]
    if file is not given, generate a list of makefile dependencies and write them to the standard output. If file is given, generate the list of makefile dependencies on file file.

-i  when generating makefile dependencies, do not include files from /usr/include.

-m  when generating makefile dependencies, generate them in the following format:

    file.o: file1.h

    where "file.o" is derived from the source file name. Normally, only a list of files included is generated.

-R  interpret the input as restricted C (according to the language as described in The C programming language by Kernighan and Ritchie.)

-Uname
    get rid of the compiler-predefined macro name.

-Vcm.n, -Vcm.ncm.n ...
    set the size and alignment requirements. The letter c indicates the simple type, which is one of s(short), i(int), l(long), f(float), d(double) or p(pointer). The m parameter can be used to specify the length of the type (in bytes) and the n parameter for the alignment of that type. Absence of m or n causes the default value to be retained. To specify that the bitfields should be right adjusted instead of the default left adjustment, specify r as c parameter.

-w  suppress warning messages

--text
    where text 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 cemcom.

FILES
~em/lib.bin/em_cemcom: the compiler

DIAGNOSTICS
All warning and error messages are written on standard error output.

REFERENCE
Baalbergen, E.H., D. Grune, M. Waage ;"The CEM compiler", Informatica Manual IM-4