Table of Contents

Name

iclc - Esterel binder - Version v5_92

Synopsis

iclc [options] files ...

Description

iclc is the Esterel binder that performs ic submodule instantiation. It is normally called by the esterel command. It can also be called directly by the user if necessary.

iclc reads one or more ic format input files and produces a single ic format output file. This version normally treats ic format version 7 only. If called with the -V3 option it reads ic formats version 5 or 6 only. Other combinations will give a syntax error.

If there is no input file, the standard input stream is read.

The ic format input describes Esterel modules to be processed, and .lc suffixes are usually given to files containing fully expanded Esterel modules with no remaining run instruction. Typical use is:

iclc < game1.ic > game.lc

or

iclc game1.ic game2.ic > game.lc

Options

The following options are interpreted by iclc:
-main name
name must be the name of an Esterel module. If at least one -main option is present, iclc will only bind the module(s) that are specified by that option, and will ignore all modules that are not children of those ones. Otherwise, iclc binds all modules that are not themselves included in other modules. The -main option is very useful when using libraries of modules, to avoid expansion and inclusion in the object lc file of unused library modules.
-v
Verbose mode. Print the different steps of the linking process on the standard error stream : parsing, analysis, and binding of each module.
-V3
V3 mode. Accepts version 5 or 6, and rejects version 7 of the ic format.
-s
Silent mode: perform binding but do not output code (useful for detecting errors).
-w
Suppress all warning messages.
-W
Display all warning messages (the default is to display only harmful warnings).
-stat
Print statistics on the standard error stream: parsing time, binding time, and process size.
-R[tcfpsk]
Trace captures and renamings of objects. The -R option alone traces all objects, whereas each of the characters t,c,f,p,s,k selects one type of object: type, constant, function, procedure, signal and task. For example -Rtc traces types and constants.
-version
Print the version name on the standard error output stream and terminate, ignoring all other arguments.
-access
Print access rights to the processor on the standard error output stream and terminate, ignoring all other arguments.
-info
Print various informations about the processor on the standard error output stream and terminate, ignoring all other arguments.
-parseonlyFP
Parse input and print parsed tables, but don't bind. Useful for tracing grammar compatibility.
-d[<level>]
Debug mode. Developer usage only.

Diagnostics

Errors and warnings produced by iclc compiler are intended to be self-explanatory. The trace option -R produces the following trace messages:

Root module FOO:

the binder begins to treat the root module FOO.

Submodule /FOO/BAR:

the binder begins to treat the submodule BAR, called
within module FOO.

<object> <name> added as %<index> +++

the <object> named <name> is added to the list of final
<object>s with number <index> . The string "+++" helps to find later the name of the <object> numbered <index>. Just look upward for <index> followed by "+++".

<object> <name> captured by %<index>

the <object> named <name> is implicitly captured by the final <object>
numbered <index>.

<object> <name> renamed by %<index>

the <object> named <name> is explicitly renamed to the final
object numbered <index>. In case of a constant, the %<index> field may be replaced by an expression (if the constant is replaced by a litteral expression instead of another constant).

Bugs

There is no error message if the same signal or constant appears more than once in a renaming list. Only the first renaming is applied, however.

See Also

Esterel documentations.
esterel(1) , strlic(1) , lcoc(1) , lcsc(1)

Identification

Ecole des Mines de Paris (CMA) and INRIA, Sophia-Antipolis

Written by Jean-Marc Tanzi


Table of Contents

Back To Main Manual Page