• 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
    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
       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.
       In the ima format, IfThenElseExpr becomes IfThenElseNum.
       Also, parse list more cleanly.
        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.
       Abstract away nodes and arcs data types (so that I can display
       Automata graphs). rename generate_env_graph into ima_to_dot.
       Fix a bug where bbd table were filled by asserted non regression expr.
       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.
       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
parse_env.ml 21.6 KB