- Jun 17, 2015
-
-
Mamadou Ndiaye authored
-kcg: evaluates types enum and struct correctly. -kcg: evaluates const correctly.
-
- Jun 12, 2015
-
-
Mamadou Ndiaye authored
-
- Jun 11, 2015
-
-
Mamadou Ndiaye authored
-
- Mar 03, 2015
-
-
Erwan Jahier authored
-
- Feb 27, 2015
-
-
Erwan Jahier authored
-
- Jan 22, 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!).
-
- Jan 14, 2015
-
-
Erwan Jahier authored
Report by willie (cf mail of 8/10/2014 to get the file) file:/tmp/modes3x2.lus lus2lic -esa -en -2c /tmp/modes3x2.lus -n modes3x2 But it gives an error of: Error. in file "/mnt/A/wsept/modes3x2_pre_orig_lus2lic_en_esa/modes3x2.lus", line 74, col 8 to 8, token '#': only one operator per equation is allowed (v04_0, v04_1). Which is the line: assert #(on_off, toggle); ----------------------------------------------------------------- Actually, refuse programs that uses "#" or "nor" run with -esa and -2c|-exec That means that willie program is now rejected. Nevertheless, that change migth fix some other programs (that uses arrays, and used with -esa and -exec or -2c).
-
- Sep 02, 2014
-
-
Erwan Jahier authored
The translation was faithfull to the comment, but the comment was wrong : in order to translate a condact, we need clocks (when) ! node condact_toto(i0:bool; i1:int; i2:int) returns (o0:int) = Lustre::condact<<toto, 0>>; is now translated into: condact_toto(i0:bool; i1:int; i2:int) returns (o0:int) let o0 = if i0 then current(toto(i1 when i0, i2 when i0) ) else (0 fby o0); tel
-
- Aug 14, 2014
-
-
Erwan Jahier authored
-
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.
-
- Jul 04, 2014
-
-
Erwan Jahier authored
# of unexpected failures 101->109 but actually, some new test passes causes several other failing test to be tried, so it is not really a regression.
-
- May 30, 2014
-
-
Erwan Jahier authored
It generates C code that compile on at least one example.
-
- May 28, 2013
-
-
Erwan Jahier authored
The rationale is to avoid local vars blow-up on some examples. Indeed, the generated oracle blows-up (e.g., on left.lus) if we execute it via v4, whereas via v6 it works fine. This change triggers a couple of bugs that ware easy to fix (confusion between div and slash) that I've fixed along the way. For the others, I'll see later. Overall it's a progress albeit #fail: 80 -> 83 indeed: #unresolved: 20 -> 12 #passes 878 -> 883 time: 335 -> 228
-
- May 15, 2013
-
-
Erwan Jahier authored
Indeed, I've intentionally removed the when statements in clocked local var like this : var v:int; because the following was producing a syntax error in ecexe: var v:int when c; But Actually, the right thing to do was to generate the following: var (v:int) when c; ... nb : #FAILS=90->89
-
- Apr 26, 2013
-
-
Erwan Jahier authored
(to be kind with data plotters).
-
- Apr 25, 2013
-
-
Erwan Jahier authored
Actually it does not fix any test, but I feel it is a (slight) progress, so I commit it... Well, to be fair, one objective progress is that I can now compile the test suite with the -np option.
-
- Apr 17, 2013
-
-
Erwan Jahier authored
e.g., "uminus" instead of "-"
-
Erwan Jahier authored
Add --gen-autotest option that generates a Lutin file and an oracle Lustre file suitable to compare the result of 2 Lustre compilers
-
- 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 10, 2013
-
-
Erwan Jahier authored
Also Merge the Global and the MainArg module as they were (bizzarely) both handling command args options.
-
- 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.
-
- 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.
-
- Mar 25, 2013
-
-
Erwan Jahier authored
-
- 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
-
Erwan Jahier authored
Indeed, part of licDump was done in lic, but that part should not depend in the compil option.
-
- Feb 06, 2013
-
-
Erwan Jahier authored
-
Erwan Jahier authored
Pascal prepared « the field » for that change.
-
- Feb 04, 2013
-
-
Erwan Jahier authored
- translate merge on bools in terms of current and ite - do not print the clock info in node profile in en mode + various fixes in lustre test files. nb : now all tests in the should_work dir passes !!!
-
- 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 24, 2013
-
-
Erwan Jahier authored
-
- Jan 18, 2013
-
-
Erwan Jahier authored
Plug back the enums expansion (-ee, --expand-enums) that translates enum types using extern consts and types.
-
- 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 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
-