Skip to content
Snippets Groups Projects
todo.org 7.52 KiB
Newer Older
#+TODO: TODO(!) STARTED(!) WAITING(!) | DONE(d!) CANCELED(c)
#+CATEGORY: lv6


* Urgent


** TODO Ya un probleme avec ce fichier lustre (compilait avant)
file:test/should_work/call/call04.lus

il semble y avoir une confusion entre parametre et arguments lors
d'appels de noeuds définis vie des itérateurs de tableau

idem pour
file:test/should_work/fab_test/morel2.lus
et pleins d'autres. hm, y'aurait pas d'itérateurs dans celui la.

** TODO Ya un probleme avec ce fichier lustre (compilait avant)
   - State "TODO"       from ""           [2013-01-07 Mon 16:20]

../objlinux/lus2lic   should_work/lionel/triSel.lus   -en -ei -o /tmp/xxx.lus

** TODO le -o ne fonctionne plus
   SCHEDULED: <2013-01-07 Mon>
   - State "TODO"       from ""           [2013-01-07 Mon 14:28]
** TODO Refaire marcher les tests de non-reg qui sont cassés 
suites aux modifs de Pascal de l'été 2012
  - State "TODO"       from ""           [2012-10-26 Fri 14:59]

En fait, ce qui est cassé, c'est surtout le -ec puisqu'il n'a pas
rebranché l'expansion de tableau et de noeud.

il a fait 
 - mv tests _tests
 - mkdir tests
 - cp _tests/Makefile tests
 - créer des tests qu'il a mis dans  tests...

    
* Pas dur
** TODO Nommage des variables fraiches
   - State "TODO"       from ""           [2012-12-20 Thu 17:38]
Pascal a introduit un mechanisme qui shunte LicName -> en discuter avec lui.


** TODO Mettre le sha dans l'affichage de --version 
car c'est plus facile dans git pour retrouver ses petits
  - State "TODO"       from ""           [2012-10-26 Fri 14:59]

** STARTED   Intégrer le résultat de mly2bnf dans le manuel 

** TODO pb dans la verif de définition unique de variable en mode -en
   - State "TODO"       from ""           [2013-01-11 Fri 09:49]

file:~/lus2lic/testsuite/should_work/heater_control.lus::39

** TODO Regression dans le mode -ec
   - State "TODO"       from ""           [2013-01-11 Fri 09:33]

undefined new var :
file:testsuite/should_work/Gyroscope2.lus
file:/home/jahier/lus2lic/testsuite/should_work/deSimone.lus::47

var defined twice:
file:/home/jahier/lus2lic/testsuite/should_work/heater_control.lus


Peut-etre est-ce  lié au pb  précédent ? plus  précisement, peut-etre
que le bug existait  mais qu'on ne le voyait pas  car tous les noeuds
n'étaient pas générés ?

Quoiqu'il en soit, c'est interessant de tester tous les noeuds ce que
ne font pas mes scripts tcl en l'état.

** TODO Reprendre LicVarName.ml
   - State "TODO"       from ""           [2013-01-16 Wed 18:03]
car c'est completement n'importe quoi (j'ai réussit a faire des clashs
entre les var inventés dans split et dans expandnodes !!)

** TODO fix unresolved tests (timeout -> performance bugs)
   - State "TODO"       from ""           [2013-01-11 Fri 11:04]

par ex, file:./test/should_work/ec.lus
prend un temps infini alors qu'il n'est pas si gros.


** TODO Il ne detecte plus les erreurs d'instanciation de modeles
   - State "TODO"       from ""           [2012-12-21 Fri 11:08]
#+begin_src sh
cd src; ../objlinux/lus2lic -vl 2 --nonreg-test should_fail/type/parametric_node2.lus
#+end_src


file:test/should_fail/type/parametric_node2.lus

** TODO mauvais numero de ligne lors d'erreur d'instanciation de parametres de noeud
   - State "TODO"       from ""           [2012-12-21 Fri 10:58]

#+begin_src sh
cd src; ../objlinux/lus2lic -vl 2 --nonreg-test should_fail/type/parametric_node.lus
#+end_src

file:src/astInstanciateModel.ml
file:test/should_fail/type/parametric_node.lus


** TODO les (nouveaux) tests ne capture pas les changement de # lignes dans les should_fail
   - State "TODO"       from ""    [2013-01-11 Fri 11:15]
** TODO Enlever Abstract_type_eff de Lic.type_ ou vérifier partout que c'est correct.
   - State "TODO"       from ""           [2012-12-20 Thu 17:26]
