Table of Contents

Name

scoc - Esterel finite state machine generator v5_92

Synopsis

scoc [options] [file1 [file2 [...]]]

Description

The scoc compiler takes as input a circuit described in sc format (version 8 and linked, namely in main mode) and translates it into a finite state machine described in oc format (version 5). It replaces previous combination of scssc (or sccausal for cyclical circuits) and sscoc.
scoc reads one or more sc input files and produces a single oc output file. If no input file is specified, the standard input stream is read. If no output file is specified (using the -o option), the standard output stream is used.

Examples

scoc is usually invoked by the Esterel compiler when the user specifies -A on the command-line; in this case, additional options can be transmitted to scoc with the -scoc: option (multiple options must be within double-quotes). See the Esterel reference manual for more informations.
For a standalone use of scoc, if foo.sc is generated from an Esterel program, the commands:
scoc foo.sc -o foo.oc
and
scoc < foo.sc > foo.oc
produce the file foo.oc.

Options

The following options are common to all processors of the Esterel compiler:
-info
Displays various informations about the processor compilation on the standard error stream and terminates, ignoring all other arguments.
-v
Turns verbose mode on: additional information concerning the compilation process are printed on the standard error stream. This option implies -show.
-version
Displays the version name of the compiler on the standard error stream and terminates, ignoring all other arguments.
-w
Supresses all warning messages.
-W
Prints all warning messages (by default, only potentially harmful warnings are output).

The following options control how automata are computed:

-keepalltests
When the internal hash-caching of transition trees is not disabled (namely if -nocache is not specified), useless tests of kind if a then b else b are detected and removed on the fly, but a posteriori: both branches were built, but only one was kept. Specifying this option prevents this removal, and aims to estimate the size of the automaton once built before being reduced.
-nocache
Disables internal hash-caching of transition trees, then preventing the removal of useless tests (see -keepalltests) and optional output of shared transition trees (see -dags).
-noinputsort
By default, inputs are sorted upon the number of registers they are likely to set, which avoid (unless -strongconstructiveness is specified) to test inputs which cannot have any influence for the state being built. This options disables this feature and can dramatically reduce compilation speed and increase the size of produced automata.
-strongconstructiveness
By default, the propagation algorithm stops as soon as all required nets are evaluated, in order to improve compilation speed and avoid computing nets that cannot have have any influence on the produced automaton: according to the Esterel Constructive Semantics, scoc implements by default its weakest form. This option enforces the control of strong constructiveness, by making sure that each net stabilizes, although it can noticeably reduce compilation speed.

The following options control how automata are output:

-dags
Outputs shared transition trees in the DAG table; this option does not make sense if -nocache is specified. Although this option can reduce the memory footprint of the produced automata, some old oc parser may hang on the DAG table.
-o " filename"
Outputs the result to the specified file filename, instead of the standard output stream.
-nofromfiletag
By default, the name of the circuit file from which the automaton was produced is specified right after the module: keyword. This option disables this feature, which can be usefull when performing a syntactical comparison of automata.
-noversiontag
By default, the version of the scoc compiler used to generate automata is specified right after the oc5: keyword. This option disables this feature, which can be usefull when performing a syntactical comparison of automata.
-simul
Outputs additional information used by simulators, like emitted internal signals and state halt sets. Maintaining such information may reduce capabilities to share transition trees and increase the size of produced automata.

The remaining options provide interesting information on the standard error stream:

-dumpnets
Performs a dump of the net table on several internal errors.
-show
Dynamically displays the race between the number of generated states and the number of discovered states so far.
-size
Displays statistics concerning the produced automaton size: the number of states, the number of actions and the number of action calls.
-stat
Displays timing information at different stages of the compilation process.

Known Issues

At this time, the format in which shared dags are output when -dags is specified is not compliant with occ.

See Also

The Esterel v5_92 Documentation.
esterel(1) , occ(1) , scssc(1) , sccausal(1) , sscoc(1) .

Identification

Ecole des Mines de Paris (CMA) and INRIA.
Author: Yannis.BRES@cma.inria.fr.


Table of Contents

Back To Main Manual Page