- Jul 06, 2012
-
-
Pascal Raymond authored
-
- Jul 04, 2012
-
-
Pascal Raymond authored
-
- Jun 01, 2011
-
-
Erwan Jahier authored
parametric nodes (or predef iterators) are nested. Before, nested iterators were handles as follows : a source-level (i.e., not compiled) alias node was created on-the-fly, and then compiled. But this way to proceed was buggy for static args coming from nested iterators or nested parametric nodes. Now, I rely on Inline.iterators to get rid of iterators (the iterator inlining is now recursive).
-
- May 19, 2011
-
-
Erwan Jahier authored
not use the module name. Otherwise, names with "::" are created, and sometimes the lhs of the "::" does not even correpond to an existing module.
-
- Nov 03, 2010
-
-
Erwan Jahier authored
-
- Sep 29, 2010
-
-
Erwan Jahier authored
-
- Jul 10, 2010
-
-
Pascal Raymond authored
'+' replaced by "p" (see "correct_num_string" in LicDump.ml)
-
- Jul 09, 2010
-
-
Pascal Raymond authored
'-' replaced by 'm', '.' by 'd', (see "correct_num_string" in LicDump.ml)
-
- Jul 06, 2010
-
-
Pascal Raymond authored
-
- Apr 08, 2010
-
-
Erwan Jahier authored
-
- Jan 20, 2010
-
-
Erwan Jahier authored
-
- Jan 13, 2010
-
-
Erwan Jahier authored
-
- May 26, 2009
-
-
Erwan Jahier authored
message if the constant is abstract ("an integer is expected whereas an int is provided" was not a great message...).
-
- 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 09, 2009
-
-
Erwan Jahier authored
constants that are not on the base clock, add the suitable "when" statement if it was not present in the source code (the lic (and the ec/lv4) backend does not perform such kind of clock inference for constants.
-
- Mar 04, 2009
-
-
Erwan Jahier authored
instead of silently generate (syntactically) wrong lustre v4 (or ec).
-
- Mar 03, 2009
-
-
Erwan Jahier authored
instanciated by a polymorphic operator.
-
- Feb 25, 2009
-
-
Erwan Jahier authored
iterated, was still printed using the prefix/long name method (e.g., "Lustre__not(a)" instead of "not a"). Moreover, equality was inconsistently represented as "eq" and "equal". I choose the former.
-
Erwan Jahier authored
-
Erwan Jahier authored
still printed using the prefix/long name method (e.g., "Lustre__and(a,b)" instead of "a and b".
-
Erwan Jahier authored
expansed) type definitions that were containing struct or arrays in the expand_structs mode.
-
Erwan Jahier authored
var only! Hence, I tranform "#(a)" into "a" in the lv4 mode.
-
Erwan Jahier authored
-
Erwan Jahier authored
-
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 09, 2009
-
-
Erwan Jahier authored
the moment, I just don't generate such operator anymore (i generate the polymorphic version Lustre::lt instead). I don't really know what is the better. fixing the v4 backend : print "+" instead of "Lustre::plus" (and ditto for the others).
-
- Feb 06, 2009
-
-
Erwan Jahier authored
(i.e., tuple of size one).
-
Erwan Jahier authored
with a non-empty body (instead of just the first node).
-
- Feb 05, 2009
-
-
Erwan Jahier authored
-
Erwan Jahier authored
some_clk" should be written "(x:some_type) when some_clk"
-
- Feb 04, 2009
-
-
Erwan Jahier authored
When a node P::n1 wants to access to a node P::n2, it is ok to search for it in the boby of P.
-
- 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
-
- Dec 12, 2008
-
-
Erwan Jahier authored
In short, the rationale for this change, is that it is having a recursive node_exp is - useless, - too complicated, - wrong w.r.t. nesting iterator calls In long: - It is useless because, at the Eff level, a node cannot call itself via one of its static arg (which was where the recursivity came from). - and indeed, it is much simpler to consider that a static arg node can only be ident.long that identifies a node alias. This means of course, that nested iterators have been unnested before, inventing alias node names along the way... And polymorphism makes thing difficult once again. - But the *big* problem with a recursive node_exp is that it make things very complicated to (lic)dump nested iterator call because of polymorphism! Actually, it even makes thing complicated when the iterators were themselves not nested in the source code ! Some ugly things were done in LicDump to unnest those calls when printing node_exp. But this uglyness have a price: tricky code, and bugs! Indeed, nested iterators calls were wong for example when using the --inline-iterator mode (but i would not be surprised that is wrong in other cases...). Hence, LicDump is simpler, but of course LazyCompiler is more complicated. But this is reasonable: a pretty-printer is not supposed to be complicated.
-
- Dec 05, 2008
-
-
Erwan Jahier authored
+ more work on the release dir.
-
- Nov 28, 2008
-
-
Erwan Jahier authored
-