cim - Compile Simula programs into C
GNU Cim is the Simula compiler that compiles into C. The C program will
then be compiled with cc , and linked with other modules.
GNU Cim will accept one Simula program and other none
Simula modules. The specified Simula program will be compiled and linked
with the modules. If a main Simula program is compiled then it will be
automatic linked with the Simula modules that it uses. If a separate Class
or Procedure is compiled, then the linking will be supressed.
The following options are accepted by the cim command:
- -a
- Try to produce an atr-file even if an error occurs. Compare the produced
atr-file with the atr-file produced from previous compilation and if they
differ return an error status code. With use of this option it is possible
to have external modules with circular dependencies. You will then need to
compile all the modules with this option until no error status codes are
returned. Then you should do a final compilation with option -p or option
-d. To get this to work it is important that the topmost external head
does not contain any external declaration that is part of the circular
dependency. Such external declarations must be placed in an external head
that comes after the first class- or procedure decraration.
- -b
- The following argument will be parsed to the CC-command.
- -B
- The following argument will be parsed to the link-command.
- -c
- Supress linking of the complete program.
- -Cname
- Set the name of the C compiler.
- -d
- Compare the produced c-code with the code produced from previous
compilation and if they are equal then touch the object-file instead of
compiling the c-code.
- -Dname
- Define a symbol name.
- -e
- On systems that support dynamic linking, this prevents linking with the
shared libraries. On other systems, this option has no effect.
- -E
- Run only the preprocessor and output the result to standard output.
- -g
- Make the C compiler produce debugging information. This option is useful
for debugging the generated code.
- -G
- Invoke the Gnu Project C compiler instead of the standard C compiler. This
option is useful if the standard C compiler don't generate correct
code.
- -h
- Print a summary of the options to `cim', and exit.
- -H
- Omit line number information in the compiled program. This will make the
program smaller and faster.
- -I dir
- Use the Simula include file located in directory dir instead of the
standard directory.
- -llibrary
- Link with object library library. This option is parsed to the
link-command.
- -L dir
- Use the Simula library located in directory dir instead of the
standard directory.
- -m
- The memory pool size may be set at runtime by an option -mn.
- -mn
- Set the initial memory pool size to n mega bytes.
- -Mn
- Set the maximal memory pool size to n mega bytes.
- -N
- Only link the specifiede files.
- -o
- The following argument is the name of the output executable file.
- -p
- If supported for the target machines, generate position-independent code,
suitable for use in a shared library.
- -P
- Only link the specifiede files.
- -q
- Run the compiler in quiet mode.
- -s
- Only C-compile and link the specified files.
- -S
- Run the source file trough Simula-compiler, only.
- -R
- Recompile the module using the same timestamp.
- -t
- Do not remove temporary files. If a main program is compiled with option
-r, then the executable file will be removed unless this option or option
-T is specified.
- -Uname
- Remove any initial definition of the symbol name (Inverse of the -D
option).
- -v
- Run the compiler in verbose mode.
- -V
- Print the version number of Cim and exit.
- -w
- Do not print warnings.
- file
- Executable file.
- file.a
- Library of source files, attribute files and object files. Include this
simula library when compiling and linking. The simula library is created
with ar(1V) and ranlib(1). All source and .atr files should be
placed before .o files in the archive.
- file.o
- Object file.
- file.c
- Simula-compiler output file.
- file.h
- Output file that is included in file.c.
- file.sim
- Simula source file.
- file
- File names without an extension are assumed to be shorthand notation for
the corresponding .sim file.
- /usr/local/lib/libcim.a
- Simula library that contains the environment, Run Time System and class
Simset and Simulation. The source code to Simset and Simulation is also
included, so these parts can be compiled using compiler directive
%include.
- /usr/local/include/cim.h
- Include file for the produced C-code.
cc(1), ld(1), ar(1V), lorder(1), topsort(1), ranlib(1)
Standard Simula, SS 636114. The Simula Standards Group,
August 1986.
Viderefoering og testing av et portabelt
Simula-system. Hovedoppgave til cand.scient.-graden av Terje Mjoes.
Institutt for informatikk, Universitetet i Oslo, April 1989.
Et portabelt Simula-system bygget paa C. Hovedoppgave til
cand.scient-graden av Sverre Johansen. Institutt for informatikk,
Universitetet i Oslo, Mai 1987.
The diagnostics produced by the Simula compiler are intended to be
self-explanatory.
Bugs should be reported to bug-cim@gnu.org.
Sverre Hvammen Johansen, Department of Informatics, University of Oslo.