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