Vous avez reçu un message "Your GitLab account has been locked ..." ? Pas d'inquiétude : lisez cet article https://docs.gricad-pages.univ-grenoble-alpes.fr/help/unlock/

Commit 5d9a1618 authored by Erwan Jahier's avatar Erwan Jahier
Browse files

lurette 0.97 Fri, 04 Oct 2002 11:30:11 +0200 by jahier

Parent-Version:      0.96
Version-Log:

Handling equalities smartlier.    .

Project-Description: Lurette
parent 42c10bc1
;; This file is automatically generated, editing may cause PRCS to do
;; REALLY bad things.
(Created-By-Prcs-Version 1 3 3)
(source/command_line_ima_exe.mli 1082 1021651153 b/34_command_li 1.3)
(source/automata.ml 15777 1033723811 b/47_automata.m 1.5)
(source/formula.mli 2805 1033397911 44_formula.ml 1.18)
(test/heater_float.lus 175 1020068208 b/44_heater_flo 1.1)
(doc/synthese 2556 1007379917 b/2_synthese 1.1)
(bin/Makefile 794 1033723811 c/20_Makefile 1.2)
(bin/Makefile.gen_stubs 472 1030532285 b/42_Makefile.g 1.2)
(test/tram.ima 1079 1032789516 b/15_tram.env 1.8)
(test/ControleurPorte.rif.exp 4756 1032789516 b/29_Controleur 1.9)
(doc/ocamldoc.sty 1380 1008328137 b/12_ocamldoc.s 1.1)
(bin/Makefile 684 1033397911 c/20_Makefile 1.1)
(source/env_state.ml 20707 1033125605 51_env_state. 1.29)
(source/graph.ml 2563 1027066799 14_graph.ml 1.7)
(bin/Makefile.ima_exe 2013 1027066799 b/41_Makefile.i 1.3)
(test/giro/onlyroll.lus 18298 1031732392 c/7_onlyroll.l 1.1)
(source/util.ml 15446 1032510467 35_util.ml 1.26)
(test/time.exp 5580 1033397911 b/48_time.exp 1.7)
(source/solver.ml 28611 1033397911 39_solver.ml 1.30)
(test/test_gen_stubs.h 1818 1020068208 b/45_test_gen_s 1.1)
(source/command_line.ml 4625 1031053030 b/20_command_li 1.8)
(source/lurette.ml 13388 1032510467 12_lurette.ml 1.52)
(myrules 10657 1033397911 c/14_myrules 1.6)
(source/solver.mli 1003 1027092697 38_solver.mli 1.13)
(source/env.mli 2028 1027349504 15_env.mli 1.15)
(test/heater_float.rif.exp 1459 1033397911 b/30_heater_flo 1.9)
(lurette.depfull.dot 49 1007651448 b/5_lurette.de 1.2)
(source/env.ml 8013 1027349504 16_env.ml 1.29)
(make_lurette 1303 1032940601 27_make_luret 1.16)
(test/vrai_tram.lus 564 1027066799 b/6_vrai_tram. 1.2)
(test/ControleurPorte.lus 3219 1032940601 c/17_Controleur 1.1)
(lurette.dep.dot 49 1007651448 b/4_lurette.de 1.2)
(test/tram_simple.h 1746 1013519411 b/25_tram_simpl 1.1)
(source/command_line_ima_exe.mli 1082 1021651153 b/34_command_li 1.3)
(test/porte.ima 1050 1032789516 b/16_porte.env 1.8)
(doc/archi.fig 3693 1003928781 20_archi.fig 1.1)
(source/constraint.ml 995 1033397911 c/19_constraint 1.2)
(source/rnumsolver.ml 16759 1033397911 b/27_rnumsolver 1.10)
(ID_EN_VRAC 2184 1002196285 0_ID_EN_VRAC 1.1)
(source/parse_env.mli 1025 1027066799 40_parse_env. 1.9)
(source/sim2chro.mli 1455 1027943375 b/23_sim2chro.m 1.5)
(ihm/xlurette/xlurette_glade_interface.ml 28245 1032531447 c/15_xlurette_g 1.3)
(test/passerelle.ima 984 1032789516 b/17_passerelle 1.8)
(source/ima_exe.ml 12108 1033397911 b/32_ima_exe.ml 1.19)
(doc/automata_format 0 1007379917 b/3_automata_f 1.1)
(source/control.ml 4416 1030975996 c/4_control.ml 1.3)
(source/eval.ml 7755 1027066799 49_eval.ml 1.13)
(source/gen_stubs.ml 34420 1033397911 24_generate_l 1.36)
(source/parse_env.ml 24436 1032940601 41_parse_env. 1.28)
(doc/ocamldoc.hva 313 1008328137 b/13_ocamldoc.h 1.1)
(doc/Interface_draft 5232 1003928781 19_Interface_ 1.1)
(source/constraint.mli 1225 1033723811 c/18_constraint 1.3)
(source/automata.mli 3397 1027349504 b/46_automata.m 1.2)
(source/sim2chro.ml 2721 1033397911 b/24_sim2chro.m 1.14)
(source/formula.mli 2805 1033397911 44_formula.ml 1.18)
(demo/chaudiere/chaudiere.ima 446 1032789516 c/11_chaudiere. 1.5)
(test/heater_int.rif.exp 860 1033397911 b/28_heater_int 1.8)
(source/ne.ml 9140 1033723811 c/21_ne.ml 1.1)
(bin/Makefile.lurette_lib 1976 1033397911 c/2_Makefile.l 1.4)
(source/value.mli 1101 1033723811 c/24_value.mli 1.1)
(test/heater_float.rif.exp 1459 1033397911 b/30_heater_flo 1.9)
(source/graph.ml 2563 1027066799 14_graph.ml 1.7)
(ihm/xlurette/makefile 783 1032355637 c/16_makefile 1.1)
(source/eval.ml 7755 1027066799 49_eval.ml 1.13)
(source/env.ml 8013 1027349504 16_env.ml 1.29)
(bin/Makefile.show_ima 1039 1027066799 b/40_Makefile.s 1.4)
(test/giro/giro.ima 2747 1033723811 c/6_giro.ima 1.3)
(demo/chaudiere/buggy_chaudiere_ctrl.lus 219 1031732392 c/10_buggy_chau 1.1)
(source/command_line_ima_exe.ml 2792 1031732392 b/33_command_li 1.5)
(source/env_state.mli 6734 1033125605 50_env_state. 1.24)
(source/print.mli 1145 1033397911 46_print.mli 1.12)
(test/temp_int.ima 685 1033723811 b/50_temp_int.e 1.3)
(test/Makefile 105 1031732392 c/0_Makefile 1.4)
(source/parse_env.ml 24584 1033723811 41_parse_env. 1.29)
(ihm/xlurette/xlurette_glade_main.ml 16705 1032789516 c/12_xlurette_g 1.6)
(demo/chaudiere/chaudiere_oracle.lus 107 1031732392 c/8_chaudiere_ 1.1)
(test/time.res 5580 1033397911 b/49_time.res 1.10)
(test/temp_float.ima 728 1032789516 b/51_temp_float 1.3)
(source/solver.ml 31961 1033723811 39_solver.ml 1.31)
(test/ControleurPorte.lus 3219 1032940601 c/17_Controleur 1.1)
(source/lurette.ml 13532 1033723811 12_lurette.ml 1.53)
(source/util.ml 15664 1033723811 35_util.ml 1.27)
(test/time.res 5580 1033723811 b/49_time.res 1.11)
(doc/Interface_draft 5232 1003928781 19_Interface_ 1.1)
(source/sim2chro.mli 1455 1027943375 b/23_sim2chro.m 1.5)
(TAGS 9825 1007379917 21_TAGS 1.6)
(source/command_line.mli 1442 1031053030 b/21_command_li 1.7)
(source/env_state.mli 6734 1033125605 50_env_state. 1.24)
(source/rnumsolver.mli 2114 1033397911 b/26_rnumsolver 1.7)
(source/ima_exe.mli 447 1016127950 b/31_ima_exe.ml 1.1)
(source/eval.mli 1395 1027066799 48_eval.mli 1.10)
(test/giro/giro.ima 2828 1032789516 c/6_giro.ima 1.2)
(test/usager.ima 495 1032789516 b/14_usager.env 1.9)
(README 74 1011881677 10_README 1.2)
(demo/chaudiere/chaudiere_ctrl.lus 177 1031732392 c/9_chaudiere_ 1.1)
(test/ControleurPorte.c 9407 1012914629 b/19_Controleur 1.1)
(test/giro/onlyroll.lus 18298 1031732392 c/7_onlyroll.l 1.1)
(source/parse_env.mli 1025 1027066799 40_parse_env. 1.9)
(source/gen_stubs.ml 34420 1033397911 24_generate_l 1.36)
(OcamlMakefile 22581 1033397911 17_OcamlMakef 1.42)
(source/command_line_ima_exe.ml 2792 1031732392 b/33_command_li 1.5)
(test/ControleurPorte.rif.exp 4756 1032789516 b/29_Controleur 1.9)
(Makefile.lurette 698 1032940601 b/38_Makefile.l 1.11)
(source/show_env.ml 3603 1030532285 43_show_env.m 1.12)
(source/command_line.ml 4625 1031053030 b/20_command_li 1.8)
(make_lurette 1303 1032940601 27_make_luret 1.16)
(source/control.ml 4416 1030975996 c/4_control.ml 1.3)
(source/lurettetop.ml 24884 1033723811 c/1_lurettetop 1.11)
(ihm/xlurette/xlurette_glade_interface.ml 28245 1032531447 c/15_xlurette_g 1.3)
(source/ne.mli 2376 1033723811 c/22_ne.mli 1.1)
(README 74 1011881677 10_README 1.2)
(test/vrai_tram.lus 564 1027066799 b/6_vrai_tram. 1.2)
(source/env_state.ml 20707 1033125605 51_env_state. 1.29)
(source/env.mli 2028 1027349504 15_env.mli 1.15)
(doc/archi.fig 3693 1003928781 20_archi.fig 1.1)
(source/lurette.mli 448 1016027474 11_lurette.ml 1.12)
(source/gne.mli 1552 1033397911 b/36_gne.mli 1.4)
(source/automata.ml 15818 1032355637 b/47_automata.m 1.4)
(ihm/xlurette/xlurette_glade_main.ml 16705 1032789516 c/12_xlurette_g 1.6)
(doc/synthese 2556 1007379917 b/2_synthese 1.1)
(bin/Makefile.lurette_lib 1976 1033397911 c/2_Makefile.l 1.4)
(bin/Makefile.gen_stubs 472 1030532285 b/42_Makefile.g 1.2)
(test/ControleurPorte.h 2306 1012914629 b/18_Controleur 1.1)
(myrules 10701 1033723811 c/14_myrules 1.7)
(source/show_env.mli 1091 1027066799 42_show_env.m 1.7)
(test/Makefile 105 1031732392 c/0_Makefile 1.4)
(ihm/xlurette/makefile 783 1032355637 c/16_makefile 1.1)
(test/temp_int.ima 686 1032789516 b/50_temp_int.e 1.2)
(source/gne.ml 2767 1033397911 b/37_gne.ml 1.4)
(test/tram_simple.h 1746 1013519411 b/25_tram_simpl 1.1)
(test/temp_float.ima 728 1032789516 b/51_temp_float 1.3)
(test/tram.ima 1079 1032789516 b/15_tram.env 1.8)
(test/giro/allocator.lus 1087 1031732392 c/5_allocator. 1.1)
(test/heater_float.lus 175 1020068208 b/44_heater_flo 1.1)
(Makefile.lurette 698 1032940601 b/38_Makefile.l 1.11)
(lurette.dep.dot 49 1007651448 b/4_lurette.de 1.2)
(source/constraint.ml 1907 1033723811 c/19_constraint 1.3)
(test/vrai_tram.c 3060 1027066799 b/8_vrai_tram. 1.3)
(source/print.mli 1145 1033397911 46_print.mli 1.12)
(source/lurettetop.ml 24867 1032510467 c/1_lurettetop 1.10)
(source/command_line.mli 1442 1031053030 b/21_command_li 1.7)
(source/graph.mli 2218 1027066799 13_graph.mli 1.9)
(ihm/xlurette/xlurette.glade 43485 1032531447 c/13_xlurette.g 1.4)
(test/heater_int.lus 170 1020068208 b/43_heater_int 1.1)
(source/graph.mli 2218 1027066799 13_graph.mli 1.9)
(test/heater_int.rif.exp 860 1033397911 b/28_heater_int 1.8)
(source/formula.ml 5765 1033397911 45_formula.ml 1.21)
(source/lurette.mli 448 1016027474 11_lurette.ml 1.12)
(source/constraint.mli 830 1033397911 c/18_constraint 1.2)
(source/print.ml 5825 1033397911 47_print.ml 1.20)
(source/ima_exe.mli 447 1016127950 b/31_ima_exe.ml 1.1)
(test/vrai_tram.h 2468 1027066799 b/7_vrai_tram. 1.3)
(bin/Makefile.show_ima 1039 1027066799 b/40_Makefile.s 1.4)
(source/eval.mli 1395 1027066799 48_eval.mli 1.10)
(demo/chaudiere/chaudiere_ctrl.lus 177 1031732392 c/9_chaudiere_ 1.1)
(source/control.mli 3202 1030975671 c/3_control.ml 1.2)
(source/formula.ml 5765 1033397911 45_formula.ml 1.21)
(doc/ocamldoc.hva 313 1008328137 b/13_ocamldoc.h 1.1)
(test/test_gen_stubs.h 1818 1020068208 b/45_test_gen_s 1.1)
(source/gne.ml 2767 1033397911 b/37_gne.ml 1.4)
(test/ControleurPorte.c 9407 1012914629 b/19_Controleur 1.1)
(doc/automata_format 0 1007379917 b/3_automata_f 1.1)
(source/solver.mli 1003 1027092697 38_solver.mli 1.13)
(test/passerelle.ima 984 1032789516 b/17_passerelle 1.8)
(source/rnumsolver.ml 22707 1033723811 b/27_rnumsolver 1.11)
(test/usager.ima 495 1032789516 b/14_usager.env 1.9)
(source/print.ml 5807 1033723811 47_print.ml 1.21)
(test/ControleurPorte.h 2306 1012914629 b/18_Controleur 1.1)
(source/show_env.ml 3603 1030532285 43_show_env.m 1.12)
(source/ima_exe.ml 12108 1033397911 b/32_ima_exe.ml 1.19)
(source/rnumsolver.mli 2280 1033723811 b/26_rnumsolver 1.8)
(source/sim2chro.ml 2721 1033397911 b/24_sim2chro.m 1.14)
(source/value.ml 2355 1033723811 c/23_value.ml 1.1)
(test/time.exp 5580 1033723811 b/48_time.exp 1.8)
(bin/Makefile.ima_exe 2013 1027066799 b/41_Makefile.i 1.3)
(test/giro/allocator.lus 1087 1031732392 c/5_allocator. 1.1)
(demo/chaudiere/chaudiere.ima 446 1032789516 c/11_chaudiere. 1.5)
(lurette.depfull.dot 49 1007651448 b/5_lurette.de 1.2)
(ID_EN_VRAC 2184 1002196285 0_ID_EN_VRAC 1.1)
......@@ -3,6 +3,17 @@
lib:
make -f Makefile.lurette_lib OCAMLFLAGS=""
lib_debug:
make -f Makefile.lurette_lib dc OCAMLFLAGS=""
lib_nc:
make nc -f Makefile.lurette_lib OCAMLFLAGS="-noassert -unsafe"
lib_clean:
make -f Makefile.lurette_lib clean
ima:
make -k dc -f Makefile.ima_exe OCAMLFLAGS=""
......@@ -35,8 +46,6 @@ clean_all:
make -k clean -f Makefile.show_ima
lib_nc:
make nc -f Makefile.lurette_lib OCAMLFLAGS="-noassert -unsafe"
ima_nc:
make -k nc -f Makefile.ima_exe OCAMLFLAGS="-noassert -unsafe"
......
;; -*- Prcs -*-
(Created-By-Prcs-Version 1 3 3)
(Project-Description "Lurette")
(Project-Version lurette 0 96)
(Parent-Version lurette 0 95)
(Project-Version lurette 0 97)
(Parent-Version lurette 0 96)
(Version-Log "
source/ne.ml,mli:
source/value.ml,mli:
(new files) put everything that is related to normal expressions
and values in thoses 2 new modules.
source/ne.ml,mli:
source/gne.ml,mli:
Make the normal expressions and the guarded normal expression abstract.
source/solver.ml:
also fix a bug in the previous change (forgot to try make test ...)
Handling equalities smartlier. .
")
(New-Version-Log ""
)
(Checkin-Time "Mon, 30 Sep 2002 16:58:31 +0200")
(Checkin-Time "Fri, 04 Oct 2002 11:30:11 +0200")
(Checkin-Login jahier)
(Populate-Ignore ())
(Project-Keywords)
......@@ -40,7 +27,7 @@ source/solver.ml:
;; Sources files for lurette only
(source/lurette.mli (lurette/11_lurette.ml 1.12 644))
(source/lurette.ml (lurette/12_lurette.ml 1.52 644))
(source/lurette.ml (lurette/12_lurette.ml 1.53 644))
(source/command_line.ml (lurette/b/20_command_li 1.8 644))
(source/command_line.mli (lurette/b/21_command_li 1.7 644))
......@@ -52,16 +39,16 @@ source/solver.ml:
(source/env.mli (lurette/15_env.mli 1.15 644))
(source/env.ml (lurette/16_env.ml 1.29 644))
(source/util.ml (lurette/35_util.ml 1.26 644))
(source/util.ml (lurette/35_util.ml 1.27 644))
(source/solver.mli (lurette/38_solver.mli 1.13 644))
(source/solver.ml (lurette/39_solver.ml 1.30 644))
(source/solver.ml (lurette/39_solver.ml 1.31 644))
(source/rnumsolver.mli (lurette/b/26_rnumsolver 1.7 644))
(source/rnumsolver.ml (lurette/b/27_rnumsolver 1.10 644))
(source/rnumsolver.mli (lurette/b/26_rnumsolver 1.8 644))
(source/rnumsolver.ml (lurette/b/27_rnumsolver 1.11 644))
(source/parse_env.mli (lurette/40_parse_env. 1.9 644))
(source/parse_env.ml (lurette/41_parse_env. 1.28 644))
(source/parse_env.ml (lurette/41_parse_env. 1.29 644))
(source/show_env.mli (lurette/42_show_env.m 1.7 644))
(source/show_env.ml (lurette/43_show_env.m 1.12 644))
......@@ -70,7 +57,7 @@ source/solver.ml:
(source/formula.ml (lurette/45_formula.ml 1.21 644))
(source/print.mli (lurette/46_print.mli 1.12 644))
(source/print.ml (lurette/47_print.ml 1.20 644))
(source/print.ml (lurette/47_print.ml 1.21 644))
(source/eval.mli (lurette/48_eval.mli 1.10 644))
(source/eval.ml (lurette/49_eval.ml 1.13 644))
......@@ -79,7 +66,7 @@ source/solver.ml:
(source/env_state.ml (lurette/51_env_state. 1.29 644))
(source/automata.mli (lurette/b/46_automata.m 1.2 644))
(source/automata.ml (lurette/b/47_automata.m 1.4 644))
(source/automata.ml (lurette/b/47_automata.m 1.5 644))
(source/sim2chro.mli (lurette/b/23_sim2chro.m 1.5 644))
(source/sim2chro.ml (lurette/b/24_sim2chro.m 1.14 644))
......@@ -87,14 +74,20 @@ source/solver.ml:
(source/gne.mli (lurette/b/36_gne.mli 1.4 644))
(source/gne.ml (lurette/b/37_gne.ml 1.4 644))
(source/lurettetop.ml (lurette/c/1_lurettetop 1.10 644))
(source/lurettetop.ml (lurette/c/1_lurettetop 1.11 644))
(source/gen_stubs.ml (lurette/24_generate_l 1.36 644))
(source/control.mli (lurette/c/3_control.ml 1.2 644))
(source/control.ml (lurette/c/4_control.ml 1.3 644))
(source/constraint.mli (lurette/c/18_constraint 1.2 644))
(source/constraint.ml (lurette/c/19_constraint 1.2 644))
(source/constraint.mli (lurette/c/18_constraint 1.3 644))
(source/constraint.ml (lurette/c/19_constraint 1.3 644))
(source/ne.ml (lurette/c/21_ne.ml 1.1 644))
(source/ne.mli (lurette/c/22_ne.mli 1.1 644))
(source/value.ml (lurette/c/23_value.ml 1.1 644))
(source/value.mli (lurette/c/24_value.mli 1.1 644))
; little script that sets env vars and starts the lurette build
(make_lurette (lurette/27_make_luret 1.16 755))
......@@ -102,13 +95,13 @@ source/solver.ml:
;; Make files
(OcamlMakefile (lurette/17_OcamlMakef 1.42 644))
(Makefile.lurette (lurette/b/38_Makefile.l 1.11 644))
(myrules (lurette/c/14_myrules 1.6 644))
(myrules (lurette/c/14_myrules 1.7 644))
(bin/Makefile.show_ima (lurette/b/40_Makefile.s 1.4 644))
(bin/Makefile.ima_exe (lurette/b/41_Makefile.i 1.3 644))
(bin/Makefile.gen_stubs (lurette/b/42_Makefile.g 1.2 644))
(bin/Makefile.lurette_lib (lurette/c/2_Makefile.l 1.4 644))
(bin/Makefile (lurette/c/20_Makefile 1.1 644))
(bin/Makefile (lurette/c/20_Makefile 1.2 644))
;; Documentation
(doc/Interface_draft (lurette/19_Interface_ 1.1 644))
......@@ -125,15 +118,15 @@ source/solver.ml:
(lurette.depfull.dot (lurette/b/5_lurette.de 1.2 644))
(TAGS (lurette/21_TAGS 1.6 644))
(test/time.exp (lurette/b/48_time.exp 1.7 644))
(test/time.res (lurette/b/49_time.res 1.10 644))
(test/time.exp (lurette/b/48_time.exp 1.8 644))
(test/time.res (lurette/b/49_time.res 1.11 644))
;; Various files used for testing purposes
(test/usager.ima (lurette/b/14_usager.env 1.9 644))
(test/tram.ima (lurette/b/15_tram.env 1.8 644))
(test/porte.ima (lurette/b/16_porte.env 1.8 644))
(test/passerelle.ima (lurette/b/17_passerelle 1.8 644))
(test/temp_int.ima (lurette/b/50_temp_int.e 1.2 644))
(test/temp_int.ima (lurette/b/50_temp_int.e 1.3 644))
(test/temp_float.ima (lurette/b/51_temp_float 1.3 644))
(test/ControleurPorte.h (lurette/b/18_Controleur 1.1 644))
......@@ -165,7 +158,7 @@ source/solver.ml:
;; to version 0.83(w), by jahier:
(test/giro/allocator.lus (lurette/c/5_allocator. 1.1 644))
(test/giro/giro.ima (lurette/c/6_giro.ima 1.2 644))
(test/giro/giro.ima (lurette/c/6_giro.ima 1.3 644))
(test/giro/onlyroll.lus (lurette/c/7_onlyroll.l 1.1 644))
;; Files added by populate at Wed, 04 Sep 2002 09:47:29 +0200,
......@@ -176,10 +169,6 @@ source/solver.ml:
(demo/chaudiere/buggy_chaudiere_ctrl.lus (lurette/c/10_buggy_chau 1.1 644))
(demo/chaudiere/chaudiere.ima (lurette/c/11_chaudiere. 1.5 644))
;; Files added by populate at Tue, 24 Sep 2002 15:30:27 +0200,
;; to version 0.92(w), by jahier:
)
(Merge-Parents)
(New-Merge-Parents)
......@@ -4,13 +4,17 @@ ifndef OCAMLDOT
OCAMLDOT := ocamldot
endif
ifndef OTAGS
OTAGS := otags
endif
export OCAMLDOT
# Generates emacs tags
tags:
$(OTAGS) -v $(SOURCES) ; cp TAGS ../source
$(OTAGS) -v $(ALL_SOURCES) ; cp TAGS ../source
# Generates the modules dependency graph using ocamldot
# (results in lurette.dep.ps and lurette.depfull.ps).
......@@ -122,7 +126,7 @@ heater_make:
$(LURETTE_PATH)/make_lurette heater_int
heater:
lurettetop -l 30 -go --sut heater_int temp_int
lurettetop -l 30 -go --sut heater_int temp_int_eq
heaterf:
......
......@@ -490,7 +490,6 @@ let rec (choose_n_formula_acc: int -> t -> accT -> accT) =
choose_n_formula_acc (n-1) a ((ntl, f, st)::nt_f_st_l0)
with Not_found ->
let nodes_str = intset_to_string (fst a) in
Env_state.dump_env_state_stat stderr;
if (IntSet.cardinal (fst a)) = 1
then failwith ("*** No (more) transition(s) can be made from node "
^ nodes_str ^ ". \n")
......
(*-----------------------------------------------------------------------
** Copyright (C) 2001 - Verimag.
** Copyright (C) 2002 - Verimag.
** This file may only be copied under the terms of the GNU Library General
** Public License
**-----------------------------------------------------------------------
......@@ -18,17 +18,6 @@ type t =
(* exported *)
let (linear_constraint_to_string : t -> string) =
fun f ->
match f with
| Bv(str) -> str
| GZ(ne) -> ((Ne.to_string ne) ^ " > 0 ")
| GeqZ(ne) -> ((Ne.to_string ne) ^ " >= 0 ")
| EqZ(ne) -> ((Ne.to_string ne) ^ " = 0 ")
(* exported *)
let (dimension : t -> int) =
fun cstr ->
......@@ -38,3 +27,51 @@ let (dimension : t -> int) =
| GeqZ(ne) -> Ne.dimension ne
| EqZ(ne) -> Ne.dimension ne
(* exported *)
let (neg_ineq : t -> t) =
fun cstr ->
match cstr with
Bv(_) -> assert false
| GZ(ne) -> GeqZ(Ne.neg_nexpr ne)
| GeqZ(ne) -> GZ(Ne.neg_nexpr ne)
| EqZ(ne) -> assert false
(* exported *)
let (opp_ineq : t -> t) =
fun cstr ->
match cstr with
Bv(_) -> assert false
| GZ(ne) -> GZ(Ne.neg_nexpr ne)
| GeqZ(ne) -> GeqZ(Ne.neg_nexpr ne)
| EqZ(ne) -> EqZ(Ne.neg_nexpr ne)
(* exported *)
let (apply_subst : Ne.subst -> t -> t) =
fun s cstr ->
match cstr with
Bv(_) -> cstr
| GZ(ne) -> GZ(Ne.apply_subst ne s)
| GeqZ(ne) -> GeqZ(Ne.apply_subst ne s)
| EqZ(ne) -> EqZ(Ne.apply_subst ne s)
(* exported *)
let (apply_substl : Ne.subst list -> t -> t) =
fun s cstr ->
match cstr with
Bv(_) -> cstr
| GZ(ne) -> GZ(Ne.apply_substl s ne)
| GeqZ(ne) -> GeqZ(Ne.apply_substl s ne)
| EqZ(ne) -> EqZ(Ne.apply_substl s ne)
(* exported *)
let (to_string : t -> string) =
fun f ->
match f with
| Bv(str) -> str
| GZ(ne) -> ((Ne.to_string ne) ^ " > 0 ")
| GeqZ(ne) -> ((Ne.to_string ne) ^ " >= 0 ")
| EqZ(ne) -> ((Ne.to_string ne) ^ " = 0 ")
(*-----------------------------------------------------------------------
** Copyright (C) 2001 - Verimag.
** Copyright (C) 2002 - Verimag.
** This file may only be copied under the terms of the GNU Library General
** Public License
**-----------------------------------------------------------------------
......@@ -14,13 +14,24 @@
(** Normalised linear constraints. *)
type t =
| Bv of string (** booleans *)
| GZ of Ne.t (** expr > 0 *)
| GeqZ of Ne.t (** expr >= 0 *)
| EqZ of Ne.t (** expr = 0 *)
| Bv of string (** boolean variable *)
| GZ of Ne.t (** expr > 0 *)
| GeqZ of Ne.t (** expr >= 0 *)
| EqZ of Ne.t (** expr = 0 *)
(** Returns the number of variables involved in the constraint *)
val dimension : t -> int
(** [apply_subst cstr s] applies [s] to [cstr]. Note that the result could
have been multiplied by a constant. *)
val apply_subst : Ne.subst -> t -> t
val apply_substl : Ne.subst list -> t -> t
(** [neg_ineq cstr] returns the negation of an inequality constraint. *)
val neg_ineq : t -> t
(** [neg_ineq cstr] returns [cstr] where its Ne.t is replaces by its opposite. *)
val opp_ineq : t -> t
(** Pretty printing. *)
val linear_constraint_to_string : t -> string
val to_string : t -> string
......@@ -132,10 +132,16 @@ let rec (main : unit -> 'a) =
else () ;
res
with
Failure(errmsg) -> output_string stderr errmsg
Failure(errmsg) ->
if options.verbose then Env_state.dump_env_state_stat stdout;
print_string errmsg;
flush stdout;
exit 2
| e ->
if options.verbose then Env_state.dump_env_state_stat stderr;
raise e
if options.verbose then Env_state.dump_env_state_stat stdout;
print_string (Printexc.to_string e);
flush stdout;
exit 2
and
(get_lurette_options: int -> int) =
......@@ -147,17 +153,17 @@ and
Step -> options.step_by_step <- true ; (n+1)
| NoStep -> options.step_by_step <- false ; (n+1)
| DisplayLocalVar -> options.display_local_var <- true ; (n+1)
| NoDisplayLocalVar -> options.display_local_var <- false ; (n+1)
| DisplayLocalVar -> options.display_local_var <- true ; (n+1)
| NoDisplayLocalVar -> options.display_local_var <- false ; (n+1)
| Sim2chro -> options.display_sim2chro <- true ; (n+1)
| NoSim2chro -> options.display_sim2chro <- false ; (n+1)
| NoSim2chro -> options.display_sim2chro <- false ; (n+1)
| NoOracle -> options.oracle <- false ; (n+1)
| NoOracle -> options.oracle <- false ; (n+1)
| Verbose -> options.verbose <- true ; (n+1)
| Edges -> Env_state.set_draw_mode Env_state.Edges ; (n+1)
| Verteces -> Env_state.set_draw_mode Env_state.Verteces ; (n+1)
| Help -> options.help <- true ; (n+1)
| Edges -> Env_state.set_draw_mode Env_state.Edges ; (n+1)
| Verteces -> Env_state.set_draw_mode Env_state.Verteces ; (n+1)
| Help -> options.help <- true ; (n+1)
| Output ->
let str = (Sys.argv.(n+1)) in
options.output <- str ;
......
......@@ -680,6 +680,7 @@ let rec (main_loop : string -> string -> string -> int -> unit) =
result <> 0
then
output_string stdout "\n*** Can not run lurette, sorry.\n"
else
(output_string stderr " ... lurette ok.\n"; flush stderr)
)
......@@ -689,7 +690,9 @@ let rec (main_loop : string -> string -> string -> int -> unit) =
Unix.chdir lurette_tmp_dir;
true
| Show -> let _ = Sys.command ("show_ima " ^ user_dir ^ "/" ^ flag.env) in true
| Show ->
let _ = Sys.command ("show_ima " ^ user_dir ^ "/" ^ flag.env) in
true
| CallSim2chro ->
let sim_cmd = "sim2chro -ecran -in " ^ user_dir ^ "/" ^ flag.output ^
" > /dev/null &\n" in
......@@ -835,7 +838,7 @@ let _ =
(run lurette_tmp_dir) <> 0
then
(
print_string "Can not run lurette, sorry\n";
print_string "Can not create dir in /tmp/\n";
exit 1
);
rm_dir lurette_tmp_dir;
......
(*-----------------------------------------------------------------------
** Copyright (C) 2002 - Verimag.
** This file may only be copied under the terms of the GNU Library General
** Public License
**-----------------------------------------------------------------------
**
** File: ne.ml
** Main author: jahier@imag.fr
*)
open Value
module StringMap = struct
include Map.Make(struct type t = string let compare = compare end)
end
(* exported *)
(** Normal expressions.
Keys are var names, and the content is the coefficient of the
monomial. By convention, "" maps the constant value. For instance,
[("a" -> I(3) ; "b" -> I(-2) ; "" -> I(11))] represents the
expression [3*a - 2*b + 11].
*)
type t = Value.num StringMap.t
type subst = (string * Value.num) * t
(****************************************************************************)
(* exported *)
let (is_a_constant : t -> bool) =
fun ne ->
(StringMap.remove "" ne) = StringMap.empty
(****************************************************************************)
let (add: t -> t -> t) =
fun ne1 ne2 ->
( StringMap.fold
(fun vn1 val1 acc ->
try