- May 31, 2013
-
-
Erwan Jahier authored
when the arity of an alias node was wrong.
-
- May 17, 2013
-
-
Erwan Jahier authored
-
- Apr 12, 2013
-
-
Erwan Jahier authored
As far as ldbg is concerned, it only traces the toplevel node, at call event. Note that I needed to rename quite a lot of modules to avoid name clashes between lus2lic.a and ltop. I've also merged the Verbose module with the one of Lutin so that they can be shared (there were sharing 95% already).
-
- Feb 20, 2013
-
-
Erwan Jahier authored
-
- Feb 01, 2013
-
-
Erwan Jahier authored
-
- Jan 16, 2013
-
-
Erwan Jahier authored
on programs containing equations such as : b3, b4, b5, b6 = (three_outputs(two_outputs(b1,b2),true), false); because TUPLES where not correctly inlined (i.e., "...= n((x,y),z)" instead of "...=n(x,y,z)"
-
- Dec 13, 2012
-
-
Erwan Jahier authored
nb: les tests ne passent toujours bien sur. * Partie lus -> AST predef.ml -> srcPredef.ml syntaxTreeCore.ml -> astCore.ml syntaxTree.ml -> astV6.ml syntaxTreeDump.mli-> astV6Dump.mli * Partie Ast -> Ast solveIdent.mli -> astRecognizePredef.mli syntaxTab.mli -> astTab.mli symbolTab.mli -> astTabSymbol.mli * Partie AST -> lic (static evaluation) eff.ml -> lic.ml getEff.mli -> ast2lic.mli lazyCompiler.mli -> licTab.mli builtIn.ml -> licMetaOp.ml predefEval*.ml -> licEval*.ml name.mli -> licName.mli * Partie Lic -> Lic uniqueOutput.mli -> l2lCheckOutputs.mli structArrayExpand.mli -> l2lExpandArrays.mli nodesExpand.mli -> l2lExpandNodes.mli doNoPoly.ml -> l2lRmPoly.ml doAliasTypes.ml -> l2lAliasType.ml doSplit.ml -> l2lSplit.ml
-
- Aug 08, 2012
-
-
Pascal Raymond authored
-
- Jul 12, 2012
-
-
Pascal Raymond authored
-
- Jul 11, 2012
-
-
Pascal Raymond authored
importante du mecanisme de UnifyType : - fait : * definition de Eff.poly_match * TypeVar type_var au lieu de Any/Overload avec type_var = Any | AnyNum (pour l'instant et pour longtemps ?!) - à faire : * revoir UnifyType pour qu'il rende un poly_match * stocker là où c'est nécessaire les poly_match calculés lors du type check (pour les CALL et peut-être les sargs ?)
-
- Jul 10, 2012
-
-
Pascal Raymond authored
-
- Mar 03, 2009
-
-
Erwan Jahier authored
instanciated by a polymorphic operator.
-
- Feb 25, 2009
-
-
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.
-
- 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.
-
- Sep 15, 2008
-
-
Erwan Jahier authored
-
- Aug 29, 2008
-
-
Erwan Jahier authored
-
- Aug 28, 2008
-
-
Erwan Jahier authored
polymorphic operators. For instance, when LicDumping expression such as map<<map<<+,4>>,5>> an alias node was created for "map<<+,4>>" (to unnest iterator calls). Fut this node is intrically overloaded (polymorphic). In this change, we look at the type this innr call is used to generate a specialised (mono-morphic) version of the node alias. Note that we currently still generate type variable when users write node mymap = map<<+,4>>;
-
- Jul 22, 2008
-
-
Erwan Jahier authored
-
- Jun 26, 2008
-
-
Erwan Jahier authored
Not yet implemented (assert false): iterators, struct Add a UnifyClock module, and rename Unify into UnifyType. nb : a lot of test are now broken, because - the clock checking is now plugged ;-) - iterators, struct are not yet implemented
-
- Jun 09, 2008
-
-
Erwan Jahier authored
type_eff_ext into type_eff btw). The rationale is to be able to type alias on polymorphic nodes (cf test/should_fail/semantics/bad_call03.lus, that now have a correct error msg). It also makes to code more compact (no more translation from one to the other), and more general (type_eff_ext being more general than type_eff). User polymorphic nodes should be easy now. move all the code in parsey.mly into parserUtil.ml (ease the debug).
-
- May 28, 2008
-
-
Erwan Jahier authored
-
Erwan Jahier authored
of "red<<if, 3>>". Put the unification stuff in a dedicated module, and add some random unit tests to it.
-