1. 17 Mar, 2010 40 commits
    • Erwan Jahier's avatar
      lurette 0.128 Mon, 03 Mar 2003 10:01:09 +0100 by jahier · 8d595778
      Erwan Jahier authored
      Parent-Version:      0.127
      Version-Log:
      
      source/parse_env.ml:
      source/env_state.ml:
      source/env_state.mli:
         Add support for transient /recurrent nodes (not plugged yet).
      
      source/parse_env.ml:
      source/solver.ml:
      source/formula.ml
      source/formula.mli:
      test/*.luc:
        Add the possibity to define formula and num expr aliases
        (a request from Bertrand).
      
      test/losange.luc: [new file]
      test/losange-3d.luc: [new file]
      test/test_losange.lus: [new file]
      user-rules:
         Add the losange in the non-regression test
      
      source/luc_exe.ml:
      source/command_line_luc_exe.ml:
         Add an option that lets one see local vars in lucky output.
      
      Project-Description: Lurette
      8d595778
    • Erwan Jahier's avatar
      lurette 0.127 Mon, 24 Feb 2003 09:14:09 +0100 by jahier · 09d218f2
      Erwan Jahier authored
      Parent-Version:      0.126
      Version-Log:
      
      source/command_line_luc_exe.ml:
      source/command_line_luc_exe.mli:
      source/luc_exe.ml:
      source/store.ml:
      source/lurette.ml:
      source/lurettetop.ml:
         Put back the verteces draw. It was not such a great idea to remove
         after all...
      
         Also change verteces into vertices (oops...).
      
      Project-Description: Lurette
      09d218f2
    • Erwan Jahier's avatar
      lurette 0.126 Fri, 21 Feb 2003 18:49:20 +0100 by jahier · 5a165497
      Erwan Jahier authored
      Parent-Version:      0.125
      Version-Log:
      
      source/command_line_luc_exe.ml:
      source/command_line_luc_exe.mli:
      source/command_line.ml:
      source/command_line.mli:
      source/luc_exe.ml:
      source/lurette.ml:
      source/lurettetop.ml:
         Add the possibility to set the precision from lucky and lurette command
      lines.
      
         Remove the draw-vertices stuff.
      
      source/command_line_luc_exe.ml:
      source/command_line_luc_exe.mli:
      source/luc_exe.ml:
         Also add the --edges and the inside options for lucky.
      
      source/parse_env.ml:
        Allow to forget empty fields in the automata format.
      
      source/store.ml:
         Plug the new drawing heuristic
      
      Project-Description: Lurette
      5a165497
    • Erwan Jahier's avatar
      lurette 0.125 Fri, 21 Feb 2003 16:30:11 +0100 by jahier · 27272998
      Erwan Jahier authored
      Parent-Version:      0.124
      Version-Log:
      
      source/parse_env.ml:
         Make most fields of the automata syntax optional so that
         people are not obliged to refer to empty list of, eg,
         formula.
      
         Also add a field formula that let one defines global formula.
         This field is currently unplugged (ie, it parses, but the information
         contained in that fied in ignored).
      
      Project-Description: Lurette
      27272998
    • Erwan Jahier's avatar
      lurette 0.123 Tue, 18 Feb 2003 09:49:47 +0100 by jahier · a13cc8e1
      Erwan Jahier authored
      Parent-Version:      0.122
      Version-Log:
      
      source/rnumsolver.mli:
      source/rnumsolver.ml:
      source/store.mli:
      source/store.ml:
         Rename rnumsolver into store.
      
      source/solver.ml:
      source/parse_env.ml:
         Do not explicitely handle dis-equalities but transform it using
         not and = instead. The rational for this change is to avoid code duplication
         (which was buggy !!!), but also to allow handle dis-equalities with
         the optimized algorithm I had for eqalities (for free) !
      
      Project-Description: Lurette
      a13cc8e1
    • Erwan Jahier's avatar
      lurette 0.122 Mon, 17 Feb 2003 14:50:50 +0100 by jahier · 78f40b65
      Erwan Jahier authored
      Parent-Version:      0.121
      Version-Log:
      
      When delayed constraints are remaining at bdd leaves, we were
      printing a message saying that one shoud use a polyhedron solver
      based instead.  Now, I really call such a polyhedron solver in order
      to solve those constraints.
      
      This means that I use to different solvers to handle interval and
      polyhedron of dimension > 1.
      
      It also means that the satisfiability of constraints over polyhedra
      is only checked at bdd leaves, which, in some circumstances, migth be
      inefficient. The point is that, if we chose to check the formula
      satisfiability during the bdd traversal, we take the risk that a very
      polyhedron is created whereas it was not necessary (because of
      forthcoming equalities). And creating polyhedron with big (>15)
      dimension simply runs forever, which is really bad.
      
      nb : drawing in poyhedron not yet plugged.
      
      source/polyhedron.ml:
      source/polyhedron.mli: (new files)
          misc functions over polyhedra. The rational for creating that file
          is that rnumsolver is already much too big (and should be splitted
          some more btw).
      
      source/solver.ml:
         One of the main change is that now, draw_in_bdd returns 2 stores.
         One is Range based, the other one is polyhedron-based.
      
      source/rnumsolver.mli:
      source/rnumsolver.ml:
         Add the function switch_to_polyhedron_representation which
         handle delayed constraint if necessary. It is meant to be called
         at bdd leaves.
      
      source/solver.ml:
      source/rnumsolver.ml:
         Also do not use split_store anymore but add_constraint. This allows
         a much more elegant and efficient implementation of draw_in_bdd and
         draw_in_bdd_eq (Now the store is buid when and only when a new branch
         should be tried because of backtracking). It is also more efficient.
      
      source/constraint.mli
      source/constraint.ml
      source/ne.mli
      source/ne.ml
         Implement get_vars that retreive the variables occuring in a contraint
         or an expression.
      
      Project-Description: Lurette
      78f40b65
    • Erwan Jahier's avatar
      lurette 0.121 Tue, 11 Feb 2003 11:20:37 +0100 by jahier · 34cdff0c
      Erwan Jahier authored
      Parent-Version:      0.120
      Version-Log:
      
      source/pnumsolver.ml:
      source/pnumsolver.mli: [new files]
         Implements a numeric solver based on Polka.
         (not plugged yet).
      
      source/rnumsolver.ml:
         Reimplement split_store so that it uses 2 calls of add_constraint
         instead of doing the work twice inside split_store (in order to avoid code
         duplication).
      
         Also, whenever delayed constraints becomes of dimension 1, when a
      add_constraint
         binds a value, add them to the store.
      
         Enhance error msgs whenever int and float are mixed in the same lucky
         expressions.
      
      source/rnumsolver.ml:
      source/ne.ml:
         rename Ne.resolve_triangular_system into get_subst_from_solved_system
         and move it into rnumsolver. The rational is that is was not
         really solving any triangular system: the system ougth to be already solved.
      
      source/parce_env.ml:
         Set the max_float to max_int, otherwise, the conversion into polka rational
         fails...
      
      Project-Description: Lurette
      34cdff0c
    • Erwan Jahier's avatar
      lurette 0.117 Mon, 18 Nov 2002 14:26:30 +0100 by jahier · fa2dfd3a
      Erwan Jahier authored
      Parent-Version:      0.116
      Version-Log:
      
      Various minor fixes in the documentation
      
      + Use a version of ocaml-3.06 that has been configured with -no-curses,
      which make things sligthly slower, but that avoid the need to find
      the curses lib...
      
      source/ne.ml:
      source/*.ml:
         Ne.find now returns an option value instead of raising a Not_found
         exp, which was not trap in some circumstances...
      
      source/ne.ml:
         Also, fix a couple of bugs where the code was supposing (falsely)
         that the constant (empty string) was always in the Map.
      
      Project-Description: Lurette
      fa2dfd3a
    • Erwan Jahier's avatar
      lurette 0.115 Thu, 07 Nov 2002 14:19:37 +0100 by jahier · 7c4feb61
      Erwan Jahier authored
      Parent-Version:      0.114
      Version-Log:
      
      source/automata.ml:
         Fix a bug where esp loops were not always cutted properly in some cases.
      
      source/show_env.ml:
         Truncate too long for in the dot output (which bugs dot or gv).
      
      ihm/xlurette/xlurette_glade_main.ml:
         Accept both .lut or .lut files as anv files, and make the show buttons
         behave properly in both cases.
      
      Project-Description: Lurette
      7c4feb61
    • Erwan Jahier's avatar
      lurette 0.113 Tue, 05 Nov 2002 16:46:57 +0100 by jahier · 4ef40634
      Erwan Jahier authored
      Parent-Version:      0.112
      Version-Log:
      
      source/show_luc.ml:
      source/lurette.ml:
      source/parse_env.ml:
         Enhance error msgs during the .luc parsing. Add the line
         number.
      
      Project-Description: Lurette
      4ef40634
    • Erwan Jahier's avatar
      lurette 0.112 Thu, 31 Oct 2002 08:21:03 +0100 by jahier · dc8f78dc
      Erwan Jahier authored
      Parent-Version:      0.111
      Version-Log:
      
      source/parse_poc.ml: (new file)
      source/gen_stubs.ml:
         put everything that is related to poc parsing into
         parse_poc.ml.
      
      source/gen_fake_lutin.ml: (new file)
      source/parse_poc.ml: (new file)
      source/Makefile.gen_fake_lutin: (new file)
         When no .lut is provided, we generate a fake one.
      
      Project-Description: Lurette
      dc8f78dc
    • Erwan Jahier's avatar
      lurette 0.94 Fri, 27 Sep 2002 13:20:05 +0200 by jahier · f8219704
      Erwan Jahier authored
      Parent-Version:      0.93
      Version-Log:
      
      Prepare things for the next change (which will try to handle equalities
      smartly).
      
      source/solver.ml:
      source/rnumsolver.ml:
         atomic_formula do not need both < and > (ditto for <= and >=).
         Indeed, I just need to take the opposite, and everything is fine.
         One advantage is that there are less cases to handle. But the key
         advantage is that it make the representation of constraint normal,
         which is important at least when I will try to detect equalities.
      
         Also add a subst list and constraint list fields to the store
         that will ebe used in the forthcoming change. They will resp.
         be used for removeing a dimension when an equality is encountered
         and to delay constraint with more than one variable.
      
      source/constraint.ml,mli: (new files)
         Move there from formula.ml everything that is related to the internal
         representation of constraints.
      
         Also change the name of atomic_formula to linear_constraint, which is
         more informative.
      
      Project-Description: Lurette
      f8219704
    • Erwan Jahier's avatar
      lurette 0.89 Fri, 20 Sep 2002 10:27:47 +0200 by jahier · 35a7ac64
      Erwan Jahier authored
      Parent-Version:      0.88
      Version-Log:
      
      Chech that automata run concurenty do not share any variables.
      
      Project-Description: Lurette
      35a7ac64
    • Erwan Jahier's avatar
      lurette 0.86 Wed, 18 Sep 2002 15:27:17 +0200 by jahier · 50ccf63a
      Erwan Jahier authored
      Parent-Version:      0.85
      Version-Log:
      
      Finish to implement xlurette.
      
      Project-Description: Lurette
      50ccf63a
    • Erwan Jahier's avatar
      lurette 0.83 Tue, 03 Sep 2002 13:37:10 +0200 by jahier · dad7b1f2
      Erwan Jahier authored
      Parent-Version:      0.82
      Version-Log:
      
      source/lurette.ml:
      source/lurettetop.ml:
      source/command_line.ml, .mli:
      source/solver.ml:
      source/env_state.ml:
      source/rnumsolver.ml:
         Add 2 news options, --draw-edges ans --draw-verteces that makes
         lurette draw among the verteces or on the edges of the convex hull
         of solutons.
      
      Project-Description: Lurette
      dad7b1f2
    • 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.70 Fri, 19 Jul 2002 17:31:37 +0200 by jahier · da43be79
      Erwan Jahier authored
      Parent-Version:      0.69
      Version-Log:
      
      ima_exe.ml:
      lurette.ml:
      env_state.ml:
        Factoring out code into  two new functions, clear_step and clear_all.
      
      env_state.ml:
         Do not use to 2 ranges of indexes (one for atomic formula that depends on
      pre,
         one if it is not) but maintain a list a unused indexes instead.
      
      Project-Description: Lurette
      da43be79
    • 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.68 Fri, 17 May 2002 17:59:13 +0200 by jahier · 8c24cdb7
      Erwan Jahier authored
      Parent-Version:      0.67
      Version-Log:
      
      Add a verbose option in ima_exe.
      
      Fix a bug in show_env.ml introduced in the previuos pci.
      
      Add support to dynamically load another ima from ima_exe (will usefull for
      Ludic).
      
      Project-Description: Lurette
      8c24cdb7
    • Erwan Jahier's avatar
      lurette 0.65 Fri, 10 May 2002 16:54:24 +0200 by jahier · ee70bc48
      Erwan Jahier authored
      Parent-Version:      0.64
      Version-Log:
      
      Outputs error message on stderr rather than on stdout.
      
      Project-Description: Lurette
      ee70bc48
    • 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.63 Tue, 07 May 2002 15:12:50 +0200 by jahier · 9d1e0221
      Erwan Jahier authored
      Parent-Version:      0.62
      Version-Log:
      
      Reimplement the rif parsing in ima_exe.ml so that it is correct wrt the BLA-RIF
      doc.
      
      Project-Description: Lurette
      9d1e0221
    • 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.54 Tue, 02 Apr 2002 14:25:12 +0200 by jahier · f0aff2da
      Erwan Jahier authored
      Parent-Version:      0.53
      Version-Log:
      
      Cosmetic change:
      
      Encapsulates the various fields of Env_state.
      
      Project-Description: Lurette
      f0aff2da
    • 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.42 Wed, 13 Mar 2002 10:29:08 +0100 by jahier · 46927269
      Erwan Jahier authored
      Parent-Version:      0.41
      Version-Log:
      
      Make sure that n formula are drawn when even numeric failure occurs.
      To do that, I recursively call draw_n_p_formula until the required
      number of outputs have been generated.
      
      Also fix a bug where my code was not handling cases where several
      formulas corresponding to the same origin and target nodes (Lutin
      probably won't generate such arcs explicitely, but it does
      implicitely via epsilon transitions). The fix consist in adding
      formula in wtree types instead of maintaining a table of formula
      indexed by node list pairs. The env_state.formula_table is thus no
      longer needed.
      
      Project-Description: Lurette
      46927269
    • Erwan Jahier's avatar
      lurette 0.39 Thu, 07 Mar 2002 13:36:27 +0100 by jahier · 4579cc26
      Erwan Jahier authored
      Parent-Version:      0.38
      Version-Log:
      
      Use the new cudd interface based on camlidl (mlcuddidl).
      
      Now, bdds do not leaks anymore.  Remove debugging stuff that was used
      to track that problem.
      
      Project-Description: Lurette
      4579cc26
    • 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.35 Tue, 19 Feb 2002 16:27:14 +0100 by jahier · 429604ce
      Erwan Jahier authored
      Parent-Version:      0.34
      Version-Log:
       Use Hashtbl instead of assoc list to store env_in
      items as eval needs to search in it very often, it might be an issue
      when there is a lot of input variables.
      
      Project-Description: Lurette
      429604ce
    • Erwan Jahier's avatar
      lurette 0.33 Mon, 18 Feb 2002 17:52:34 +0100 by jahier · ee4eb63d
      Erwan Jahier authored
      Parent-Version:      0.32
      Version-Log:
      
      Avoid recomputing everytime the list of output vars by storing it
      in an env_state field.
      
      Project-Description: Lurette
      ee4eb63d
    • Erwan Jahier's avatar
      lurette 0.32 Mon, 18 Feb 2002 17:06:16 +0100 by jahier · af07708a
      Erwan Jahier authored
      Parent-Version:      0.31
      Version-Log:
      
      Add an option --no-oracle to prevent that lurette calls the oracle.
      
      The solution number counting function was wrong.
      
      Also, make it easy to switch to float, or to big_int, to store
      the number of solution numbers.
      
      Project-Description: Lurette
      af07708a
    • Erwan Jahier's avatar
      lurette 0.26 Mon, 11 Feb 2002 17:32:29 +0100 by jahier · 8e54c847
      Erwan Jahier authored
      Parent-Version:      0.25
      Version-Log:
      
      Re-arrange the code so that lurette_stub.ml is not called by all the
      modules of lurette to avoid that everything is recompiled each time a
      new sut is used. To do that, lurette nows only manipulates list of
      substitutuions instead of tuples (as only lurette_stub knows the size
      of the tuples).
      
      Also fix two bugs along the way:
          o wtree.ml: Random.int n draw between 0 inclusive and n *exclusive* !
          o wtree.ml: in wtree_product, make sure that I do not unsort list of nodes
          o solver.ml: in draw_in_bdd, I was tossing up the top var of the formula
            instead of tossing up the one of the support
      
      Plus a few cosmetic change:
      
      show_env.ml:
      lurette.ml:
          prints the previous nodes in green environment.ps
      
      lurette.ml:
          rename arcs_inputs_loc into nll_inputs_loc.
      
      Project-Description: Lurette
      8e54c847
    • Erwan Jahier's avatar
      lurette 0.25 Wed, 06 Feb 2002 13:48:27 +0100 by jahier · e7fce05a
      Erwan Jahier authored
      Parent-Version:      0.24
      Version-Log:
      
      command_line.ml,mli: (New files)
      lurette.ml:
              Handle options at the lurette command line.
      
              Give better error messages.
      
      Project-Description: Lurette
      e7fce05a
    • 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.23 Thu, 24 Jan 2002 15:14:37 +0100 by jahier · 010423f4
      Erwan Jahier authored
      Parent-Version:      0.22
      Version-Log:
      
      Add a bdd-based boolean solver to draw inside formula.
      
      Also remove several module opening and use explicit module
      qualification instead
      
      lurette.ml:
      env_state.ml:
          Define a function in env.ml to get the list of input and outputs var names
          and use it in lurette.ml
      
      env_state.ml:
          Add several fields to the env_state structure:
          * node_to_file_name: to be able to retrieve the list of vars that
            ougth to be generated from a list of nodes (Indeed, some vars
            that should be tossed up do no necessarily appear in formula; and
            once the whole bdd has been traversed for the draw, we need to be able
            to know what variable are still to be drawn).
          * var_name_to_index and index_to_var_name: to index output and local
            variable names. Indeed, the bdd library we use manipulates var as int,
            not string.
          * bdd_tbl: be cause transforming a formula into a bdd is expensive,
            we store the result of this transformation in a table.
      
          Define the var_names field as an Hashtbl instead of a list for homogeneity.
      
          Define functions that retrieve the list of input (resp output and local)
          vars from env_state to avois code duplication.
      
      env.ml:
          Initialize the new fields of env_state.
      
      util.ml:
      util.mli:
          Add a new function that computes the intersection of 2 lists.
      
      solver.ml:
          Implement a real boolean solver using bdds.
      
      Project-Description: Lurette
      010423f4
    • Erwan Jahier's avatar
      lurette 0.19 Thu, 06 Dec 2001 15:17:25 +0100 by jahier · 70df449f
      Erwan Jahier authored
      Parent-Version:      0.18
      Version-Log:
      
      Fix a bug where the variables were not given in the good order to
      the oracle.
      
      Give a diagnostic when the oracle is broken.
      
      Put everything related to sim2chro in tis own module.
      
      Project-Description: Lurette
      70df449f
    • 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