Table of Contents
scoc - Esterel finite state machine generator v5_92
scoc
[options] [file1 [file2 [...]]]
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.
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.
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.
At this time, the format
in which shared dags are output when -dags is specified is not compliant
with occ.
The Esterel v5_92 Documentation.
esterel(1)
, occ(1)
, scssc(1)
, sccausal(1)
, sscoc(1)
.
Ecole
des Mines de Paris (CMA) and INRIA.
Author: Yannis.BRES@cma.inria.fr.
Table of Contents
Back To Main Manual Page