Table of Contents
caesar.adt - translation of LOTOS abstract data types into C
caesar.adt
[
-cc options] [
-comments] [
-debug] [
-english] [
-error] [
-external] [
-force] [
-french]
[
-functionality] [
-indent] [
-infix] [
-iso] [
-macro] [
-map] [
-more command] [
-prefix]
[
-silent] [
-trace] [
-verbose] [
-version] [
-warning]
filename[
.lotos]
caesar.adt
is an abstract data type compiler for LOTOS. Taking as input
filename.lotos
which is a LOTOS program,
caesar.adt produces a file
filename.h containing
the C types and functions that implement the LOTOS sorts and operations
defined in
filename.lotos. The generated file
filename.h can be used in conjuction
with
caesar
.
- -cc options
- Pass options to the C compiler when
it is invoked. options is a list of compiler options (enclosed in quotes
or double quotes). These options are appended to the compiler options, if
any, contained in the $CADP_CC environment variable (see ENVIRONMENT VARIABLES
below). Not a default option.
- -comments
- Issue a warning message for each LOTOS
sort or operation which is not properly labelled by a special comment of
the form
(*!...*). Not a default option.
- -debug
- Generate extra C code that helps
to debug uncomplete non-constructor definitions. When a C function aborts
because the corresponding LOTOS operation is not completely defined by
its equations, the name of the function and the actual values of its arguments
are displayed. Not a default option.
- -english
- Print messages in English. Opposite
of -french. This option overrides the $CADP_LANGUAGE environment variable
(see ENVIRONMENT VARIABLES below).
- -error
- A file, filename.err, is generated
by caesar.adt. It contains detailed error diagnostics. When it terminates,
caesar.adt displays the content of this file on the screen, using the $CADP/src/com/cadp_more
command, unless -error option is set.
- -external
- Generate a skeleton file filename.t.proto
and/or a skeleton file filename.f.proto if the LOTOS specification contains
sorts and/or operations declared
(*! external *). These skeleton files are
incomplete, but form a basis for producing filename.t and filename.f. They
have to be completed manually (at the places marked "...") with an implementation
in C for external sorts and constructors, and/or operations. Also, it may
be necessary to modify manually the order of C type declarations in order
to avoid forward references. Not a default option.
Note: if filename.t.proto
and/or filename.f.proto already exist in the current directory, caesar.adt
will not overwrite them, because they might have been modified manually.
- -force
- Force caesar.adt to regenerate filename.h even if not necessary. Not
a default option. By default caesar.adt will attempt not to regenerate filename.h
if this file already exists in the current directory, and if it has been
modified more recently than:
(1) the corresponding LOTOS file (filename.lotos, filename.lot, or filename.l),
(2) than any LOTOS library transitively included (using the "library" clause)
in this LOTOS file,
(3) than any C file included (using the "#include" clause) in filename.h
itself,
(4) than the filename.t file if this file exists in the current directory,
and
(5) than the filename.f file if this file exists in the current directory.
- -french
- Print messages in French. Opposite of -english. This option overrides
the $CADP_LANGUAGE environment variable (see ENVIRONMENT VARIABLES below).
- -functionality
- Do not check functionality constraints (``
exit'' and ``noexit'').
Not a default option.
- -indent
- Do not format using the shell-script located
in $CADP/src/com/cadp_indent the generated file filename.h, nor the files
filename.f.proto and filename.t.proto generated by option -external. This option
can be useful when the indent(1) program invoked by cadp_indent crashes
with a core dump, although cadp_indent is designed to recover properly
in such event. Not a default option.
- -infix
- Generate C code to print LOTOS
binary operations in infix form when appropriate. Not a default option.
- -iso
- Use the standard LOTOS semantics defined in ISO 8807, disabling several
non-standard language enhancements implemented in caesar.adt. Namely, this
option: (1) considers "i" and "I" as reserved keywords, thus preventing
to declare any identifier named "i" or "I"; (2) enforces the standard
(and seemingly questionable) semantics for flattening parameterized types,
instead of the modified semantics proposed in the document "$CADP/doc/*/Garavel-Sighireanu-95.*".
Not a default option.
- -macro
- Prevent LOTOS non-constructor operations to
be implemented by C macro-definitions (
#define): all LOTOS non-constructor
operations will be implemented as C functions instead. Not a default option.
- -map
- Generate filename.map which gives correspondence between sort and operation
names occuring in filename.lotos and C type and function names occuring
in filename.h. Not a default option.
- -more command
- Use command to display the
error messages, instead of "$CADP/src/com/cadp_more" which is the default.
command is a shell command (preferably enclosed in quotes or double quotes)
containing the pathname of the chosen pager, possibly followed by a list
of options. Not a default option.
- -prefix
- Generate C code that prints LOTOS
binary operations always in prefix form. Default option.
- -silent
- Execute silently.
Opposite of -verbose. Default option is -verbose.
- -trace
- Generate extra C code
that traces all calls and returns for a selected set of C functions. This
option also sets the -macro option. Not a default option.
- -verbose
- Report
activities and progress, including errors, to the user's screen. Opposite
of -silent. Default option is -verbose.
- -version
- Display the current version
number of the software and stop. Not a default option.
- -warning
- Suppress all
warning diagnostics, at the risk of leaving actual issues in the LOTOS
specification undetected. Not a default option.
- $CADP_LANGUAGE
- If this variable is set, its value determines the language in which diagnostic
messages will be reported. Possible values are 'french' and 'english'. Incorrect
values will be ignored silently. If this variable is unset, it is given
the default value 'french'.
- $CADP_CC
- If this variable is set, its value determines
the name of the C compiler that will be invoked by caesar.adt. See file $CADP/INSTALLATION
for detailed information about this variable. If this variable is unset,
the script-shell $CADP/src/com/cadp_cc will automatically determine the
C compiler to be used by default.
- $CADP_TMP
- If this variable is set, its
value determines the directory in which temporary files are created. If
this variable is unset, it is given the default value '/tmp'.
- $PAGER
- If this
variable is set, its value will be used by the script-shell $CADP/src/com/cadp_more
to display any error messages or warnings.
When the source is
erroneous, error messages are issued. Exit status is 0 if everything is
alright, 1 otherwise.
- filename.lotos
- LOTOS specification (input)
- filename.t
- external C implementation for types (input)
- filename.t.proto
- skeleton
for filename.t (output)
- filename.f
- external C implementation for functions
(input)
- filename.f.proto
- skeleton for filename.f (output)
- filename.h
- C implementation
(output)
- filename.err
- detailed error messages (output)
- filename.map
- ADT correspondence
table (output)
- libname.lib
- user ADT library (input)
- $CADP/lib/libname.lib
- predefined ADT library (input)
- $CADP/src/com/cadp_cc
- C compiler shell
- $CADP/src/com/cadp_more
- pager shell
- $CADP/LICENSE
- license file
- $CADP_TMP/*.c
- C code generated during
type survey (temporary)
- $CADP_TMP/*.x
- binary code for type survey (temporary)
- $CADP_TMP/*.tsv
- results of type survey (temporary)
caesar
,
indent(1)
Additional information is available from the CADP Web page located
at http://cadp.inria.fr
Directives for installation are given in file $CADP/INSTALLATION.
Recent changes and improvements to this software are reported and commented
in file $CADP/HISTORY.
Please report bugs to
Hubert.Garavel@inria.fr
Table of Contents