- May 26, 2009
-
-
Erwan Jahier authored
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.
-
- Mar 12, 2009
-
-
Erwan Jahier authored
not expanded.
-
- Mar 11, 2009
-
-
Erwan Jahier authored
info is attached to all val_exp. Moreover, this allow to perfrom all the type checking in EvalType.f, instead of doin part of it in GetEff.translate_val_exp.
-
Erwan Jahier authored
maintaining (ugly and error-prone) hash tables.
-
- Mar 03, 2009
-
-
Erwan Jahier authored
instanciated by a polymorphic operator.
-
- Feb 25, 2009
-
-
Erwan Jahier authored
extern constants.
-
Erwan Jahier authored
-
Erwan Jahier authored
as extern constants. Also fix a bug in the struct/array expanser: when expanding structured constants into val_exp, I need to add a entry into the type and clock val_exp tables.
-
- Feb 11, 2009
-
-
Erwan Jahier authored
- expr such as "current x,y" should be written "current (x,y)" - abstract struct or array types were handled as extern types, which prevent the struct and array expanser to work them out. In order to fix that, I have added an Abstract_type_eff variant to Eff.type_ which contains the concerte type.
-
- Feb 10, 2009
-
-
Erwan Jahier authored
2 source transformations), we add an entry in the EvalType and the EvalClock tables. Otherwise, when we use EvalType.lookup or EvalClock.lookup, an error migth be raised.
-
- Feb 06, 2009
-
-
Erwan Jahier authored
i.e., transform x,y = (0,1) -> (a,b); into x = 0 -> a; y = 1 -> b;
-
Erwan Jahier authored
where generated in the --expand-nodes mode..
-
Erwan Jahier authored
-
Erwan Jahier authored
-
- Feb 05, 2009
-
-
Erwan Jahier authored
-
- Feb 03, 2009
-
-
Erwan Jahier authored
nodes (e.g., map<<+,2>>). While fixing that, I put all the functions that deals with polymorphism into a new (Eponymous) dedicated module. The idea to be able to expand polymorphic node is basically the same, as the one for printing polymorphic nodes: we need to wait until the type is instanciated (in GetEff). That delay is implemented by using a stack of nodes.
-
- Jan 30, 2009
-
-
Erwan Jahier authored
an expanser to will expand only struct, and i whant to name it like that).
-
Erwan Jahier authored
-
- Dec 08, 2008
-
-
Erwan Jahier authored
-