Skip to content
Snippets Groups Projects
  1. May 10, 2013
  2. May 06, 2013
  3. Apr 26, 2013
  4. Apr 25, 2013
  5. Apr 24, 2013
  6. 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
  7. Apr 22, 2013
  8. Apr 17, 2013
  9. Apr 12, 2013
    • Erwan Jahier's avatar
      lus2lic is now working from ldbg and ltop. · fa71e77c
      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).
      fa71e77c
  10. Apr 10, 2013
  11. Apr 03, 2013
  12. Mar 19, 2013
  13. Feb 13, 2013
  14. Jan 24, 2013
  15. Jan 16, 2013
  16. Jan 11, 2013
  17. Dec 18, 2012
  18. Dec 13, 2012
    • 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
  19. 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
  20. Aug 07, 2012
  21. Jul 14, 2012
  22. Jul 10, 2012
  23. Jul 07, 2012
  24. Jul 06, 2012
  25. Jun 01, 2011
    • Erwan Jahier's avatar
      Fix several bugs in static argument handling, in particular when · 65695130
      Erwan Jahier authored
      parametric nodes (or predef iterators) are nested.
      
      Before, nested iterators were handles as follows : a source-level
      (i.e., not compiled) alias node was created on-the-fly, and then
      compiled. But this way to proceed was buggy for static args coming
      from nested iterators or nested parametric nodes.
      
      Now, I rely on Inline.iterators to get rid of iterators (the iterator
      inlining is now recursive).
      65695130
  26. May 19, 2011
  27. Nov 03, 2010
  28. Aug 19, 2010
    • Erwan Jahier's avatar
      When including files with a relative path, consider it as relative to · 248cdbe4
      Erwan Jahier authored
      the includer file, instead of the compiling directory.
      
      Also, avoid loops when including files.
      
      Add a --nonreg-test option that prevent the compiler to print file
      name paths in error messages. Indeed, this change makes all file
      names absolute, which complicates the non-regression tests automatic
      perusal.
      248cdbe4
  29. May 05, 2010
  30. Apr 13, 2010
  31. Apr 09, 2010
  32. Apr 08, 2010
  33. Jan 22, 2010
    • Erwan Jahier's avatar
      Fix a bug in the fresh var names generation. · 0f54289a
      Erwan Jahier authored
      cf test/should_work/NONREG/fresh_name.lus
      
      where the local variable _n1e1_1 was defined twice !
      
      The fix contist the following idea : prefix fresh var name by "_",
         except if at least one user ident begins by "_". In that case, we
         try to prefix them by "_1", and then "_2", and so on. We take the
         first possible one.
      
         nb : this won't work if the user defined idents from "_1" to
         "_1073741823" (on 32-bits machine), but I bet that this compiler
         would die before anyway...
      0f54289a
  34. Jan 20, 2010
  35. Mar 11, 2009
Loading