Annotation of researchv10dc/man/mana/esterel.1, revision 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.