UnifyClockSourceSub module of EvalClock that defines clock-checking utilities.
We have Two kind of substitutions.
XXX Shouldn't I merge the 2 kind of substitutions ? That would mean I need to invent a fake var_info_eff, but it would make the whole more homogeous.
XXX Make subst abstract?
f lxm s clk_arg clk_par Raises a Compile_error is the 2 Lic.clock clk_arg and clk_par are not compatible. The accumulated substitution s is augmented with eventual clock variable instanciation.
For instance, when clock checking the expression 'toto(a,b)', if toto has the clock profile "alpha x alpha -> alpha", and the args 'a' and 'b' are on clock 'clk', the expression 'toto(a,b)' should be on clk too. We can check that later using the association "alpha->clk" is added in the returned substitution.
XXX UnifyClock.f is not a good name actually. CheckClock.f would better reflect the reality
Transform a const into a val_exp const_to_val_eff lxm flag s const