|
|
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 $
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.