- Jun 15, 2022
-
-
erwan authored
-
- Jun 19, 2020
-
- Aug 29, 2019
-
-
erwan authored
Remove a lot of warnings (considered as errors by dune).
-
- Mar 23, 2018
-
-
erwan authored
The idea is to be able to take into account clock in node profiles when generating the main simulation loop, and to avoid to read inputs that are not present.
-
- 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)
-
- Feb 20, 2017
-
-
Erwan Jahier authored
-
- 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).
-
- Oct 25, 2016
-
-
Erwan Jahier authored
-
- Sep 09, 2016
-
-
Erwan Jahier authored
-
- May 27, 2016
-
-
Erwan Jahier authored
('::' vs '__') soc2c -2cw7: use mkff+fixffx+arm.looploc to fix extern lib calls.
-
- Mar 18, 2016
-
-
Erwan Jahier authored
The bug was (in soc2c.ml::137) that, for array of instances of size n, it was generating n+1 initialisations, causing a seg fault.
-
- Feb 27, 2015
-
-
Erwan Jahier authored
-
- 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.
-
- Oct 09, 2014
-
-
Erwan Jahier authored
More precisely, it was introduced here 6c7bc562 bug1: Soc2cGenAssign.f was calling Soc2cIdent.type_to_short_string, which was generating bad idents (ie, containing "::"). bug2 : some _assign_array_types macro def were missing. to be continued...
-
- Sep 01, 2014
-
-
Erwan Jahier authored
is the clock of the quicker clock among its inputs, not among its output !
-
- 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.
-
- Aug 07, 2014
-
-
Erwan Jahier authored
Indeed, once the activation condition has been true, and when it is false it wax returning the default value instead of the previous one. # of expected passes 1512 -> 1519 # of unexpected failures 84 -> 78
-
- 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.
-
- Jun 27, 2014
-
-
Erwan Jahier authored
-
- Jun 26, 2014
-
-
Erwan Jahier authored
where I've removed the handling of polymorphism.
-
Erwan Jahier authored
where I've removed the handling of polymorphism.
-
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.
-
- Jun 24, 2014
-
-
Erwan Jahier authored
nb: unexpected failures 126 -> 120
-
- Jun 20, 2014
-
-
Erwan Jahier authored
-
- Jun 19, 2014
-
-
Erwan Jahier authored
The arrow soc now has a memory used to hold if the first step has be triggered.
-
- Jun 02, 2014
-
-
Erwan Jahier authored
- Generate code for most predef operators. - Generate a loop.c file (in a similar manner as ec2c -loop does)
-
- May 21, 2014
-
-
Erwan Jahier authored
Add the modes3x2 exemple of Pascal (its version + a la V6 version). Fix the doc wrt the merge exemple (the tex was refering to a non-existant file).
-
- May 12, 2014
-
-
Erwan Jahier authored
Work in progress...
-
- Jun 05, 2013
-
-
Erwan Jahier authored
Indeed, the initialisation of the fby was done when the soc was created. Hence the first fby that was translated was giving its initial value to all others forthcoming fby !!! In order to fix that, I've modified the type of Soc.key so that the initial value is part of its key. Note that currently, it does not work if the initial value is an input.
-
- Jun 03, 2013
-
-
Erwan Jahier authored
Actually, it was a misunderstanding of mine (R1) ; the behavior was consistent with the lv6 doc, but not with the v4 behavior... Indeed, # means "at most 1 among n", not "exactly one among n" as I tought...
-
- 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 21, 2013
-
-
Erwan Jahier authored
nb : #FAILS=84->81
-
- May 16, 2013
-
-
Erwan Jahier authored
-
- May 10, 2013
-
-
Erwan Jahier authored
I though polymorphism was removed by l2lRmPoly.ml, but well, it was easy. nb : #FAILS=131->128
-
- May 07, 2013
-
-
Erwan Jahier authored
nb : #FAILS=135->131
-
- Apr 08, 2013
-
-
Erwan Jahier authored
I took the data type definition from SocExecValue to define a Data module that is a strict extension of the Lutin Data module. The duplicated Genlex module is now also identical to the one of Lurette. Quite boring, but simple thanks to the ocaml type system.
-