Skip to content
Snippets Groups Projects
  1. Apr 23, 2013
    • Erwan Jahier's avatar
      Fix several issues w.r.t. clocks during node expansion. · cb891dc4
      Erwan Jahier authored
      (1) equations such as
       (x,y,z)=[0,0,0];
      were generated with -en unless -ec was specified.
      
      I've fixed that by always breaking tuples, even when global_opt.ec
      is false (this condition was strange anyway).
      
      (2) During node expansion, I create a fresh variable for each local
      var in the expanded node, but old var names were still appering in
      clock expression
      
      indeed, consider that example :
      var
        c:bool;
        x when c :bool;
      
      I was generating something equivalent to
      
      var
        c_fresh:bool;
        x_fresh when c :bool;
      
      bou... Of course, it was working because in -ec mode, I need to
      remove clock annotation when declaring local variables, which was
      hidding the problem.
      
      nb : because I've change test_lus2lic_no_node to use -lv4 instead of
      -ec to generate the lustre oracle, which exposes new pbs (cf above).
      
      (3) When expanding a node on the base clock with arguments on another
      clock, I was not propagating that information (let's keep the
      finger-crossed and hope the current fix is complete).
      
      nb : the number of failing test cases is the same (5 new pass, but 5
      new fail!!), but it actually is a progression. Indeed, the new test
      failures ares due to the fact that this current change fixes a
      problem that expose yet another one!
      
      Actually, the newly exposed bug is not in the compliler, but in the
      oracle I generate via the --auto-test option ; indeed, for testing
      nodes which not all interface variables are one the base clock, I
      should generate oracle that do take them into account.
      cb891dc4
  2. Apr 22, 2013
  3. Apr 17, 2013
  4. Apr 08, 2013
  5. Apr 05, 2013
  6. Apr 03, 2013
  7. Apr 02, 2013
  8. Mar 25, 2013
  9. Mar 19, 2013
  10. Feb 22, 2013
  11. Feb 20, 2013
  12. Feb 13, 2013
  13. Feb 07, 2013
  14. Feb 06, 2013
  15. Feb 04, 2013
  16. Feb 01, 2013
  17. Jan 31, 2013
  18. Jan 29, 2013
  19. Jan 25, 2013
  20. Jan 24, 2013
  21. Jan 19, 2013
  22. Jan 18, 2013
  23. Jan 17, 2013
  24. Jan 16, 2013
  25. Jan 14, 2013
  26. Jan 11, 2013
  27. Dec 20, 2012
  28. Dec 18, 2012
  29. Dec 13, 2012
    • Erwan Jahier's avatar
      Some work to plug back the array expansion. · 8d9c3422
      Erwan Jahier authored
      8d9c3422
    • Erwan Jahier's avatar
      Documentation et renommage des modules. · 65dfa567
      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
      65dfa567
  30. Dec 11, 2012
    • Erwan Jahier's avatar
      Un petit bilan des changements effectués par Pascal · dce00f59
      Erwan Jahier authored
      + remise en place du souk qu'il a mis dans le repertoire test.
      
      - il a commencé à rajouter le CondAct (tout est parti de la en fait...)
      - il a coupé le LazyCompiler en morceaux
      
      Pour cela, il a créé un nouveau module LicPrg qui définit la
      structure de données (SDD) en sortie du LazyCompiler. Ensuite, les
      diverses tranformations src2src sont faites à partir de cette SDD.
      
      - il a débranché (temporairement) l'expansion de noeud et de array/structure
      
      - il a débranché ma pseudo inférence de type et a mis à la place une
      vérification de types.
      
      - Le traitement du polymorphisme est effectué via une transfo src2src
      dans DoNoPoly (que je vais renommer en RmPoly)
      
      --------------------------------------------------------------------------
      Par ailleurs,
      
      J'ai créé un todo.org et un README.org que je vais essayer de tenir à jour.
      
      nb: les tests ne passent toujours bien sur.
      dce00f59
Loading