30.07.2013 Views

The Esterel v5 21 System Manual - Courses

The Esterel v5 21 System Manual - Courses

The Esterel v5 21 System Manual - Courses

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

2.4. WHY COMPILATION MAY FAIL <strong>21</strong><br />

2.4 Why Compilation May Fail<br />

Compilation may fail for a variety of reasons.<br />

• <strong>The</strong> program may have syntax errors, type-checking errors, or logically<br />

inconsistent exclusion or implication relations. <strong>The</strong> error messages are<br />

printed by strlic.<br />

• <strong>The</strong> program may contain several modules calling each other in an<br />

inconsistent ways (cyclic structure, type clashes, etc.). <strong>The</strong> error messages<br />

are printed by iclc.<br />

• <strong>The</strong> program may contain a statically instantaneous loop, i.e. a loop<br />

with a potentially instantaneous path from loop to end loop. <strong>The</strong><br />

error message is printed by lcsc. <strong>The</strong> current compiler <strong>Esterel</strong> <strong>v5</strong> <strong>21</strong><br />

can only handle statically loop-free programs defined in [1].<br />

• <strong>The</strong> program may have a combinational cycle. In this case, if neither<br />

option -I nor option -causal is specified, the program is rejected by<br />

the scssc processor. A graphical error message can be visualized by<br />

typing<br />

esterel -cycles foo.strl<br />

Use the -I or -causal options to compile cyclic programs.<br />

All <strong>Esterel</strong> textual error messages have the same format. <strong>The</strong>y can be<br />

directly used by programming tools, such as the Emacs text editor, to point<br />

to the location of the errors (the Emacs -X ‘ “next error” command<br />

is used to jump from one error location to another). All <strong>Esterel</strong> graphical<br />

error messages are reported using a variant of the xes simulator.<br />

Internal error messages denote compiler bugs and should be reported to<br />

esterel-bugs@sophia.inria.fr together with the result of the command<br />

esterel -info.<br />

and the <strong>Esterel</strong> source code if possible.<br />

2.5 Sanity Checks<br />

Three options of the esterel commands performs sanity checks on the<br />

program. <strong>The</strong>se checks should be performed before embedding a program.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!