Attach the clock of Eff.val_exp to the val_exp itself, instead of
maintaining (ugly and error-prone) hash tables. That change revealed an untriggered bug in EvalClock.check_args: it was wrong to add in subst the substitutions made of the parameters and the arguments (it is enough to unify the clocks of the pars and of the args). For instance, consider the node (in should_work/clock/clock.lus) node clock5(x : bool; y: bool when x; z: bool when y) and the call z2 = clock5(a, b when a, c when e); I was adding y/b in the subst, which was wrong. Other minor changes: - move const_to_val_eff from Eff to UnifyClock. - GetEff.translate_val_exp now returns a substitution, in order to be able to unify clock vars and propagate the resulting substitution.
Showing
- lv6-ref-man/lv6-ref-man.tex 2 additions, 2 deletionslv6-ref-man/lv6-ref-man.tex
- release-lv6/Makefile 2 additions, 1 deletionrelease-lv6/Makefile
- src/Makefile 3 additions, 0 deletionssrc/Makefile
- src/TODO 3 additions, 0 deletionssrc/TODO
- src/eff.ml 7 additions, 47 deletionssrc/eff.ml
- src/evalClock.ml 60 additions, 128 deletionssrc/evalClock.ml
- src/evalClock.mli 4 additions, 13 deletionssrc/evalClock.mli
- src/evalType.ml 2 additions, 2 deletionssrc/evalType.ml
- src/getEff.ml 78 additions, 53 deletionssrc/getEff.ml
- src/getEff.mli 1 addition, 1 deletionsrc/getEff.mli
- src/inline.ml 42 additions, 50 deletionssrc/inline.ml
- src/lazyCompiler.ml 5 additions, 5 deletionssrc/lazyCompiler.ml
- src/nodesExpand.ml 6 additions, 10 deletionssrc/nodesExpand.ml
- src/predefEvalType.ml 3 additions, 3 deletionssrc/predefEvalType.ml
- src/split.ml 29 additions, 28 deletionssrc/split.ml
- src/structArrayExpand.ml 20 additions, 23 deletionssrc/structArrayExpand.ml
- src/test/should_work/lionel/bug.lus 29 additions, 0 deletionssrc/test/should_work/lionel/bug.lus
- src/test/should_work/lionel/pack1.lus 24 additions, 0 deletionssrc/test/should_work/lionel/pack1.lus
- src/test/test.res.exp 34 additions, 0 deletionssrc/test/test.res.exp
- src/unifyClock.ml 79 additions, 7 deletionssrc/unifyClock.ml
Loading
Please register or sign in to comment