dans lic.ml, on definit les types compilés ainsi :
and type_ =
  | Bool_type_eff
  | Int_type_eff
  | Real_type_eff
  | Abstract_type_eff of Ident.long * type_
  | Array_type_eff    of type_ * int
  ...

Mais est-ce vraiment utile de garder le Abstract_type_eff à ce niveau ?

en effet, ca oblige à traiter les 2 cas en permanence (par ex lors des
transfo llic2lic).

** TODO Définir les fonctions de UglyStuff proprement
   - State "TODO"       from ""           [2012-12-10 Mon 16:38]
file:~/lus2lic/src/uglyStuff.ml



** TODO  Rajouter le with à la caml pour les structures
  - State "TODO"       from ""           [2012-10-26 Fri 14:59]

** TODO Dans file:src/eff.ml::195 on pourrait virer la notion de call by name
qui  ne sert  que pour  les  structures. Mais  au niveau  du Eff,  on
pourrait s'en être  débarrassé au profit d'un appel  par position. A
faire au moment de la compilation des expressions.

question : est-ce que cela nous  prive d'une optim pour le traitement
du with ?
comment fait caml ?
  - State "TODO"       from ""           [2012-10-26 Fri 14:59]

** TODO  on devrait se passer de 'static_arg list' pour le champ =PREDEF_CALL= 
(c'est censé marcher)
cf file:./src/eff.ml::206
  - State "TODO"       from ""           [2012-10-26 Fri 14:59]

** TODO  L'ideal serait de se passer du PREDEF_CALL (et de passer par le  CALL normal)
  - State "TODO"       from ""           [2012-10-26 Fri 14:59]

** TODO  le Eff.WITH (aka if statique) n'a pas lieu d'être !
y virer !!
  - State "TODO"       from ""           [2012-10-26 Fri 14:59]

* Vieux trucs (?)

** TODO operateurs iterables 
  - State "TODO" from "" [2012-03-30 Fri 17:03]
- mettre dans la doc 
- voir si on ne pourrait pas completer la liste
en mettant tous les operateurs unaires de 
 file:~/lus2lic/src/syntaxTreeCore.ml::91 
dans 
 file:~/lus2lic/src/predef.ml::62
- tout au moins, eviter les assert false sur
#+BEGIN_CENTER lustre :exports bug_map_fby.lus
type state = struct {
   idy : int;
   leader : int;
   level : int
};
const n=5;
const inits = [
   state { idy = 33; leader =  5; level = 2} ,
   state { idy = 41; leader =  5; level = 3} ,
   state { idy = 21; leader =  5; level = 4} ,
   state { idy = 10; leader = 10; level = 0} ,
   state { idy = 75; leader = 75; level = 0}
] ;
const O = false;
const I = true;
const connect = [
   [ O, I, O, O, I ],
   [ I, O, I, O, O ],
   [ O, I, O, I, O ],
   [ O, O, I, O, I ],
   [ I, O, O, I, O ]
];
node algo (clk: bool; ps: state; neigh: bool^5) returns (ns: state);
let
   ns = if clk then
         state { idy =  ps.idy ; leader = ps.leader; level = ps.level + 1 }
      else
         state { idy =  ps.idy ; leader = ps.leader; level = ps.level };
tel
node simu(ck:bool^5) returns (s: state^n);
var ps : state^n;
let
   ps = map<<fby, 5>>(inits, s);
   s = map<<algo, n>> (ck, ps, connect);
tel
#+END_CENTER


** TODO Revoir le nommage des instances de noeuds parametriques
 par ex, pour should_work/NONREG/param_struct.lus
 ca invente des noms bien débiles du point de vue du nom du pack.
 Style 'mk_tab__param_struct::toto_toto_3'
 alors qu'aucun package ne s'appelle 'mk_tab__param_struct'

** TODO Changer la facon de numeroter les versions dans lus2lic (faire comme dans lurette)
   [2010-11-08 Mon]
** TODO Verifier les boucles combinatoires quand on genere du ec (car ec2c ne fait pas la verif !)
   [2010-06-07 Mon]

** TODO Refaire une passe pour virer une fois pour toute cette histoire d'idref dans Eff.
    cf file:/~/lus2lic/src/eff.ml line 189
QU: Pascal l'a fait ?
    
** TODO lic2c : le jour ou on genere du code C, y'a peut-etre des trucs a recuperer
   - State "TODO"       from ""           [2012-12-10 Mon 14:32]
des  trucs   chez  cedric   pasteur  (thesard  marc   p)  qui   a  une
implementation pour optimiser la maj des tableaux