General rules:
- A simple option is a string -XXX preceded by a ' ' character; ' ' and '=' do not occur in XXX
- A valued option is a string -XXX = YYY preceded by a ' ' character, where
- = can be preceded or not, followed or not by a ' ' character
- YYY cannot start with a '-' character if it is preceded by a ' '; ' ' does not occur in YYY
- The name of an option XXX is either only made of capital letters, or only made of lower case letters
- If an option does not have a capital letter name, this option is transformed into lower case letters
- An option that has a mix of lower and upper case letters is transformed into lower case letters
- Unless othewise specified the ordering of independent arguments is free and meaningless FILE argument must have one and only one occurrence in the command line.
- The value of an optional cumulative argument is the upper bound of its occurrences.
- A non cumulative argument cannot have several occurrences.
- Let WD be the absolute path of the current directory, unless otherwise specified a path file FILE refers to
- PATH=path(WD,FILE)=WD/FILE file or directory if FILE is relative,
- PATH=path(WD,FILE)=FILE file or directory if FILE is absolute.
- Unless othewise specified the upper bound of an action notation induces the processing of the action
Options Controlling the Input
- [-in =] FILE where FILE denotes the Signal source file path(WD,FILE).
- -inisf = FILE where FILE denotes the Intermediate Signal Format Source file path(WD,FILE).
A module should have parameters (coming soon)
- -par=PARF PATH=path(WD,PARF) contains the Signal static parameter list for instantiating a process FOO
- -par (coming soon)
- is equivalent to -par=FOO.PAR when the compiled file contains a Signal process FOO
- is equivalent to -par=FOOi.PAR foreach exported process of the Signal module contained in the compiled
Options Controlling the Output
Initial syntax errors are written to the standard error file.
- -[d,D]=DIR output files are created in directory
- PATH=path(path(WD,DIR),FOO), if d is present
- PATH=path(WD,DIR) if D is present
- PATH=path(WD,FOO) if none of these marks is present. this option cannot have more than one occurrence
- -war (case insensitive) displays warnings on standard output, or in FOO_LIS.SIG file if -lis is present
- -v (case insensitive)(verbose) display detailed log to standard output
- -tm (case insensitive) enables the traceability mode
- -print=w (case insensitive) unary sampling expression is written as [:H] instead of when H in generated TRA files.
Options Controlling the kind of output files
- -outisf = FILE creates a Signal file PATH/FOO.isf containing the Intermediate Signal Format of FOO definition; context errors (such as type,... )
- -lis, (case insensitive) create a Signal file PATH/FOO_LIS.SIG containing the pretty printed FOO definition; context errors (such as type,... ) are not listed to get those errors -basic is required
- -tra create a Signal process file PATH/FOO_XXX_TRA.SIG containing the result of inter format translation
- XXX = BASIC elementary clock reductions
- XXX = POLY (BASIC) clock static resolution (maximal triangularisation)
- XXX = ENDO (POLY) endochronous parametrization (single master clock)
- XXX = BOOL (ENDO) event to Boolean clock transformation
- XXX = SCH equation sequencing
- -TRA create a Signal process file for every inter format translation as -tra option does and every other action: the result of the action YY in the format XXX is unparsed in PATH/FOO_XXX_YY_TRA.SIG
- -sme (case insensitive) generates a file FOO.sme containing the SIGNAL meta-model of FOO.
- -ssme (case insensitive) generates a file FOO.ssme containing the SIGNAL Syntactic meta-model of FOO.
- -spec (case insensitive) generates a file FOO_ABSTRACT.SIG containing the interface abstraction of FOO
- -ec[=i] (case insensitive) generates a file FOO_EXCLUSIVE_CLOCKS.SIG containing the exclusive clocks pairs as descibed below
- -ec is equivalent to -ec=0
- -ec=0 only the clocks of the signals are selected
- -ec=1 the selected clocks are the clocks of the signals and the clocks referred to in the expressions
- -ec=2 all the clocks are selected
- -header (case insensitive) restricted to module file (M): generates a module that contains headers of processes defined in M
Options Controlling the Kind of export file
- -z3z, (case insensitive) export the control in z3z format FOO.z3z file containing the SIGALI abstraction of FOO FOO_POLY_TRA.SIG
- -lustre, (case insensitive) create NOTHING FOO.sdx file containing SynDEx target code
- -c[=[i][m]] (case insensitive)
- -c: creates FOO.c, FOO.h, and files of FOO_ext.h, FOO_undef.log, FOO_type.h, that are needed in FOO.c
- -c=i creates FOO_io.c and files of FOO_undef.log, FOO_type.h, that are needed in FOO_io.c
- -c=m creates FOO_main.c
- -c=im, -c=mi creates files created by -c=i and -c=m.
c creates files created by c= and c=im where (ANSI C code)
- FOO_externalsProc.h: created if some external functions are referred to in FOO contains interface of those functions
- FOO_externalsUNDEF_LIS.h: created if some referred to types or constants are used and not defined in FOO; in this case FOO_externalsUNDEF.h must be provided
- FOO_types.h: contains C types corresponding to Signal types
- FOO_body.c: contains code associated with each step and the scheduler
- FOO_body.h: contains interface of functions generated in FOO_body.c
- FOO_io.c: contains input output functions associated with interface of FOO
- FOO_main.c: contains main C program.
- -threads (associated with C option) in this case a thread is generated for each cluster and the scheduling is managed using semaphores.
- -c++[=[i][m]] (case insensitive) same as -c[=[i][m]] with C++ code
- -java [=[i][m]] (case insensitive) mostly the same as -c[=[i][m]] with java code
- FOO.java:contains code associated with each step and the scheduler
- FOO_io.java: contains input output functions associated with interface of FOO
- FOO_main.java: contains main Java program
- -syndex, (case insensitive) create
- -force, (case insensitive) forces the code generation by adding ``exceptions'' for constraints
- -check, (case insensitive) generates code for assertions
- -umd, (case insensitive) the values are copied from the delayed variable to the original one (for non scalar types, the default is to manage the delayed signal and the original one in a circular area)
- -udo, (case insensitive) the delayed signal and the original one are in independent variables (the default is to manage the delayed signal and the original one in the same memory when it is possible)
Options Controlling the graph transformations
- -dr, (case insensitive) UPWARD normalization of delayed signals
- -crew=[b][d] (case insensitive) b: event normalization of Boolean clock expressions d: when/default definitions are rewritten (operand reduced to a signal)
- -su (case insensitive) signal syntactic equivalence reduction
- -ds (case insensitive) replaces the default definitions by partial definitions (default splitting)
- -pdg (case insensitive) replaces partial definitions by default expressions (partial definitions grouping)
- -s=n, (case insensitive) variable substitution n is an integer definition is substituted to each signal that has at most n occurrences
- -kernel (case insensitive) split expressions
- -uc (case insensitive) reduce the clocks of the signal upto their utility clock
- -profiling generates a file containing a signal processus that computes the execution time of the original one
Partition Options
- -sso (case insensitive) state variables isolation
- -sbo (case insensitive) Boolean nodes isolation
- -sfto (case insensitive) separate finite and not finite types
- -clu (case insensitive) code separation wrt input predecessors equivalence
- -dist (case insensitive) user defined code separation
Interformat translations:
For all these options, when the capital letter style is used, the resulting XXX graph is unparsed in a file FOO_XXX_TRA.SIG
- -basic, -BASIC in case of context errors (such as type,... ) a file PATH/FOO_LIS.SIG with error annotations is generated
- -poly[=n], -POLY[=n]
- -depth=n (case insensitive) tuning of Boolean reduction algorithm (for wizards only), DEPRECATED use -poly=n n is an integer (by default, n=5)
- -bC DEPRECATED use -bool
- -bool, -BOOL (for Boolean Control) produces the SIGNAL code without "events"; the hierarchy of clocks is completed by Boolean inputs
- -fl DEPRECATED use -flat
- -flat, -FLAT produces the SIGNAL code in which the hierarchy of clocks is reduced (flattened) to one level
- -sD DEPRECATED use -seq
- -seq, -SEQ produces a SIGNAL sequential code
(*) Level formats:
- BASIC the control is explicit but unsolved
- POLY the control is a forest of trees of event clocks, each tree is hierarchized
- ENDO the control is a forest reduced to one tree of event clocks, the tree is hierarchized
- BOOL the control is a forest reduced to one tree of Boolean clocks, the tree is hierarchized
- FLAT the control is a forest reduced to one tree of Boolean clocks, the tree is flattened
- SCH BOOL level in which the scheduling (static or partial) is explicit