Annotation of researchv10dc/man/mana/esterel.1, revision 1.1.1.1

1.1       root        1: .EV
                      2: .TH esterel 1 local INRIA-CMA Esterel
                      3: .SH NAME
                      4: esterel \- Esterel compiler
                      5: .SH SYNTAX
                      6: .B esterel
                      7: [options] [file] ...
                      8: .SH DESCRIPTION
                      9: The 
                     10: .I esterel 
                     11: command invokes the various utilities constituting the Esterel language
                     12: development tools:
                     13: .IP "\fIstrlic\fP"
                     14: The Esterel front-end: receives files containing Esterel source
                     15: (\fB.strl\fP suffix) producing intermediate code (\fB.ic);
                     16: .IP "\fIiclc\fP"
                     17: The Esterel binder, performing the expansion of the \fBcopymodule\fP
                     18: statements; it receives several \fB.ic\fP (or \fB.lc\fP)
                     19: files and builds an unique linked code file (\fB.lc\fP);
                     20: .IP "\fIlcoc\fP"
                     21: The Esterel compiler, which produces from an unique \fB.lc\fP file,
                     22: Esterel automata in portable format (\fB.oc\fP);
                     23: .IP "\fIocl\fP"
                     24: A generic name for Esterel code generators,
                     25: translating portable automata (\fB.oc\fP) into a program written in one of
                     26: the supported target languages (see the \fB-L\fP option below).
                     27: .PP
                     28: If no files are given to the \fIesterel\fP command, the standard input
                     29: is used. Any suffix in the list \fB.strl\fP, \fB.ic\fP, \fB.lc\fP,
                     30: or \fB.oc\fP is recognized in the files names: the \fIesterel\fP command
                     31: will arrange for only the appropriate utilities to be called.
                     32: .SH OPTIONS
                     33: The following option is for the \fIesterel\fP command itself:
                     34: .IP "\fB-n\fP"
                     35: Tell what is to be done, but don't do it.
                     36: .PP
                     37: The option
                     38: .IP "\fB-version\fP"
                     39: display the version number of the \fIesterel\fP command, as well as the
                     40: ones of the various utilities including all known code generators.
                     41: .PP
                     42: The following options are passed to all four utilities:
                     43: .IP "\fB-v\fP"
                     44: Verbose mode: the \fIesterel\fP command and the various utilities
                     45: tell what they are doing;
                     46: .IP "\fB-w\fP"
                     47: Suppresse all warning messages; 
                     48: .IP "\fB-W\fP"
                     49: Display all warning messages (the default is to display only "selected"
                     50: warnings); 
                     51: .IP "\fB-stat\fP"
                     52: Display various time statistics;
                     53: .IP "\fB-memstat\fP"
                     54: Display statistics on dynamically allocated memory.
                     55: .PP
                     56: The three following options enable to stop the compilation process at
                     57: some intermediate stage:
                     58: .IP "\fB-ic\fP"
                     59: Just use \fIstrlic\fP to convert \fB.strl\fP files into \fB.ic\fP files
                     60: (with the same base name), ignoring all other files;
                     61: .IP "\fB-lc\fP"
                     62: Stop after running the binder (\fIiclc\fP);
                     63: .IP "\fB-oc\fP"
                     64: Stop after running the compiler (\fIlcoc\fP).
                     65: .PP
                     66: For the \fB-lc\fP and \fB-oc\fP options, one can specify the output
                     67: file name(s) with the \fB-B\fP and \fB-D\fP options.
                     68: .IP "\fB-B \fP\fIname\fP"
                     69: \fIname\fP denotes the output files default base name.
                     70: The appropriate suffix is added automatically (and possibly a working
                     71: directory name --see the following option).
                     72: If this option is omitted and if the \fIesterel\fP command
                     73: is invoked with only one file name, \fIname\fP defaults to the 
                     74: base name of this unique file with the appropriate suffix; 
                     75: otherwise it defaults to the base name \fBesterel\fP, still followed
                     76: by the appropriate suffix.
                     77: .IP "\fB-D \fP\fIdirectory\fP"
                     78: Specify a directory where the files produced by the command will be
                     79: placed. The default is the current directory.
                     80: 
                     81: The \fB-B\fP and \fB-D\fP options and the corresponding
                     82: default rules apply to the files produced by
                     83: the \fB-K\fP (except \fB-Kic\fP) and \fB-L\fP options below.
                     84: .PP
                     85: The \fIesterel\fP command removes all the intermediate files it has created,
                     86: unless one of the following options is given:
                     87: .IP "\fB-Kic\fP
                     88: Keep all the \fB.ic\fP files (their names being the original ones, with
                     89: the suffix \fB.strl\fP replaced by \fB.ic\fP);
                     90: .IP "\fB-Klc\fP"
                     91: Keep the (unique) \fB.lc\fP file; 
                     92: .IP "\fB-Koc\fP"
                     93: Keep the (unique) \fB.oc\fP file;
                     94: .IP "\fB-K"
                     95: Keep all the intermediate files.
                     96: .PP
                     97: The binder \fIiclc\fP recognizes some specific options:
                     98: .IP "\fB-Rs\fP"
                     99: Trace signal captures and renaming;
                    100: .IP "\fB-Rc\fP"
                    101: Trace constant captures and renaming;
                    102: .IP "\fB-R\fP"
                    103: Trace both signal and constant captures and renaming.
                    104: .PP
                    105: The compiler \fIlcoc\fP recognizes also some specific options:
                    106: .IP "\fB-size\fP"
                    107: Display the final size (states and bytes) of the generated automata; 
                    108: .IP "\fB-show\fP"
                    109: Display dynamically the number of states generated so far.  
                    110: .PP
                    111: The code generators (\fIocl\fP) recognize an unique option:
                    112: .IP "\fB-L\fP[\fIlanguage\fP][:\fIspecific_options\fP]"
                    113: .br
                    114: Set the target language: at this time only \fBc\fP, \fBlelisp\fP, 
                    115: \fBtex\fP, \fBplm\fP, \fBauto\fP,
                    116: and \fBdebug\fP are known; it is likely that other languages be added.
                    117: The code generators have a name of the form \fBoc\fP\fIlanguage\fP.
                    118: If the \fB-L\fP option or the language are omitted, the default is \fBc\fP.
                    119: The string \fIspecific_options\fP allows to transmit language dependent
                    120: options to a given code generator (see \fBocl(1)\fP).
                    121: .IP
                    122: There can be as many \fB-L\fP options as needed.
                    123: .PP
                    124: Finally, there is a particular option to do as much as specified (by the
                    125: stop options) but producing nothing.
                    126: .IP "\fB-s\fP"
                    127: Perform all the compilation process, as specified by the other options,
                    128: but produce nothing.
                    129: .SH EXAMPLES
                    130: The simple command
                    131: .sp
                    132: .RS
                    133: .B esterel foo.strl
                    134: .RE
                    135: .sp
                    136: performs a full Esterel compilation, leaving the produced automaton,
                    137: in C language form, in the file \fBfoo.c\fP.
                    138: .PP
                    139: To produce debug format while keeping the generated automaton in portable
                    140: format, try
                    141: .sp
                    142: .RS
                    143: .B esterel -Koc -Ldebug foo.strl
                    144: .RE
                    145: .sp
                    146: .PP
                    147: A little more complex, the following command
                    148: .sp
                    149: .RS
                    150: .B esterel -Kic -Koc -Bautom -Llisp 
                    151: .B f1.strl f2.ic f3.lc
                    152: .RE
                    153: .sp
                    154: will pass \fBf1.strl\fP through \fIstrlic\fP and keep the \fBf1.ic\fP file;
                    155: then it will pass \fBf1.ic\fP, \fBf2.ic\fP, and \fBf3.lc\fP 
                    156: through \fIiclc\fP and \fIlcoc\fP, producing the file \fBautom.oc\fP
                    157: (the intermediate files are discarded); finally,
                    158: this last file will be converted into the LeLisp file \fBautom.ll\fP
                    159: by \fIoclelisp\fP.
                    160: .PP
                    161: The command
                    162: .sp
                    163: .RS
                    164: .B esterel -K -Bfoo -D/a/b f1.strl f2.strl f3.ic f4.oc 
                    165: .RE
                    166: .sp
                    167: produces the following files: \fB/a/b/f1.ic\fP, \fB/a/b/f2.ic\fP,
                    168: \fB/a/b/foo.lc\fP, \fB/a/b/foo.oc\fP, and \fB/a/b/foo.c\fP.
                    169: .PP
                    170: To illustrate the \fB-s\fP option, note that
                    171: .sp
                    172: .RS
                    173: .B esterel -s foo.strl
                    174: .RE
                    175: .sp
                    176: performs a full compilation upto C code generation, but the C file is not
                    177: produced; similarly, 
                    178: .sp
                    179: .RS
                    180: .B esterel -ic -s foo.strl
                    181: .RE
                    182: .sp
                    183: will only execute the front-end \fIstrlic\fP without producing any \fB.ic\fP
                    184: file.
                    185: .PP
                    186: Finally, 
                    187: .sp
                    188: .RS
                    189: .B esterel -Lc -Lauto:"-signal EV1,EV2" foo.strl
                    190: .RE
                    191: .sp
                    192: performs a full compilation of the Esterel source file \fBfoo.strl\fP
                    193: to auto format (\fBfoo.auto\fP), passing the arguments 
                    194: \fB-signal EV1,EV2\fP untouched to the corresponding code generator
                    195: (here \fIocauto\fP).
                    196: .SH DIAGNOSTICS
                    197: The command returns with exit code 0 if (and only if)
                    198: no error was detected by the various utilities.
                    199: .PP
                    200: Various error or warning messages indicate 
                    201: incompatible or redundant options, or error
                    202: conditions related to file handling.
                    203: .SH BUGS
                    204: The command checks whether it generates a file which is already
                    205: present in its argument list, and if so, stops with an error, to
                    206: avoid clobbering the file.
                    207: .PP
                    208: The corresponding test is based on the name of files as given
                    209: by the user and is rather rustic.
                    210: For instance, the following erroneous condition (or any similar one)
                    211: is not detected
                    212: .sp
                    213: .RS
                    214: .B esterel -K -Bfoo  -D.. foo.strl .././foo.lc
                    215: .RE
                    216: .sp
                    217: and will certainly result in loosing the original content of ../foo.lc
                    218: (use the \fB-n\fP  option to see what will occur).
                    219: .SH FILES
                    220: .PP
                    221: In the following, $lib designates the default library directory for
                    222: Esterel utilities (usually /usr/local/lib/esterel). This default 
                    223: path can be modified by the installer of the Esterel system, or by any
                    224: user setting the environment variable ESTERELLIB.
                    225: .sp
                    226: .ta \w'mmmmmm'u +\w'$lib/strlic   'u
                    227: .br
                    228: .ti0
                    229:        $lib/strlic     Esterel front-end
                    230: .ti0
                    231:        $lib/iclc       Esterel binder
                    232: .ti0
                    233:        $lib/lcoc       Esterel compiler (automaton generator)
                    234: .ti0
                    235:        $lib/oc*        Esterel code generators
                    236: .ti0
                    237: 
                    238:        *.strl          Esterel source files
                    239: .ti0
                    240:        *.ic            Intermediate code files
                    241: .ti0
                    242:        *.lc            Linked intermediate code file
                    243: .ti0
                    244:        *.oc            Portable automata file
                    245: .ti0
                    246:        esterel.*       Default names for keeping intermediate files
                    247: .SH SEE ALSO
                    248: strlic(l), iclc(l), lcoc(l), ocl(l)
                    249: .br
                    250: \fIEsterel V3 Reference Manual\fP
                    251: .br
                    252: \fIEsterel V3 System Manuals\fP
                    253: .SH IDENTIFICATION
                    254: Author: Jean-Paul Rigault, Ecole des Mines de Paris, CMA
                    255: .br
                    256: $Revision: 1.1 $ 
                    257: .br
                    258: $Date: 88/04/07 13:39:34 $

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.