- Aug 29, 2019
-
-
erwan authored
Remove a lot of warnings (considered as errors by dune).
-
- Dec 03, 2018
-
-
Erwan Jahier authored
It causes bad error messages in the case were the parametric node is undefined. e.g., the equation S=if(M[n-1]) then (entiernat<<n>>(M)-puiss<<n+1>>(2)) else entiernat<<n>>(M); raises "Error: Bad number of (static) arguments: 0 expected, and 1 provided." when entiernat is undefined It seems useless because no test is broken. The comment mention node parameters that themselves have parameters. But it is the case for test/should_work/Gyroscope2.lus, and it is still working.
-
- Nov 30, 2017
-
-
erwan authored
Add code to support empty arrays (not yet working)
-
- Sep 12, 2017
-
-
erwan authored
BTW, fonctionalise the corresponding non-debug code.
-
- Sep 08, 2017
-
-
erwan authored
+ fix a (invisible) bug in lic2soc: the same action was generated twice.
-
- Aug 18, 2017
-
-
erwan authored
And it is now done only by Lic2soc (L2lCheckLoops is not used anymore) Also, during this change, I was bitten again by the « "__" versus "::" in ident names » problem again. The core of this problem is due to the fact that I use LicDump both for (1) dealing with internal ident names (2) generating lustre files Because of (2), ident names may depend on the ec or the v4 option. hence, internal names were sometimes translated with "__" instead of "::". To (try to) fix that, I've added a boolean flag to all "to_string" functions that states whether the function is used for internal purposes, or for generating lustre files. It was quite a boring change, that triggered other problems, that I've fixed in this (too long) commit : - -esa should force -en, otherwise bad things happen (-esa is used for -ec anyway) - in -esa mode, #/nor inputs tuples of bool, not arrays - fix the list of predi op that returns a type different that its arg (SocPredef)
-
- Jun 21, 2017
-
-
erwan authored
Indeed, expressions such as "3.0-42.5" caused a syntax error, as the unary minus of real constant was in hard in the lexer. "3.0- 42.5" worked, but still. The problem then was that LicEvalConst refused to eval "- 3.14", that was parsed directly as a constant, and that is now a call to the unary minus. I've added specific code to handle this case.
-
- Nov 30, 2016
-
-
Erwan Jahier authored
nb : i have changed the var name in the generated nodes, which was a bad idea (=painful to get it rigth again).
-
- Jan 14, 2016
-
-
Erwan Jahier authored
Ditto for Misc and Compile
-
- Jul 06, 2015
-
-
Pascal Raymond authored
* la syntaxe est changee pour l'accepter * la stucture IdSolver (compil "lazy") contient maintenant "all_srcs" qui permet d'acceder si besoin a n'importe quelle info source, notamment les params statiques des noeuds identifies par "Pack::name"
-
- Jun 25, 2015
-
-
Erwan Jahier authored
-
- Feb 27, 2015
-
-
Erwan Jahier authored
-
- Jan 21, 2015
-
-
Erwan Jahier authored
More precisely, a node that has memory ougth to be declared using "node", and using "function" otherwise. Moreover, a node that performs side-effects (i.e., if it calls an extern node that performs side effects) ougth to be declared as "unsafe". Safe/unsafe mismatches raise an error. Memory mismatches raise an error in one way (a "function" that uses memory), and a warning in the other way (a "node" that uses no memory). Also fix some errors done when transmitting the unsafe flag (well, it's the first time I use it!).
-
- Sep 01, 2014
-
-
Erwan Jahier authored
is the clock of the quicker clock among its inputs, not among its output !
-
- Aug 26, 2014
-
-
Erwan Jahier authored
-
- Aug 14, 2014
-
-
Erwan Jahier authored
nb : the -exec mode was working because I did not use the generated soc, which was completely wrong. Note that to do that, I have modified the CURRENT variant of Lic.val_exp, to attach it the clock the current holds on. Indeed, the clock is mandatory to generated correct code... In an ideal world, this clock information may have explicitely been set by the user ("current(clk_of_X,X)" instead of "current(X)"), but for historical reason, it is not the case. Hence, this information is added as soon as it is available, namely, during clock checking.
-
- Jun 06, 2013
-
-
Erwan Jahier authored
Translate fby into -> pre again, because the current implementation of fby is buggy if the fby is initialised with an input
-
- May 28, 2013
-
-
Erwan Jahier authored
The test now runs in 150s (versus 417s) [...] for some reasons, i cannot reproduce the 150s !!!
-
- 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).
-
- Apr 08, 2013
-
-
Erwan Jahier authored
-
- Apr 05, 2013
-
-
Erwan Jahier authored
In order to do that, I've generalised the type of merge : now the clock argument can be any expression. Some assert false still prevent its use, but it should be easy to get rid of them (I'll do that latter).
-
- Apr 04, 2013
-
-
Erwan Jahier authored
In order to do that, I've generalised the type of merge : now the clock argument can be any expression. Some assert false still prevent its use, but it should be easy to get rid of them (I'll do that latter).
-
- Apr 03, 2013
-
-
Erwan Jahier authored
nb : programs do run, but I did not check that they run correctly... Also fix a regression introduced in the previous change where incorrect ec code was generated for diese.
-
- Apr 02, 2013
-
-
Erwan Jahier authored
-
- Mar 27, 2013
-
-
Erwan Jahier authored
1) At the Lic level, there's no reason to distinguish betwenn node calls, and predef node calls. Indeed it makes things simpler and more homogeneous afterwards. 2) int strings are only converted when necessary (constant evaluation). 3) const are handled directly under Lic.by_pos_op instead of being under PREDEF_CALL, which make things easier and more logical.
-
- Feb 20, 2013
-
-
Erwan Jahier authored
-
- Feb 13, 2013
-
-
Erwan Jahier authored
BTW, put everything that concerns node environement into the new IdSolver module (from the Lic module).
-
- Feb 07, 2013
-
-
Erwan Jahier authored
-
- Feb 06, 2013
-
-
Erwan Jahier authored
-
Erwan Jahier authored
Pascal prepared « the field » for that change.
-
- Feb 04, 2013
-
-
Erwan Jahier authored
The only culprit was the one in unifyClock.ml::249, but I've lazyfied most of the non-trivial verbose call. The 2 remaining unresolved testq that were timeout-ing now pass in a few ms... The whole non-reg test time has been divided by more than 2!
-
- Feb 01, 2013
-
-
Erwan Jahier authored
-
Erwan Jahier authored
Also, force the merge to operate over an ident rather than on any val_exp.
-
- Jan 31, 2013
-
-
Erwan Jahier authored
nb : do not work for lv4/ec mode
-
- Jan 29, 2013
-
-
Erwan Jahier authored
Also fix some bugs in DumpLic when printing condact in other modes.
-
- Jan 18, 2013
-
-
Erwan Jahier authored
Remove all test that now passes from the broken dir.
-
- Jan 17, 2013
-
-
Erwan Jahier authored
-
- Jan 11, 2013
-
-
Erwan Jahier authored
nb : I've transformed all the regressions I've seen into todo entries in todo.org. nb 2 : I did not mv the newly broken tests into the broken dirs. I'll do that for those I do not want to fix in the short term.
-
- Dec 20, 2012
-
-
Erwan Jahier authored
Also call L2lCheckOutputs.check_node for all compiled nodes at the end of all the l2l transfo.
-
- 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
-