- Aug 17, 2015
-
-
Erwan Jahier authored
Indeed, otherwise, in some cases, rdbg or lurette migth not realise that lus2lic exited in error.
-
- 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"
-
- Apr 10, 2015
-
-
Erwan Jahier authored
by grouping instances of the same type into arrays. The rationale is to be able to generate for loops with iterators. The previous code was working, but probably by chance.
-
- Mar 18, 2015
-
-
Erwan Jahier authored
Indeed, in order to sort Soc.gao, I currently process in 3 stages ; 1. compute a total ordering of Actions.t according to the deps 2. transform Actions.t into Soc.gao (List.map) 3. factorize Soc.gao by looking at consecutive gao that have the same guard With this change, between steps 1 and 2, I reorder the list of actions so that group of independent actions are sorted according to their clock. The idea is of course to provide to step 3 more opportunities of factorization. The result is not very convincing yet. I've also tried to sort the actions wrt their clock before performing the toposort. Seems not too bad. I've kept the old behavior by default though.
-
- Mar 03, 2015
-
-
Erwan Jahier authored
-
- Feb 27, 2015
-
-
Erwan Jahier authored
-
- Feb 09, 2015
-
-
Erwan Jahier authored
when calling soc. Do not work all the times (eg, with arrays it generates C code that does not compile). cf next changes.
-
- 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).
-
- Jan 07, 2015
-
-
Erwan Jahier authored
Also fix a bug in Lic2soc.make_e2a_elt where some deps and some actions were lost. Actually, this bug ought to be triggered only with nested calls. So this affects only programs executed via the -knc/-keep-nested-calls option. and -2c is not supposed to work in conjunction with -knc ! Hence this fix does not fix anything. But still it fixes potentially future code if I (or someone else) decide to handle nested calls in the lic one day.
-
- Dec 12, 2014
-
-
Erwan Jahier authored
-
- Nov 17, 2014
-
-
Erwan Jahier authored
-
- Oct 09, 2014
-
-
Erwan Jahier authored
Basically, I've missed some substitutions in Merge and in clocks. This one was spotted by willie.
-
Erwan Jahier authored
-
- Oct 01, 2014
-
-
Erwan Jahier authored
Add an option --to-c-dont-inline-predef to get the previous behavior.
-
- Sep 29, 2014
-
-
Erwan Jahier authored
I've just switched to ocaml 4.02, and it works only on carlit because of GLIC 2.14 is not installed on other machine. also, add some missing files.
-
- 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 26, 2014
-
-
Erwan Jahier authored
e.g., by replacing "plus" by "iplus" or "rplus" Hence now the following is accepted : res = map<<+, N>>(x, a, b); but still not a_or_b = map<<Lustre::if, N>>(x, a, b);
-
Erwan Jahier authored
For instance, node toto = map<<Lustre::if, N>>(x, a, b); is rejected. The problem with this change is that we now also reject equations such as res = map<<+, N>>(x, a, b); which could be avoided. Probably L2lRmPoly does its job partially.
-
- Mar 25, 2014
-
-
Erwan Jahier authored
cf git sha 55d3d77c470f416befd16a1b7d47f751eb2171fc of rdbg
-
- Jan 22, 2014
-
-
Erwan Jahier authored
More specifically, replace @ by rev_append and flatten+map by fold_left. On a file that has 11000 equations (normal.ec), I win a factor 4: 60s -> 15s
-
- Dec 11, 2013
-
-
Erwan Jahier authored
The main difference is that I use a map instead of list to store visited nodes. The compilation time of normal.ec is divided by 2!! (35s->15s) We do not really see the difference in the time of the non-reg tests since the execution of normal.ec still exceeds the 10s timeouts.
-
- Nov 29, 2013
-
-
Erwan Jahier authored
Fix a bug in socExec.ml (strangely untriggered before) along the way.
-
- Nov 28, 2013
-
-
Erwan Jahier authored
-