- work in progress for automata...
- some steps towards integration of automata
- still some improvements in optimizing in machine code ...
- added missing constraint check when sub-clocking tuple expressions - added an algorithm that reuses dead or clock-disjoint variables instead of declaring/using new ones. - NOT carefully tested. Use option -O 3 if you want to give it a try...
Updated the licence info and header for each file.Moved backends in separate folders
- many bugs/limitations in lifting operators to tuples have been worked out: - typing/clock calculus/normalization now work properly - still, a bug in annot generation (this one is for Ploc !!) in file normalization, line 396 - bug corrected in subtyping...
work in progress in liveness analysis...
added some infrastructure to ease optimization (reusing vars)
Prepared first stage of code reorg:1. moved type def in lustrespec.ml2. moved constructor and basic functions in corelang3. Modified eexpr with prenext quantifiers
more steps toward reusing variables (dead ones + clock disjoint ones)
added construction of a fanin table for local variables of a node. could be useful for a finer variable elimination scheme at the Lustre level. to be continued...
added warnings for useless variables (at verbose level 1) - exact definition of 'useless' may be further refined - display could certainly be improved
Bug solved on tuple equalities in expressions (eg. OK = (a,b,c) = (d,e,f))
still computing disjoint clock information (for reusing more variables)
computing statically disjoint variables (to enhance resusability)
- some minor adjustments...
- corrected causality bug (cf. previous commit)
liveness analysis improved. BUG found in causality wrt clocks...
- reimplemented computation of dead variables - added computation of a reuse policy (depending on types) - not yet used though, would have to change code generation in order to be useful...
Moved files to trunk in lustre_compiler