Commit 693db19e authored by Erwan Jahier's avatar Erwan Jahier

lurette 1.31 Mon, 28 Jun 2004 16:29:58 +0200 by jahier

Parent-Version:      1.30
Version-Log:

source/run_aut.ml:
source/graph.ml:
source/env_state.ml
source/lucky.ml:
source/env_state.ml:
   Graph.t in now a side effet-free DT.

source/lurettetop.ml:
xlurette/xlurette.glade:
   provide an error msg to xlurette when gnuplot is not installed.

Project-Description: Lurette
parent f9d45610
......@@ -4,12 +4,12 @@
(cuddaux/cuddauxGenCof.c 12011 1034006019 c/29_cuddauxGen 1.1)
(source/show_env.mli 1148 1088412276 42_show_env.m 1.13)
(source/util.ml 22751 1088412276 35_util.ml 1.69)
(test/time-asti.res 4158 1088412276 h/40_time-asti. 1.1)
(test/time-asti.res 4566 1088432998 h/40_time-asti. 1.2)
(test/cygwin-scade/lib_pilot.vsp 1433 1055926783 f/47_lib_pilot. 1.1)
(source/constraint.mli 1697 1082533083 c/18_constraint 1.10)
(test/ControleurPorte.lus 3219 1032940601 c/17_Controleur 1.1)
(mlcuddidl/Changes 129 1071844798 d/10_Changes 1.2)
(TODO 5255 1088412276 d/22_TODO 1.47)
(TODO 5160 1088432998 d/22_TODO 1.48)
(share/gen_fake_lutin.sh.in 115 1063786164 g/30_gen_fake_l 1.1)
(mlcuddidl/rdd.mli 7174 1034006019 c/40_rdd.mli 1.1)
(source/fair_bddd.ml 20312 1078751438 g/38_fair_bddd. 1.7)
......@@ -24,7 +24,7 @@
(share/pixmaps/open.xpm 782 1055926783 f/17_open.xpm 1.1)
(source/parse_luc.mli 2817 1088412276 40_parse_env. 1.25)
(polka/C/internal.c 883 1071844798 e/8_internal.c 1.2)
(source/solver.ml 7618 1078751438 39_solver.ml 1.61)
(source/solver.ml 7659 1088432998 39_solver.ml 1.62)
(test/tram/passager.luc 390 1080290901 h/5_passager.l 1.2)
(ihm/xlurette/makefile 3544 1080290901 c/16_makefile 1.22)
(share/gen_fake_lucky.sh.in 115 1063786164 g/31_gen_fake_l 1.1)
......@@ -92,10 +92,10 @@
(test/time-joly.exp 10279 1088412276 b/48_time.exp 1.64)
(polka/caml/Makefile 6586 1071844798 d/45_Makefile 1.4)
(test/cygwin-scade/det_mvt_mode.saofd 4184 1055926783 f/51_det_mvt_mo 1.1)
(ihm/xlurette/xlurette_glade_main.ml 61719 1088412276 c/12_xlurette_g 1.41)
(ihm/xlurette/xlurette_glade_main.ml 62065 1088432998 c/12_xlurette_g 1.42)
(TAGS 9825 1007379917 21_TAGS 1.6)
(polka/C/main.tex 1961 1047029868 e/14_main.tex 1.1)
(ihm/xlurette/xlurette.glade 109616 1088412276 c/13_xlurette.g 1.31)
(ihm/xlurette/xlurette.glade 109523 1088432998 c/13_xlurette.g 1.32)
(test/cygwin-scade/MODULE.saofd 3026 1055926783 f/45_MODULE.sao 1.1)
(source/lexeme.ml 1632 1078751438 h/22_lexeme.ml 1.1)
(test/cygwin-scade/Command.saofd 4147 1055926783 g/6_Command.sa 1.1)
......@@ -123,7 +123,7 @@
(test/cygwin-scade/Pilot.vsw 431 1055926783 f/39_Pilot.vsw 1.1)
(share/pixmaps/open_plus.xpm 787 1055926783 f/16_open_plus. 1.1)
(share/xlurettetop.bat.in 613 1063786164 g/19_xluretteto 1.1)
(source/env_state.ml 16334 1082533083 51_env_state. 1.60)
(source/env_state.ml 16403 1088432998 51_env_state. 1.61)
(test/test8.rif.exp 470 1082533083 g/18_test8.rif. 1.7)
(polka/caml/matrix.idl 6467 1076684617 d/34_matrix.idl 1.4)
(source/fair_bddd.mli 2478 1078751438 g/39_fair_bddd. 1.6)
......@@ -161,7 +161,6 @@
(polka/C/vector.h 2367 1071844798 d/47_vector.h 1.2)
(ID_EN_VRAC 2184 1002196285 0_ID_EN_VRAC 1.1)
(source/oracle.mli 412 1088412276 h/32_oracle.mli 1.2)
(share/pixmaps/stock_exec.xpm 3788 1055926783 f/10_stock_exec 1.1)
(share/gen_stubs.sh.in 110 1063786164 g/29_gen_stubs. 1.1)
(polka/C/satmat.c 6254 1047029868 e/4_satmat.c 1.1)
(mlcuddidl/manager.ml 8017 1034006019 c/47_manager.ml 1.1)
......@@ -182,8 +181,8 @@
(mlcuddidl/session.ml 603 1034006019 c/37_session.ml 1.1)
(demo-xlurette/chaudiere/chaudiere_oracle.lus 107 1031732392 c/8_chaudiere_ 1.1)
(share/Makefile.lurette.in 4289 1078749975 b/38_Makefile.l 1.32)
(source/lucky.ml 8867 1079014759 16_env.ml 1.43)
(source/graph.mli 2357 1078751438 13_graph.mli 1.14)
(source/lucky.ml 8925 1088432998 16_env.ml 1.44)
(source/graph.mli 2451 1088432998 13_graph.mli 1.15)
(source/store.mli 3812 1078751438 b/26_rnumsolver 1.26)
(test/sparc-scade/libmath.saofdm 1378 1055487917 e/45_libmath.sa 1.1)
(Makefile 68 1051024737 d/13_Makefile 1.4)
......@@ -210,11 +209,11 @@
(demo-xlurette/chaudiere/chaudiere.luc 442 1076684617 c/11_chaudiere. 1.9)
(source/parser.mly 6759 1078751438 h/19_parser.mly 1.1)
(test/giro/allocator.lus 1087 1031732392 c/5_allocator. 1.1)
(source/run_aut.ml 23022 1079444474 b/47_automata.m 1.26)
(source/run_aut.ml 23347 1088432998 b/47_automata.m 1.27)
(cuddaux/README 1427 1034006019 c/34_README 1.1)
(source/gen_stubs_sildex.ml 8922 1088412276 h/38_gen_stubs_ 1.1)
(mlcuddidl/bdd.ml 11038 1071844798 d/6_bdd.ml 1.2)
(source/lurettetop.ml 66216 1088412276 c/1_lurettetop 1.54)
(source/lurettetop.ml 66605 1088432998 c/1_lurettetop 1.55)
(source/lexeme.mli 382 1078751438 h/21_lexeme.mli 1.1)
(test/tram/tramway.luc 1138 1080290901 h/2_tramway.lu 1.2)
(source/constraint.ml 3154 1078751438 c/19_constraint 1.11)
......@@ -224,13 +223,13 @@
(test/test7.rif.exp 470 1088412276 g/12_test7.rif. 1.10)
(test/poly-int/poly.lus 72 1073401581 h/7_poly.lus 1.1)
(source/bddd.ml 18371 1079014759 g/36_bddd.ml 1.9)
(ihm/xlurette/xlurette_glade_interface.ml 85095 1088412276 c/15_xlurette_g 1.29)
(ihm/xlurette/xlurette_glade_interface.ml 84937 1088432998 c/15_xlurette_g 1.30)
(source/oracle.ml 2807 1088412276 h/31_oracle.ml 1.3)
(INSTALL 479 1082533083 f/26_INSTALL 1.3)
(test/cygwin-scade/MyConsts.saofd 153 1055926783 f/44_MyConsts.s 1.1)
(test/losange-3d2.luc 355 1076684617 e/32_losange-3d 1.6)
(test/Makefile 4069 1088412276 c/0_Makefile 1.20)
(user-rules 41934 1088412276 c/14_myrules 1.62)
(test/Makefile 4080 1088432998 c/0_Makefile 1.21)
(user-rules 41630 1088432998 c/14_myrules 1.63)
(test/infinite_weight.luc 1114 1083336219 g/13_infinite_w 1.3)
(mlcuddidl/cudd_caml.c 23483 1071844798 d/3_cudd_caml. 1.2)
(polka/C/config.h 78 1071844798 e/13_config.h 1.2)
......@@ -254,7 +253,7 @@
(OcamlMakefile 21318 1078749975 17_OcamlMakef 1.52)
(polka/caml/polka.ml 5602 1071844798 d/39_polka.ml 1.2)
(source/lurette.mli 752 1078751438 11_lurette.ml 1.17)
(test/time-rey.res 10279 1088412276 h/14_time-rey.r 1.8)
(test/time-rey.res 10275 1088432998 h/14_time-rey.r 1.9)
(share/pixmaps/halt.xpm 511 1055926783 f/18_halt.xpm 1.1)
(share/xlurette_sh.in 779 1063786164 g/20_xlurette_s 1.1)
(polka/C/matrix.c 26957 1071844798 e/7_matrix.c 1.2)
......@@ -283,7 +282,7 @@
(polka/caml/polka_lexer.mll 786 1047029868 d/42_polka_lexe 1.1)
(cuddaux/cuddauxInt.h 2058 1034006019 c/28_cuddauxInt 1.1)
(polka/caml/polkaIO.mli 1517 1047029868 d/43_polkaIO.ml 1.1)
(test/time-joly.res 10279 1088412276 b/49_time.res 1.69)
(test/time-joly.res 10271 1088432998 b/49_time.res 1.70)
(test/cygwin-scade/det_mvt_mode_cstext.c 703 1055926783 f/33_det_mvt_mo 1.1)
(test/cygwin-scade/pilot.saofdm 394 1055926783 f/41_pilot.saof 1.1)
(source/parse_poc.mli 1131 1078751438 d/29_parse_poc. 1.5)
......@@ -301,7 +300,7 @@
(share/pixmaps/ediff-quit.xpm 494 1055926783 f/20_ediff-quit 1.1)
(test/cygwin-scade/Pilot.saofd 3645 1055926783 f/42_Pilot.saof 1.1)
(test/time-moucherotte.exp 4182 1088412276 e/37_time-mouch 1.23)
(source/command_line_luc_exe.ml 4081 1088412276 b/33_command_li 1.26)
(source/command_line_luc_exe.ml 4084 1088432998 b/33_command_li 1.27)
(source/lurette_exe.c 220 1050421093 e/27_lurette_ex 1.2)
(share/pixmaps/close.xpm 803 1055926783 f/21_close.xpm 1.1)
(test/time-CHAILLOL.res 8235 1063029729 g/11_time-CHAIL 1.1)
......@@ -310,7 +309,7 @@
(polka/Makefile.config 1803 1071844798 e/20_Makefile.c 1.6)
(test/vrai_tram.lus 564 1027066799 b/6_vrai_tram. 1.2)
(source/Makefile 10568 1088412276 c/20_Makefile 1.35)
(source/graph.ml 3677 1078751438 14_graph.ml 1.12)
(source/graph.ml 3780 1088432998 14_graph.ml 1.13)
(test/cudd_gc_problem.luc 208372 1063029729 e/29_cudd_gc_pr 1.2)
(test/time-CHAILLOL.exp 8235 1063029729 g/10_time-CHAIL 1.1)
(demo-xlurette/chaudiere/chaudiere_ctrl.lus 178 1063786164 c/9_chaudiere_ 1.2)
......
......@@ -24,10 +24,6 @@ et je ne suis plus oblig
* Un TP de Lurette pour le 2 juillet pour les partenaire de Safeair.
* Rajouter l'option -pp dans lurettetop et xlurette ? (elle deja dans
lucky et liblurette.a)
* autoriser plusieurs automates dans le meme fichier
......
......@@ -433,7 +433,7 @@ verimag
<editable>False</editable>
<text_visible>True</text_visible>
<text_max_length>0</text_max_length>
<text>scade</text>
<text>verimag</text>
</widget>
</widget>
</widget>
......@@ -680,7 +680,7 @@ verimag
<editable>False</editable>
<text_visible>True</text_visible>
<text_max_length>0</text_max_length>
<text>stdin/stdout</text>
<text>verimag</text>
</widget>
</widget>
</widget>
......@@ -790,7 +790,6 @@ verimag
<class>GtkText</class>
<name>output_window</name>
<height>400</height>
<tooltip> Main output window </tooltip>
<can_default>True</can_default>
<has_default>True</has_default>
<can_focus>True</can_focus>
......@@ -814,7 +813,6 @@ verimag
<widget>
<class>GtkText</class>
<name>error_window</name>
<tooltip> Misc output window </tooltip>
<can_default>True</can_default>
<has_default>True</has_default>
<can_focus>True</can_focus>
......
......@@ -284,7 +284,7 @@ let _ = GtkBase.Widget.set_can_focus oracle_compiler#as_widget true in
let _ = oracle_compiler_entry#set_editable false in
let _ = oracle_compiler_entry#set_visibility true in
let _ = oracle_compiler_entry#set_max_length 0 in
let _ = oracle_compiler_entry#set_text "scade" in
let _ = oracle_compiler_entry#set_text "verimag" in
let button94 = GButton.button
~packing:(table8#attach ~left:0
~top:0
......@@ -429,7 +429,7 @@ let _ = tooltips#set_tip ~text:"lustre to C compiler used for te SUT" sut_compil
let _ = sut_compiler_entry#set_editable false in
let _ = sut_compiler_entry#set_visibility true in
let _ = sut_compiler_entry#set_max_length 0 in
let _ = sut_compiler_entry#set_text "stdin/stdout" in
let _ = sut_compiler_entry#set_text "verimag" in
let hbox42 = GPack.hbox
~spacing:0
~homogeneous:false
......@@ -509,7 +509,6 @@ in
let _ = GtkBase.Widget.set_can_focus output_window#as_widget true in
let _ = GtkBase.Widget.set_can_default output_window#as_widget true in
let _ = GtkBase.Widget.grab_default output_window#as_widget in
let _ = tooltips#set_tip ~text:" Main output window " output_window#coerce in
let scrolledwindow9 = GBin.scrolled_window
~hpolicy:`AUTOMATIC
~vpolicy:`AUTOMATIC
......@@ -526,7 +525,6 @@ in
let _ = GtkBase.Widget.set_can_focus error_window#as_widget true in
let _ = GtkBase.Widget.set_can_default error_window#as_widget true in
let _ = GtkBase.Widget.grab_default error_window#as_widget in
let _ = tooltips#set_tip ~text:" Misc output window " error_window#coerce in
let hbox43 = GPack.hbox
~spacing:4
~homogeneous:false
......
......@@ -375,6 +375,12 @@ class customized_callbacks = object(self)
opid := int_of_string oracle_pid;
()
else if
String.length str > 17
&& String.sub str 0 17 = "Launching gnuplot"
then
display_misc (str ^ "\n")
else if
String.length str > 22
&& String.sub str 0 22 = "The Pid of lurette is "
......@@ -1964,7 +1970,10 @@ let main () =
);
callbacks#put " \t\t\t\t\t\t\t\t\t\t\t\t********* Standard Output Window *********\n";
callbacks#put_misc " \t\t\t\t\t\t\t\t********* Miscellaneous Messages Window (system calls, etc.) *********\n";
(* Fill the combo boxes *)
callbacks#update_rif_combo ();
callbacks#update_sut_and_oracle_combo ();
......
;; -*- Prcs -*-
(Created-By-Prcs-Version 1 3 3)
(Project-Description "Lurette")
(Project-Version lurette 1 30)
(Parent-Version lurette 1 29)
(Project-Version lurette 1 31)
(Parent-Version lurette 1 30)
(Version-Log "
Begin to add an interfacing code for sildex. It seems tp parse
sildex-C header files ok, but the C code generator is simply
a copy of the poc version....
source/run_aut.ml:
source/graph.ml:
source/env_state.ml
source/lucky.ml:
source/env_state.ml:
Graph.t in now a side effet-free DT.
Begin to move from the use of reg expr to Stream base
parser in order to parce header file to get var names
and types.
source/luc_exe.ml:
source/lurettetop.ml:
source/command_line_exe.ml:
source/command_line_exe.mli:
source/command_line_luc_exe.ml:
source/command_line_luc_exe.mli:
source/util.ml:
source/parse_luc.ml:
Call a pre-processor on Lucky files before doing anything else
via the -pp option
xlurette/xlurette.glade:
provide an error msg to xlurette when gnuplot is not installed.
")
(New-Version-Log ""
)
(Checkin-Time "Mon, 28 Jun 2004 10:44:36 +0200")
(Checkin-Time "Mon, 28 Jun 2004 16:29:58 +0200")
(Checkin-Login jahier)
(Populate-Ignore ())
(Project-Keywords)
......@@ -42,7 +35,7 @@ source/parse_luc.ml:
(source/luc_exe.mli (lurette/b/31_ima_exe.ml 1.5 644))
(source/luc_exe.ml (lurette/b/32_ima_exe.ml 1.51 644))
(source/command_line_luc_exe.ml (lurette/b/33_command_li 1.26 644))
(source/command_line_luc_exe.ml (lurette/b/33_command_li 1.27 644))
(source/command_line_luc_exe.mli (lurette/b/34_command_li 1.17 644))
;; Sources files for lurette only
......@@ -53,11 +46,11 @@ source/parse_luc.ml:
(source/command_line.mli (lurette/b/21_command_li 1.18 644))
;; Sources files common to lurette and luc_exe
(source/graph.mli (lurette/13_graph.mli 1.14 644))
(source/graph.ml (lurette/14_graph.ml 1.12 644))
(source/graph.mli (lurette/13_graph.mli 1.15 644))
(source/graph.ml (lurette/14_graph.ml 1.13 644))
(source/lucky.mli (lurette/15_env.mli 1.25 644))
(source/lucky.ml (lurette/16_env.ml 1.43 644))
(source/lucky.ml (lurette/16_env.ml 1.44 644))
(source/util.ml (lurette/35_util.ml 1.69 644))
......@@ -70,7 +63,7 @@ source/parse_luc.ml:
(source/bddd.mli (lurette/g/37_bddd.mli 1.10 644))
(source/solver.mli (lurette/38_solver.mli 1.24 644))
(source/solver.ml (lurette/39_solver.ml 1.61 644))
(source/solver.ml (lurette/39_solver.ml 1.62 644))
(source/polyhedron.ml (lurette/d/25_polyhedron 1.18 644))
(source/polyhedron.mli (lurette/d/26_polyhedron 1.10 644))
......@@ -88,10 +81,10 @@ source/parse_luc.ml:
(source/print.ml (lurette/47_print.ml 1.27 644))
(source/env_state.mli (lurette/50_env_state. 1.41 644))
(source/env_state.ml (lurette/51_env_state. 1.60 644))
(source/env_state.ml (lurette/51_env_state. 1.61 644))
(source/run_aut.mli (lurette/b/46_automata.m 1.12 644))
(source/run_aut.ml (lurette/b/47_automata.m 1.26 644))
(source/run_aut.ml (lurette/b/47_automata.m 1.27 644))
(source/sim2chro.mli (lurette/b/23_sim2chro.m 1.12 644))
(source/sim2chro.ml (lurette/b/24_sim2chro.m 1.28 644))
......@@ -99,7 +92,7 @@ source/parse_luc.ml:
(source/gne.mli (lurette/b/36_gne.mli 1.8 644))
(source/gne.ml (lurette/b/37_gne.ml 1.9 644))
(source/lurettetop.ml (lurette/c/1_lurettetop 1.54 644))
(source/lurettetop.ml (lurette/c/1_lurettetop 1.55 644))
(source/draw.mli (lurette/f/1_draw.mli 1.4 644))
(source/draw.ml (lurette/f/2_draw.ml 1.5 644))
......@@ -144,7 +137,6 @@ source/parse_luc.ml:
(share/lucky.el (lurette/f/7_lucky.el 1.9 644))
(share/pixmaps/stop.xpm (lurette/f/8_stop.xpm 1.1 644))
(share/pixmaps/stock_save.xpm (lurette/f/9_stock_save 1.1 644))
(share/pixmaps/stock_exec.xpm (lurette/f/10_stock_exec 1.1 644))
(share/pixmaps/step.xpm (lurette/f/11_step.xpm 1.1 644))
(share/pixmaps/save.xpm (lurette/f/12_save.xpm 1.1 644))
(share/pixmaps/run.xpm (lurette/f/13_run.xpm 1.1 644))
......@@ -164,7 +156,7 @@ source/parse_luc.ml:
(Makefile.common.source (lurette/e/33_Makefile.c 1.11 644))
(OcamlMakefile (lurette/17_OcamlMakef 1.52 644))
(share/Makefile.lurette.in (lurette/b/38_Makefile.l 1.32 644))
(user-rules (lurette/c/14_myrules 1.62 644))
(user-rules (lurette/c/14_myrules 1.63 644))
(share/Makefile.test.in (lurette/c/25_user-rules 1.13 644))
(Makefile (lurette/d/13_Makefile 1.4 644))
......@@ -188,7 +180,7 @@ source/parse_luc.ml:
(ID_EN_VRAC (lurette/0_ID_EN_VRAC 1.1 644))
(INSTALL (lurette/f/26_INSTALL 1.3 744))
(TAGS (lurette/21_TAGS 1.6 644))
(TODO (lurette/d/22_TODO 1.47 644))
(TODO (lurette/d/22_TODO 1.48 644))
(share/lucky_init.csh.in (lurette/e/23_lucky_init 1.8 644))
(share/lucky_init.sh.in (lurette/e/24_lucky_init 1.12 644))
......@@ -196,9 +188,9 @@ source/parse_luc.ml:
(share/plot (lurette/e/35_plot 1.12 744))
(test/time-rey.exp (lurette/h/13_time-rey.e 1.7 644))
(test/time-rey.res (lurette/h/14_time-rey.r 1.8 644))
(test/time-rey.res (lurette/h/14_time-rey.r 1.9 644))
(test/time-joly.exp (lurette/b/48_time.exp 1.64 644))
(test/time-joly.res (lurette/b/49_time.res 1.69 644))
(test/time-joly.res (lurette/b/49_time.res 1.70 644))
(test/time-ecrins.res (lurette/d/20_time-ecrin 1.46 644))
(test/time-ecrins.exp (lurette/d/21_time-ecrin 1.45 644))
(test/time-moucherotte.exp (lurette/e/37_time-mouch 1.23 644))
......@@ -298,12 +290,12 @@ source/parse_luc.ml:
(test/test9.rif.exp (lurette/g/17_test9.rif. 1.7 644))
(test/test8.rif.exp (lurette/g/18_test8.rif. 1.7 644))
(test/Makefile (lurette/c/0_Makefile 1.20 644))
(test/Makefile (lurette/c/0_Makefile 1.21 644))
;; xlurette
(ihm/xlurette/xlurette_glade_main.ml (lurette/c/12_xlurette_g 1.41 644))
(ihm/xlurette/xlurette.glade (lurette/c/13_xlurette.g 1.31 644))
(ihm/xlurette/xlurette_glade_interface.ml (lurette/c/15_xlurette_g 1.29 644))
(ihm/xlurette/xlurette_glade_main.ml (lurette/c/12_xlurette_g 1.42 644))
(ihm/xlurette/xlurette.glade (lurette/c/13_xlurette.g 1.32 644))
(ihm/xlurette/xlurette_glade_interface.ml (lurette/c/15_xlurette_g 1.30 644))
(ihm/xlurette/makefile (lurette/c/16_makefile 1.22 644))
......@@ -617,7 +609,7 @@ source/parse_luc.ml:
;; Files added by populate at Mon, 28 Jun 2004 10:29:06 +0200,
;; to version 1.29(w), by jahier:
(test/time-asti.res (lurette/h/40_time-asti. 1.1 644))
(test/time-asti.res (lurette/h/40_time-asti. 1.2 644))
(test/time-asti.exp (lurette/h/41_time-asti. 1.1 644))
)
(Merge-Parents)
......
/* XPM */
static char *magick[] = {
/* columns rows colors chars-per-pixel */
"24 24 153 2",
" c Gray0",
". c #010101",
"X c #020202",
"o c Gray1",
"O c #040404",
"+ c Gray2",
"@ c #060606",
"# c #070707",
"$ c Gray3",
"% c #090909",
"& c #0b0b0b",
"* c #0c0c0c",
"= c Gray6",
"- c #131313",
"; c #151515",
": c #191919",
"> c #1b1b1b",
", c #1d1d1d",
"< c Gray12",
"1 c Gray14",
"2 c #252525",
"3 c #272727",
"4 c #2a2a2a",
"5 c #2f2f2f",
"6 c #323232",
"7 c #343434",
"8 c #3c3c3c",
"9 c Gray26",
"0 c #7a7356",
"q c #7b7457",
"w c #7c7557",
"e c #7e7859",
"r c #80785a",
"t c #827c5b",
"y c #837c5c",
"u c #8a8261",
"i c #ada57c",
"p c #b0a77c",
"a c #b1a87d",
"s c #b0a880",
"d c #b4ab83",
"f c #b6ad80",
"g c #b6ad81",
"h c #b6ae83",
"j c #b8af84",
"k c #b7b089",
"l c #b9b082",
"z c #b9b183",
"x c #bab183",
"c c #bab186",
"v c #bbb386",
"b c #bcb386",
"n c #bdb486",
"m c #beb586",
"M c #b8b18a",
"N c #b9b18b",
"B c #bab188",
"V c #bcb388",
"C c #bcb489",
"Z c #beb689",
"A c #bfb789",
"S c #beb68a",
"D c #beb68d",
"F c #bfb68c",
"G c #bcb590",
"H c #c0b687",
"J c #c0b787",
"K c #c0b788",
"L c #c1b889",
"P c #c2b889",
"I c #c2b98a",
"U c #c1b98f",
"Y c #c4bb8b",
"T c #c4bc8f",
"R c #c6bc8c",
"E c #c7bd8d",
"W c #c6bc8f",
"Q c #c7be8d",
"! c #c7bf8e",
"~ c #c8be8d",
"^ c #c8be8e",
"/ c #c8bf8e",
"( c #c2b990",
") c #c1b994",
"_ c #c6bc91",
"` c #c4bd95",
"' c #c7bf94",
"] c #c7bf97",
"[ c #c3bc9a",
"{ c #c4bd99",
"} c #c6be98",
"| c #c5bf9e",
" . c #c8bf94",
".. c #cac08f",
"X. c #cac18f",
"o. c #cbc18f",
"O. c #c7c096",
"+. c #c9c191",
"@. c #c9c093",
"#. c #cac192",
"$. c #cbc193",
"%. c #cbc292",
"&. c #cac196",
"*. c #cbc295",
"=. c #cbc395",
"-. c #cdc391",
";. c #cdc393",
":. c #ccc396",
">. c #ccc397",
",. c #cec492",
"<. c #cfc592",
"1. c #cec596",
"2. c #cec694",
"3. c #cbc49c",
"4. c #cdc499",
"5. c #cfc69a",
"6. c #d0c693",
"7. c #d0c795",
"8. c #d1c794",
"9. c #d0c796",
"0. c #d1c895",
"q. c #d1c897",
"w. c #d2c894",
"e. c #d2c896",
"r. c #d3c996",
"t. c #d3ca97",
"y. c #d4ca96",
"u. c #d5cb97",
"i. c #d6cc97",
"p. c #d1c99a",
"a. c #d2c898",
"s. c #d2c999",
"d. c #d1c99f",
"f. c #d3cb9c",
"g. c #d5cb98",
"h. c #d5cb9a",
"j. c #d5cb9b",
"k. c #d4cb9f",
"l. c #d5cc9a",
"z. c #d6cc98",
"x. c #d7cd98",
"c. c #c9c3a0",
"v. c #cfc8a2",
"b. c #cfc8a3",
"n. c #d2caa1",
"m. c #d3cca4",
"M. c #d0caaa",
"N. c #d5cdaa",
"B. c #d5cfae",
"V. c #d5ceb1",
"C. c #dbd6be",
"Z. c Gray100",
"A. c None",
/* pixels */
"Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.",
"Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.",
"Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.",
"Z.Z.Z.Z.Z.Z. & @ Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.",
"Z.Z.Z.Z.Z. M * j 0 Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.",
"Z.Z.Z.Z. M M Z b h i @ Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.",
"Z.Z.Z.Z. c Z y p @ Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.",
"Z.Z.Z.Z. s h w H m h Z.Z.> 4 8 Z.Z.Z.Z.Z.Z.Z.",
"Z.Z.Z.Z. a x m K Z.& d k G 7 Z.9 Z.Z.Z.Z.",
"Z.Z.Z.Z.Z. q x 0 x @ V F ( , 2 ) 2 Z.Z.Z.",
"Z.Z.Z.Z.Z.Z.@ Z. m Y ! ! ! +.+.&.+._ F - Z.Z.",
"Z.Z.Z.Z.Z.Z.Z.Z.Z.Z. / -.6.8.r.r.r.1.+.& Z.Z.Z.",
"Z.Z.Z.Z.Z.Z.Z.Z.Z. L o.8.u.i.z.z.i.r.<.@ Z.Z.",
"Z.Z.Z.Z.Z.Z.Z.Z. c L o.8.u.L u ! z.u.6./ H A.",
"Z.Z.Z.Z.Z.Z.Z.Z. ( ! +.r.g.r x t z.u.<./ Z & Z.",
"Z.Z.Z.Z.Z.Z.Z.Z., ` .:.a.z.r.e o.r.r.-.! Z * Z.",
"Z.Z.Z.Z.Z.Z.Z.Z.Z. , 4.a.g.z.8.r.r.8.+.; > Z.Z.",
"Z.Z.Z.Z.Z.Z.Z.Z.Z.Z. v.n.n.d.a.r.1.&.` 2 Z.Z.Z.",
"Z.Z.Z.Z.Z.Z.Z.Z.Z. V.B.N.m.d.4.:.&.O.} [ Z.Z.",
"Z.Z.Z.Z.Z.Z.Z.Z.Z.Z. C. v.3.` 2 5 | Z.Z.Z.",
"Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z. Z. M.c.} 6 Z. Z.Z.Z.Z.",
"Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z. Z.Z.Z.Z.Z.Z.Z.",
"Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.",
"Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z.Z."
};
......@@ -90,7 +90,7 @@ let (option_to_usage: cmd_line_optionT -> string) =
| Help -> "Display this message.\n"
| Verbose -> "Set on a verbose mode.\n"
| Oracle -> "Launch an oracle (replace blank by '+', e.g., --oracle ecexe+f.ec).\n"
| PP -> "Pipe lucky file(s) through a preprocessor (e.g., cpp)"
| PP -> "Pipe lucky file(s) through a preprocessor (e.g., cpp).\n"
| ComputeVolume -> (
"Compute the polyhedra volume before drawing: more fair, " ^
"but more expensive.\n")
......
......@@ -356,16 +356,17 @@ let (read_env_state_one_automaton : t -> Parse_luc.automata -> t) =
in
(* updates [g]. *)
let _ =
let (add_arc: Parse_luc.lucky_arc -> unit) =
fun arc ->
let g' =
let (add_arc: (node, arc_info) Graph.t -> Parse_luc.lucky_arc ->
(node, arc_info) Graph.t) =
fun acc arc ->
match arc with
Parse_luc.Arc(node_from_str, arc_info, node_to_str) ->
let node_from = label_to_node file (node_from_str) in
let node_to = label_to_node file (node_to_str) in
(Graph.add_trans g node_from arc_info node_to);
(Graph.add_trans acc node_from arc_info node_to)
in
List.iter (add_arc) list_arcs
List.fold_left (add_arc) g list_arcs
in
......@@ -408,7 +409,7 @@ let (read_env_state_one_automaton : t -> Parse_luc.automata -> t) =
memories_names = mnl;
output_var_names = ovnll;
node = node_tbl;
graph = g
graph = g'
}
and dsf = {
memory = state.d.memory;
......
......@@ -21,6 +21,17 @@ type ('a, 'b) t = {
mutable trans : ('a * 'b * 'a) list
}
let (copy : ('a, 'b) t -> ('a, 'b) t) =
fun g ->
{
table = (Hashtbl.copy g.table) ;
father = (Hashtbl.copy g.father) ;
nodes = g.nodes ;
trans = g.trans
}
(* exported *)
let (create: unit -> ('a, 'b) t) =
......@@ -32,6 +43,7 @@ let (create: unit -> ('a, 'b) t) =
trans = []
}
(* exported *)
let (get_list_of_target_nodes: ('a, 'b) t -> 'a -> ('a * 'b) list) =
fun g node ->
......@@ -56,64 +68,68 @@ let (contain_node : ('a, 'b) t -> 'a -> bool) =
(* exported *)
let (add_trans: ('a, 'b) t -> 'a -> 'b -> 'a -> unit) =
fun g node_from arc_info node_to ->
if
List.mem (node_from, arc_info, node_to) g.trans
then
()
else
let l = g.nodes in
let l1 = if (List.mem node_from l) then l else node_from::l in
let l2 = if (List.mem node_to l1) then l1 else node_to::l1 in
if (Hashtbl.mem g.table node_from) then
let list = ((node_to, arc_info)::(Hashtbl.find g.table node_from)) in
Hashtbl.replace g.table node_from list
else
Hashtbl.add g.table node_from [(node_to, arc_info)] ;
if (Hashtbl.mem g.father node_to) then
let list2 = ((node_from, arc_info)::(Hashtbl.find g.father node_to)) in
Hashtbl.replace g.father node_to list2
else
Hashtbl.add g.father node_to [(node_from, arc_info)] ;
g.nodes <- l2 ;
g.trans <- (node_from, arc_info, node_to)::g.trans ;
assert (
try
List.for_all
(fun (nf, arc, nt) ->