1. 17 Mar, 2010 27 commits
    • Erwan Jahier's avatar
      lurette 0.92 Mon, 23 Sep 2002 15:58:36 +0200 by jahier · 350840f5
      Erwan Jahier authored
      Parent-Version:      0.91
      Version-Log:
      
      source/parse_env.ml:
          Allow expr a the lhs of comparison operators.
      
          Make comparison operators prefix instead on infix as
          it considerably simplifies the parsing.
      
          Also introduce a == keyword that operates over bool
          to disambiguate things (= is the equality for nums,
          and == the one for bool. Now the lucky grammar
          is truely LL(1), which is nice.
      
      Project-Description: Lurette
      350840f5
    • Erwan Jahier's avatar
      lurette 0.91 Fri, 20 Sep 2002 16:34:48 +0200 by jahier · 1e5a2fe0
      Erwan Jahier authored
      Parent-Version:      0.90
      Version-Log:
      
      source/parse_env.ml:
          Allow a space between a '-' and a numeric value.
      
      Project-Description: Lurette
      1e5a2fe0
    • Erwan Jahier's avatar
      lurette 0.90 Fri, 20 Sep 2002 16:17:27 +0200 by jahier · a02a6397
      Erwan Jahier authored
      Parent-Version:      0.89
      Version-Log:
      
      source/parse_env.ml:
          Allow arbitrary expression in the lhs of boolean
          compararison operators (<,>,=,>=,<=).
      
      Project-Description: Lurette
      a02a6397
    • Erwan Jahier's avatar
      lurette 0.88 Wed, 18 Sep 2002 17:14:51 +0200 by jahier · 28055e17
      Erwan Jahier authored
      Parent-Version:      0.87
      Version-Log:
      
      Turn around the bug in sim2chro where it can not read floats such like 4.
      (pb cause there is not digits...).
      
      Project-Description: Lurette
      28055e17
    • Erwan Jahier's avatar
      lurette 0.84 Wed, 11 Sep 2002 10:19:52 +0200 by jahier · 86a22707
      Erwan Jahier authored
      Parent-Version:      0.83
      Version-Log:         empty
      Project-Description: Lurette
      86a22707
    • Erwan Jahier's avatar
      lurette 0.80 Mon, 02 Sep 2002 16:07:51 +0200 by jahier · 7344d9ba
      Erwan Jahier authored
      Parent-Version:      0.79
      Version-Log:
      
      source/control.ml:
      source/parse_env.ml:
          Add a new ctrl expr (set_between) to let one set the value of a CE var
          in such a way that it is backtracable within an interval. One rational
          is that it let ones code infinite loops that can be exited when
          the formula is false.
      
      Project-Description: Lurette
      7344d9ba
    • Erwan Jahier's avatar
      lurette 0.78 Thu, 29 Aug 2002 15:19:15 +0200 by jahier · 98bd35d5
      Erwan Jahier authored
      Parent-Version:      0.77
      Version-Log:
      
      source/parse_env.ml:
         Fix a bug where empty ctrl expr labels were causing
         a parse error.
      
      source/control.ml,mli:
         Add those files to the project as should have been done for a while...
      
         Do not handle infinite values for ctrl expr counters anymore as it is
         useless (and not so easy to be handled properly).
      
      Project-Description: Lurette
      98bd35d5
    • Erwan Jahier's avatar
      lurette 0.69 Fri, 19 Jul 2002 10:19:59 +0200 by jahier · 135fe2d5
      Erwan Jahier authored
      Parent-Version:      0.68
      Version-Log:
      
      wtree.ml,mli:   (deleted)
      automa.ml,mli:  (new files)
      control.ml,mli: (new files)
      
         Replace the [wtree] module by an [automata] module, that basically
         does the same job, but in a different way. Namely, it no more uses
         the [wtree] DS to use [graph]s instead.  Indeed, the product of
         wtrees introduces some problems, in particular to ensure its
         correctness wrt to the automata run concurrently. Now, everything a
         dead-simple wrt product: we simply perform a quasi-classical automata
         product (well, at least, much closer from a classical product, cf
         paper).
      
         The way loop counters are handled has also changed. Now, counters are
         handled via expressions of a simple arithmetic language that
         basically lets one initialise a variable to an exact or a random
         value (uniform or normal draw) and decrement it. Arcs are now
         labelled by a formula plus 2 expressions of that mini-language (no
         more weigth nor cpt_init stuff). The 1st expression is evaluated
         during the draw, basically performs any operations on counters, and
         returns a positive int that is used as the formula weigth. The second
         expression (a kind of post-condition) is evaluated if its arc is the
         one that has been elected to perform the step.
      
      At several locations long lines (< 80) are reindented.
      
      parse_env.ml:
         In the ima format, IfThenElseExpr becomes IfThenElseNum.
         Also, parse list more cleanly.
      
      graph.ml,mli:
          Add a function that test whether a transition is in the graph.
      
          Do not sort list of transitions anymore (what was the point?).
          Also do not sort nodes in any way.
      
      show_env_env.ml,mli:
         Abstract away nodes and arcs data types (so that I can display
         Automata graphs). rename generate_env_graph into ima_to_dot.
      
      lurette.ml:
      ima_exe.ml:
         Fix a bug where bbd table were filled by asserted non regression expr.
      
      lurette.ml:
         Fix a bug where incorrect data was sent to sim2chro (ie, the output of the
         previous step instead of the ones of the current step.
      
      env_state.ml:
      solver.ml:
      gne.ml:
         Fix a performance bug where I was storing formula indexes even if
         they were depending on inputs or pre, which is stupid as they generally
         won't be used again. In order to fix that, I introduced  new
         atomic_formula <-> indexes table to stote the ones that do not depend
         on inputs apart. It was also necassery to propogate the <<depend on pre>>
         flag inside Gne.gn_expr (which i renamed Gne.t BTW).
      
      Project-Description: Lurette
      135fe2d5
    • Erwan Jahier's avatar
      lurette 0.64 Fri, 10 May 2002 16:32:32 +0200 by jahier · 458e1508
      Erwan Jahier authored
      Parent-Version:      0.63
      Version-Log:
      
      Add support for loop Gauss.
      
      Fix a bug in the handling of loops where lurette (and ima_exe) was
      stopping whenever the body of a loop contains no satisfiable formula
      whereas the endLoop branch should be taken in that case.
      
      Project-Description: Lurette
      458e1508
    • Erwan Jahier's avatar
      lurette 0.61 Fri, 03 May 2002 12:08:34 +0200 by jahier · 6b362e07
      Erwan Jahier authored
      Parent-Version:      0.60
      Version-Log:
      
      Add support for handling loops. This is based on the use of dynamic
      weigths. The idea is to compute the dynamic weigths before the trees
      are constructed.
      
      Add a --show-aut option for ima_exe.
      
      Also, Add the command lise args hashed to the end of the name of the dot file
      that is used to visualize the ima file.
      
      Project-Description: Lurette
      6b362e07
    • Erwan Jahier's avatar
      lurette 0.60 Mon, 29 Apr 2002 10:16:48 +0200 by jahier · b425173e
      Erwan Jahier authored
      Parent-Version:      0.59
      Version-Log:
      
      Add an make release rule to package a lurette.tgz ready to distribute.
      
      Create a bin dir where all the biniries (except lurette) will live.
      
      Create a show_ima executable that lets one (Yvan actually) display
      .env (or .ima) files off-line.
      
      Move read_env_state from env.ml to env_state.ml.
      
      Add support for lutin loops in the parser (not yet handled tough).
      
      In gen_stubs.ml, try to automatically call lustre whenever no C poc
      file exists for the invoked program.
      
      Project-Description: Lurette
      b425173e
    • Erwan Jahier's avatar
      lurette 0.59 Mon, 22 Apr 2002 14:40:46 +0200 by jahier · 74c46a98
      Erwan Jahier authored
      Parent-Version:      0.58
      Version-Log:
      
      Change the env parser so that :
      1) lists can end with a semi-column
      2) We can deal with dynamic weigths (for loops). The support
      for handling them is not written yet tough.
      
      Project-Description: Lurette
      74c46a98
    • Erwan Jahier's avatar
      lurette 0.56 Wed, 03 Apr 2002 16:14:26 +0200 by jahier · 662e3694
      Erwan Jahier authored
      Parent-Version:      0.55
      Version-Log:
      
      Change the env format sligthly again :
       - adds the arcs and node numbers.
       - allows lists to end by a ;
       - add xor's
      
      Project-Description: Lurette
      662e3694
    • Erwan Jahier's avatar
      lurette 0.55 Wed, 03 Apr 2002 14:41:43 +0200 by jahier · f570cc25
      Erwan Jahier authored
      Parent-Version:      0.54
      Version-Log:
      
      Allow equalities between formula by translating [A = B] into
      [Or(And(A,B), And(Not(A), Not(B)))].
      
      Fix a bug where lurette had a bad behaviour whenever a toss
      was performed on a domain which size was bigger than max_int
      or max_float.
      
      Fix a bug where lurette was not handling env with both boolean and
      numerical as output vars.  Also add a few comments in solver.ml along
      the way.
      Adds a local bool as an output of heater in order to test the fix
      above.
      
      Project-Description: Lurette
      f570cc25
    • Erwan Jahier's avatar
      lurette 0.51 Wed, 27 Mar 2002 17:46:03 +0100 by jahier · 6f6168b0
      Erwan Jahier authored
      Parent-Version:      0.50
      Version-Log:
      
      Change the way pre are translated in the .env file. Now
      instead of writting "_pre2toto", one writes "pre(2,toto)".
      
      But internally, it is handled the same way as before (i.e., the first
      thing I do when parsing the env file is to transform "pre(2,toto)"
      into "_pre2toto" (it makes the hangling of pre vars much more
      homogeneous with the way the other vars are handled.
      
      Also fix a bug where it was not possible to have a pre on input
      vars because the update_pre was failing to proceed quietly  whenever
      one of its var was not computable because its pre does have a value.
      Also give an appropriate error message whenever the user wrongly
      use a pre on a var that can not be computed.
      
      Project-Description: Lurette
      6f6168b0
    • Erwan Jahier's avatar
      lurette 0.50 Wed, 27 Mar 2002 13:36:39 +0100 by jahier · c699a9b3
      Erwan Jahier authored
      Parent-Version:      0.49
      Version-Log:
      
      Add the possibility to put pragmas in the .env files.
      
      Project-Description: Lurette
      c699a9b3
    • Erwan Jahier's avatar
      lurette 0.49 Tue, 26 Mar 2002 16:22:45 +0100 by jahier · 94d83c01
      Erwan Jahier authored
      Parent-Version:      0.48
      Version-Log:
      
      Clean up a little bit the ima format to make it sipler to parse
      and to avoid reducing  the naming space as much as possible.
      
      Project-Description: Lurette
      94d83c01
    • Erwan Jahier's avatar
      lurette 0.48 Fri, 22 Mar 2002 14:29:17 +0100 by jahier · 1c7769db
      Erwan Jahier authored
      Parent-Version:      0.47
      Version-Log:
      
      Add support for (boolean and numeric) if-then-else.
      
      Remove the eval.ml module as the replacement of pre and input
      vars is now done in Solver.formula_to_bdd.
      
      Add a new module gne.ml that provides a garded normal expressions
      data structure that is used to handle if-then-elses.
      
      Also introduce a new field to env_state called bdd_tbl_global which
      is used to cache the result of formula_to_bdd for bdds that do not
      depend on pre nor input vars. The field bdd_tbl which cache the other
      reults is now cleared at each step because it is useless to store results
      that depends on pre and inputs.
      
      Project-Description: Lurette
      1c7769db
    • Erwan Jahier's avatar
      lurette 0.44 Wed, 13 Mar 2002 13:53:40 +0100 by jahier · dc7ea4b5
      Erwan Jahier authored
      Parent-Version:      0.43
      Version-Log:
      
      Add the possibility to specify the min lower and upper bounds
      in the env automata for output and local vars.
      
      Project-Description: Lurette
      dc7ea4b5
    • Erwan Jahier's avatar
      lurette 0.41 Fri, 08 Mar 2002 17:30:37 +0100 by jahier · 801c2882
      Erwan Jahier authored
      Parent-Version:      0.40
      Version-Log:
      
      Change sligthly the ima format to make it more consistent.
      
      Project-Description: Lurette
      801c2882
    • Erwan Jahier's avatar
      lurette 0.40 Thu, 07 Mar 2002 16:26:47 +0100 by jahier · 9d1241f6
      Erwan Jahier authored
      Parent-Version:      0.39
      Version-Log:
      
      Change the naming convention of prevars. Now, _pretoto is noted
      _pre1toto, and _pre_pre_pretoto is noted _pre3toto.
      
      Also fix a bug in the default initialization of ranges : min_float
      is the smallest positive float, not the smallet one !!
      
      Project-Description: Lurette
      9d1241f6
    • Erwan Jahier's avatar
      lurette 0.38 Wed, 06 Mar 2002 10:50:34 +0100 by jahier · c3c5f045
      Erwan Jahier authored
      Parent-Version:      0.37
      Version-Log:
      
      With this change, lurette is now able to handle numeric variables
      over intervals !
      
      Project-Description: Lurette
      c3c5f045
    • Erwan Jahier's avatar
      lurette 0.36 Mon, 04 Mar 2002 13:50:13 +0100 by jahier · 8b44df60
      Erwan Jahier authored
      Parent-Version:      0.35
      Version-Log:
      
      Add support to handle numerical contraints. The numerical stuff is
      untested, but the boolean part works as before.
      
      source/rnumsolver.mli:
      source/rnumsolver.ml:
          New files implementing a numeric solver based on intervals.
      
      source/*.ml:
          Change the var_type type from a string to a sum type containing
          the lower and upper bounds of numeric domains.
      
          Do not maintain a var_name to index correspondance, but a formula to
          index one. This is to be able to handle numerical constraint in bdds.
          This field is not set at init time anymore, but in formula_to_bdd.
      
          Add <>, <, and <= to the type of formula.
      
      Project-Description: Lurette
      8b44df60
    • Erwan Jahier's avatar
      lurette 0.24 Tue, 05 Feb 2002 14:10:29 +0100 by jahier · eb46e24b
      Erwan Jahier authored
      Parent-Version:      0.23
      Version-Log:
      
      Make the examples of Yvan work. Fix a bunch of bugs alonf the way...
      
      Project-Description: Lurette
      eb46e24b
    • Erwan Jahier's avatar
      lurette 0.22 Fri, 14 Dec 2001 12:08:57 +0100 by jahier · 6f110b29
      Erwan Jahier authored
      Parent-Version:      0.21
      Version-Log:
      
      Change the comments layout so that ocamldoc is able to process them nicely.
      Project-Description: Lurette
      6f110b29
    • Erwan Jahier's avatar
      lurette 0.18 Thu, 06 Dec 2001 12:40:09 +0100 by jahier · e95202e8
      Erwan Jahier authored
      Parent-Version:      0.17
      Version-Log:
       Handle pre in formula and expressions. Also add (in
      green) the environment local vars in the sim2chro output.
      
      Project-Description: Lurette
      e95202e8
    • Erwan Jahier's avatar
      lurette 0.14 Mon, 03 Dec 2001 12:45:17 +0100 by jahier · d22646a1
      Erwan Jahier authored
      Parent-Version:      0.13
      Version-Log:
      
      Now lurette can hanble multiple environements that can either be
      run as a product or in parallel.
      Project-Description: Lurette
      d22646a1