Commit 36ab3ebb authored by Erwan Jahier's avatar Erwan Jahier

lurette 1.2 Wed, 17 Sep 2003 10:09:24 +0200 by jahier

Parent-Version:      1.1
Version-Log:

share/
   Do not use the lucky_init.sh to set up env var anymore but wrap executables
   by scripts that set them.

test/
   Add more test cases.

source/lurettetop.ml:
   lauch gnuplot via an xterm to turn around a buggy behavior of gnuplot
   (this fix is far from ideal however, because the xterm window have to
   be killed manually, which is boring).

Project-Description: Lurette
parent 4aed6dc3
This diff is collapsed.
......@@ -29,23 +29,49 @@
en d'autre termes, je fais la vérif de satisfiabilité des intervalles
lors du calcul du nombre de solutions, et pas lors du tirage dans le bdd.
* compilé en mode "assert", lurette se fait tuer par un signal 11
au bout d'une dizaine de pas...
* install: gnuplot-rif n'est pas dans le path
****** Documentation
*********** A faire maintenant
* documenter les options ~default, ~alias, etc.
* renommer les scripts et les executables comme suit:
* Signaler les approximations faites (en dimension > 1)
- volumes des polyhedres pas calculés (=> pb d'equité)
- pour le choix des entiers, on travaille dans les reels,
puis on tronque (truncate) => l'entier tiré n'est alors parfois
meme pas solution des contraintes !!!
xlurette -> xlurette_exe
xlurette.sh -> xlurette
* dire dans la doc que on ne peut avoir qu'au plus une transition sortante
avec un poids infini (ca n'a pas un sens bien clair et on peut toujours
faire autrement). Dire aussi que 2 transitions ne peuvent a la fois avoir
meme origine et arrivée.
et ainsi de suite ...
(2) Faire une doc utilisateur pour lurette (moins urgent depuis qu'il y
a lurettetop et xlurette...)
* rajouter un jeu de test testant les types structures ainsi que la
nouvelle syntaxe (gestions des poids dynamique, etc.)
*********** A faire
* Integrer la possibilité d'utiliser des types structurés avec lurette et scade
* supprimer l'epaisseur au niveau des transitions (?) et rajouter une
au niveau des numérique
La notion d'epaisseur est mal branlée, surtout en presence de var
numériques. Il faudrait un 3eme parametre qui dit le nombre
de tirage que l'on fait dans chaque polyedres.
-> remplacer l'epaisseur de formules par un taux de couverture
* mettre les fichiers de test dans un repertoire exemple et faire des liens symbo
* autoriser plusieurs automates dans le meme fichier
* il faudrait au moins pouvoir avoir des pre sur des var de types structurés
* Faire un lustre2lucky comme TP avec Yussef
* Faire l'elimination des DAGS, ie,
......@@ -54,18 +80,6 @@
* faire un passage sur map vs rev_map
* documenter les options ~default, ~alias, etc.
* Signaler les approximations faites (en dimension > 1)
- volumes des polyhedres pas calculés (=> pb d'equité)
- pour le choix des entiers, on travaille dans les reels,
puis on tronque (truncate) => l'entier tiré n'est alors parfois
meme pas solution des contraintes !!!
* dire dans la doc que on ne peut avoir qu'au plus une transition sortante
avec un poids infini (ca n'a pas un sens bien clair et on peut toujours
faire autrement). Dire aussi que 2 transitions ne peuvent a la fois avoir
meme origine et arrivée.
* ajouter les options --product-mode {multiply | arbiter}
......@@ -74,21 +88,16 @@
* env_state devrait etre un objet ...
(1) Portage Reluc
* compiler sim2chrogtk sous cygwin
* Chercher a detecter des egalites lors de l'ajout d'une inegalité.
pour les contraintes de dimension > 1 (cf code commenté dans store.ml)
(2) Faire une doc utilisateur pour lurette (moins urgent depuis qu'il y
a lurettetop et xlurette...)
* La notion d'epaisseur est mal branlée, surtout en presence de var
numériques. Il faudrait un 3eme parametre qui dit le nombre
de tirage que l'on fait dans chaque polyedres.
-> remplacer l'epaisseur de formules par un taux de couverture
* Utiliser l'ordre des parametres plutot que leur noms
Quoique, quand on fait le produit de plusieurs automates,
......@@ -101,15 +110,9 @@
Regarder pourquoi et dire à Bertrand
* Faire un gestionnaire de sessions comme le propose Pascal
* Si jamais on a à faire a des polyedres trop gros, on pourrait
peut-etre chercher a remettre en cause les choix qui ont été faits
lors des egalités (ie, le choix de la variable à substituer). Ce calcul
coute peut-etre un peu cher (car, comment faire autrement qu'essayer
toutes les possibilités), mais au moins, ca donnerait une solution
dans des cas ou les polyedres peteraient...
* zipper et dezipper les .rif a la vollée (cf zlib et camlzip)
......@@ -129,8 +132,6 @@
* autoconf :
-> tester si gtk est la
* Chercher a detecter des egalites lors de l'ajout d'une inegalité.
(cf code commenté dans store.ml)
* xlurette :
- bouton sim2chro ; mettre les locales en vert -> pragma dans sim2chro !!
......@@ -139,6 +140,13 @@
* Trouver un controlleur non buggé pour pouvoir mettre un oracle
qui n'arrete pas le processus...
* Si jamais on a à faire a des polyedres trop gros, on pourrait
peut-etre chercher a remettre en cause les choix qui ont été faits
lors des egalités (ie, le choix de la variable à substituer). Ce calcul
coute peut-etre un peu cher (car, comment faire autrement qu'essayer
toutes les possibilités), mais au moins, ca donnerait une solution
dans des cas ou les polyedres peteraient...
*********** Cosmétisme
......
......@@ -6,12 +6,12 @@ inputs {
: bool
}
outputs {
U:real ~min 1. ~max 60
U:real ~min 1.0 ~max 60.0
}
locals {
Dudt %scr:15,2,16,2% %foo:bar%
: float ~min -100. ~max 100.
: float ~min -100.0 ~max 100.0
}
......
node chaudiere_ctrl(U:real) returns (Heat_on:bool);
let
Heat_on = true ->
Heat_on = false ->
if U < 16.
then true
else if U > 19.
......
......@@ -17,7 +17,7 @@ THREAD=
xlurette: dummy
xlurette_exe: dummy
mlglade xlurette.glade
mv xlurette_glade_interface.ml xlurette_glade_interface.ml0
cat xlurette_glade_interface.ml0 \
......@@ -28,7 +28,7 @@ xlurette: dummy
ocamlc -c -i -I +lablgtk -labels -c xlurette_glade_callbacks.ml
ocamlc -c -pp "camlp4o" -I +lablgtk $(THREAD) -c xlurette_glade_main.ml
ocamlc $(THREAD) \
-I +lablgtk -I +str -o xlurette$(EXE) str.cma unix.cma lablgtk.cma gtkInit.cmo \
-I +lablgtk -I +str -o xlurette_exe$(EXE) str.cma unix.cma lablgtk.cma gtkInit.cmo \
xlurette_glade_callbacks.cmo xlurette_glade_interface.cmo xlurette_glade_main.cmo
opt: dummy
......@@ -41,7 +41,7 @@ opt: dummy
ocamlopt.opt -verbose -c -I +lablgtk -labels -c xlurette_glade_interface.ml
ocamlopt.opt -verbose -c -I +lablgtk -labels -c xlurette_glade_callbacks.ml
ocamlopt.opt -verbose -c -pp "camlp4o" -I +lablgtk $(THREAD) -c xlurette_glade_main.ml
ocamlopt.opt -verbose -I +lablgtk -I +str -labels -o xlurette$(EXE) str.cmxa unix.cmxa lablgtk.cmxa gtkInit.cmx \
ocamlopt.opt -verbose -I +lablgtk -I +str -labels -o xlurette_exe$(EXE) str.cmxa unix.cmxa lablgtk.cmxa gtkInit.cmx \
xlurette_glade_callbacks.cmx xlurette_glade_interface.cmx xlurette_glade_main.cmx
......@@ -52,13 +52,13 @@ all: opt cp
cp:
ifeq ($(HOST_TYPE),cygwin)
cp xlurette.exe $(BIN_INSTALL_DIR)
cp xlurette_exe.exe $(BIN_INSTALL_DIR)
else
cp xlurette $(BIN_INSTALL_DIR)
cp xlurette_exe $(BIN_INSTALL_DIR)
endif
clean:
rm -f *.cm* *.o a.out xlurette$(EXE) xlurette.opt$(EXE)
rm -f *.cm* *.o a.out xlurette_exe$(EXE) xlurette_exe.opt$(EXE)
dummy:
......
This diff is collapsed.
This diff is collapsed.
......@@ -12,6 +12,7 @@ let debug =
let pid = ref 0
let lpid = ref 0
let gp_pid = ref 0
let rif_file = ref ""
......@@ -22,22 +23,70 @@ let restore = ref false
let (lurette_stdin_in, lurette_stdin_out) = Unix.pipe ()
let (lurette_stdout_in, lurette_stdout_out) = Unix.pipe ()
let (lurette_stderr_in, lurette_stderr_out) = Unix.pipe ()
let ic = Unix.in_channel_of_descr lurette_stdout_in
let ec = Unix.in_channel_of_descr lurette_stderr_in
let oc = Unix.out_channel_of_descr lurette_stdin_out
(* let (gnuplot_stdin_in, gnuplot_stdin_out) = Unix.pipe () *)
(* let (gnuplot_stdout_in, gnuplot_stdout_out) = Unix.pipe () *)
(* let (gnuplot_stderr_in, gnuplot_stderr_out) = Unix.pipe () *)
(* let gp_ic = Unix.in_channel_of_descr gnuplot_stdout_in *)
(* let gp_ec = Unix.in_channel_of_descr gnuplot_stderr_in *)
(* let gp_oc = Unix.out_channel_of_descr gnuplot_stdin_out *)
(* let _ = *)
(* set_binary_mode_in gp_ic false; *)
(* set_binary_mode_in gp_ec false; *)
(* set_binary_mode_out gp_oc false; *)
(* try *)
(* gp_pid := Unix.create_process "tcsh" (Array.of_list ["tcsh"]) *)
(* gnuplot_stdin_in gnuplot_stdout_out gnuplot_stderr_out ; *)
(* () *)
(* with _ -> *)
(* output_string stdout ( *)
(* "*** can not find gnuplot (>3.7).\n") *)
let _ =
set_binary_mode_in ic false;
set_binary_mode_in ec false;
set_binary_mode_out oc false;
(* XXX won't work under window$ *)
(* XXX won't work under window$ ? *)
(* ; Unix.set_nonblock lurette_stdout_out *)
Unix.set_nonblock lurette_stdout_in;
Unix.set_nonblock lurette_stderr_in
let (readfile: string -> string) =
fun file ->
try
let rec (readfile_ic : in_channel -> string -> string) =
fun ic acc ->
let line =
try (input_line ic)
with End_of_file -> (close_in ic) ; "end_of_file"
in
if (line = "end_of_file")
then acc
else (readfile_ic ic (acc ^ "\n" ^ line))
in
let ic = (open_in file) in
let str = readfile_ic ic "" in
close_in ic;
str
with
_ ->
(
output_string stderr (
"File " ^ file ^ " could not be opened.\n");
raise Not_found
)
let (cygpath_w2u : string -> string) =
......@@ -90,24 +139,28 @@ let chop_ext file =
with _ -> file
let (update_rif_file_name : string -> string -> string -> string -> unit) =
fun rif_base_name0 sut_str env_str0 l_str ->
(*
invent a fresh file name, using the provided in rif_base_name0 if not
empty, the 3 other strings otherwise
*)
let str_list = Str.split (Str.regexp " ") env_str0 in
let env_str =
(* when several env are involved, this string contains blank char *)
String.concat "-" (List.map (chop_ext) str_list)
in
fun rif_base_name0 sut_str0 env_str0 l_str0 ->
let rif_base_name =
if
rif_base_name0 <> ""
then
rif_base_name0
else
(* We invent a name if no one is provided *)
(sut_str ^ "-" ^ env_str ^ "-" ^ l_str ^ "-")
else
(*
invent a fresh file name, using the provided in rif_base_name0 if not
empty, the 3 other strings otherwise
*)
let str_list0 = Str.split (Str.regexp " ") env_str0 in
let str_list = List.map (Filename.basename) str_list0 in
let env_str =
(* when several env are involved, this string contains blank char *)
String.concat "-" (List.map (chop_ext) str_list)
in
let l_str = Filename.basename l_str0 in
let sut_str = Filename.basename sut_str0 in
(* We invent a name if no one is provided *)
(sut_str ^ "-" ^ env_str ^ "-" ^ l_str ^ "-")
in
rif_file := (give_fresh_file_name rif_base_name ".rif")
......@@ -538,13 +591,23 @@ class customized_callbacks = object(self)
(* quit window *)
(* to quit xlurette *)
method quit () =
output_string oc "quit\n";
output_string oc "\nquit\n"; (* to kill lurettetop *)
flush oc;
prerr_endline "bye! " ;
prerr_endline "bye bye! " ;
(* let's make sure everyone is dead *)
(* (try Unix.kill (!gp_pid) Sys.sigkill with _ -> () ); *)
(try Unix.kill (!lpid) Sys.sigkill with _ -> () );
(try Unix.kill (!pid) Sys.sigkill with _ -> () );
exit 0
method on_quit_xlurette_button_clicked () =
output_string oc "\n \n q\n" ;
flush oc;
(* (try Unix.kill (!gp_pid) Sys.sigkill with _ -> () ); *)
(try Unix.kill (!lpid) Sys.sigkill with _ -> () );
(try Unix.kill (!pid) Sys.sigkill with _ -> () );
self#top_quit_window#quit_window#show ()
method on_quit_yes_clicked () =
......@@ -612,6 +675,48 @@ class customized_callbacks = object(self)
method gnuplot_rif () =
(* let cmd = *)
(* ("gnuplot-rif " ^ (get_rif_file ()) ^ " ;\n") *)
(* and cmd2 = *)
(* ("xterm -e gnuplot " ^ *)
(* (Filename.concat (Sys.getcwd ()) (get_rif_file ())) ^ *)
(* ".plot \n") *)
(* in *)
(* let _ = Sys.command cmd in *)
(* (* let _ = Sys.command cmd2 in *) *)
(* *)
(* let filestr = readfile ((get_rif_file ()) ^ ".plot") in *)
(* output_string gp_oc filestr; *)
(* flush gp_oc; *)
(* self#top_xlurette#error_window#insert cmd; *)
(* output_string gp_oc cmd; *)
(* flush gp_oc; *)
(* () *)
(* let args = Array.of_list ["gnuplot-rif"; (get_rif_file ())] in *)
(* ( *)
(* if !gp_pid <> 0 then *)
(* try *)
(* output_string gp_oc "\n"; *)
(* flush gp_oc; *)
(* Unix.kill (!gp_pid) Sys.sigkill *)
(* with _ -> () ); *)
(* try *)
(* gp_pid := Unix.create_process "gnuplot-rif" args *)
(* gnuplot_stdin_in Unix.stdout Unix.stderr ; *)
(* let (_, status) = Unix.waitpid [Unix.WNOHANG] !gp_pid in *)
(* output_string oc ("gnuplot-rif " ^ (get_rif_file ())); *)
(* flush oc *)
(* with _ -> *)
(* output_string oc ( *)
(* "*** gnuplot-rif failed. Is gnuplot (>3.7) " ^ *)
(* "installed on your machine?\n") ; *)
(* flush stdout *)
let cmd_display =
if (get_rif_file ()) = "" then "" else
("set_output \"" ^ (get_rif_file ()) ^ "\"\n" ^ "gnuplot\n")
......@@ -1276,14 +1381,22 @@ let main () =
let _ = GtkBase.Widget.add_events xlurette#xlurette#as_widget [`ALL_EVENTS] in
let args =
if !restore
then (* XXX Does not take this option into account. why ??? *)
then
Array.of_list ["lurettetop"; "--restore"; (callbacks#get_restore ())]
else
Array.of_list ["lurettetop"]
in
pid := Unix.create_process "lurettetop" args
lurette_stdin_in lurette_stdout_out lurette_stderr_out ;
(
try
pid := Unix.create_process "lurettetop" args
lurette_stdin_in lurette_stdout_out lurette_stderr_out
with _ ->
output_string stdout (
"*** can not find lurettetop. Is your path set properly?\n" ^
"*** It should contain the lurette/<arch>/bin/ directory");
exit 1
);
(* Fill the combo boxes *)
callbacks#read_lustre_files ();
callbacks#read_env_files ();
......@@ -1342,12 +1455,12 @@ let main () =
let _ = Timeout.add ~ms:100 ~callback:callbacks#read_ltop_stdout in
let _ = Timeout.add ~ms:100 ~callback:callbacks#read_ltop_stderr in
(* try *)
Main.main ()
(* with _ -> *)
(* print_string "Did you set all\n" *)
let _ = Printexc.print main ()
let _ =
try
main ()
with e ->
print_string "*** Error in xlurette\n";
print_string (Printexc.to_string e);
exit 1
This diff is collapsed.
# Generated automatically from Makefile.test.in by configure.
#
-include ../share/lucky_init.sh
# Non regression test
test1:
rm -f ControleurPorte.rif0; \
../$(HOST_TYPE)/bin/lurettetop.sh --sut ControleurPorte.lus -msn ControleurPorte -l 100 -tf 10 -td 10 \
../i386-linux/bin/lurettetop --sut ControleurPorte.lus -msn ControleurPorte -l 100 -tf 10 -td 10 \
--do-not-show-step -o ControleurPorte.rif0 \
--seed 1013219512 -ns2c -go \
tram.luc usager.luc porte.luc passerelle.luc ;\
......@@ -15,7 +15,7 @@ test1:
test2:
rm -f heater_int.rif0; \
../$(HOST_TYPE)/bin/lurettetop.sh -l 30 -tf 10 -td 10 --sut heater_int -msn heater_int --seed 1013219512 \
../i386-linux/bin/lurettetop -l 30 -tf 10 -td 10 --sut heater_int -msn heater_int --seed 1013219512 \
--do-not-show-step -ns2c -go -o heater_int.rif0 \
-go temp_int ;\
grep -v "lurette chronogram" heater_int.rif0 | sed -e "s/^M//" > heater_int.rif ;\
......@@ -23,28 +23,32 @@ test2:
test3:
rm -f heater_float.rif0; \
../$(HOST_TYPE)/bin/lurettetop.sh --precision 4 -go -l 30 -tf 10 -td 10 -msn heater_float --sut heater_float --seed 1013219512 \
../i386-linux/bin/lurettetop --precision 4 -go -l 30 -tf 10 -td 10 -msn heater_float --sut heater_float --seed 1013219512 \
--do-not-show-step -ns2c -o heater_float.rif0 \
temp_float;\
grep -v "lurette chronogram" heater_float.rif0 | sed -e "s/^M//"> heater_float.rif ;\
rm -f test3.res; diff -u heater_float.rif.exp heater_float.rif > test3.res
test4 :
../$(HOST_TYPE)/bin/lucky.sh -seed 1014504087 -l 100 cudd_gc_problem.luc | sed -e "s/^M//" > cudd_gc_problem.rif
rm -f test4.res; diff -u cudd_gc_problem.rif.exp cudd_gc_problem.rif > test4.res
test5 :
../$(HOST_TYPE)/bin/lucky.sh -seed 834966010 -l 100 losange-3d2.luc | sed -e "s/^M//" > losange-3d.rif
../i386-linux/bin/lucky -seed 834966010 -l 100 losange-3d2.luc | sed -e "s/^M//" > losange-3d.rif
rm -f test5.res; diff -u losange-3d.rif.exp losange-3d.rif > test5.res
test6 :
rm -f gyro.rif0; \
../$(HOST_TYPE)/bin/lurettetop.sh --precision 4 -go -l 50 -tf 1 -td 1 -msn onlyroll --sut onlyroll --seed 1013219512 \
../i386-linux/bin/lurettetop --precision 4 -go -l 50 -tf 1 -td 1 -msn onlyroll --sut onlyroll --seed 1013219512 \
--do-not-show-step -ns2c -o gyro.rif0 giro;\
grep -v "lurette chronogram" gyro.rif0 | sed -e "s/^M//" > gyro.rif ;\
rm -f test6.res; diff -u gyro.rif.exp gyro.rif > test6.res
test: test1 test2 test3 test4 test5 test6
test7 :
rm -f test7.rif0; \
$(LURETTE_PATH)/$(HOST_TYPE)/bin/lucky -seed 834966010 \
infinite_weight.luc | sed -e "s/^M//" > test7.rif
rm -f test7.res; diff -u test7.rif.exp test7.rif > test7.res
test: test1 test2 test3 test5 test6 test7
ls -l *.res
......@@ -216,6 +216,23 @@ esac
#-----------------------------------------------------------------------------#
# In order to turn oround a strange behavior of gnuplot, the only
# way i have found was to launch it via an "xterm -e" ...
# If no xterm is available, well, the strange behavior will probably occur
# (namely, e.g., the gnuplot window can not be zoomed)
#
AC_CHECK_PROG(XTERM,xterm,xterm,no)
if test "$XTERM" = no ; then
GNUPLOT_TERM=""
else
GNUPLOT_TERM="xterm -e "
fi
AC_SUBST(GNUPLOT_TERM)
#-----------------------------------------------------------------------------#
PIXMAP_DIR="$LURETTEPATH"/share/pixmaps/
......@@ -265,7 +282,9 @@ fi
#-----------------------------------------------------------------------------#
AC_OUTPUT(Makefile.lurette lucky_init.sh lucky.sh lucky.bat lucky_init.csh lurettetop.sh lurettetop.bat xlurette.sh xlurette.bat)
AC_OUTPUT(Makefile.lurette lucky_init.sh lucky.sh lucky.bat lucky_init.csh \
lurettetop.sh gen_stubs.sh gen_fake_lutin.sh gen_fake_lucky.sh lurettetop.bat \
xlurette.sh xlurette.bat set_env_var Makefile.test)
mv $LURETTEPATH/share/Makefile.lurette $LURETTEPATH/$HOST_TYPE/Makefile.lurette
......@@ -284,11 +303,20 @@ esac
chmod a+x lurettetop.sh
chmod a+x xlurette.sh
chmod a+x lucky.sh
cp $LURETTEPATH/share/lurettetop.sh $LURETTEPATH/$HOST_TYPE/bin
cp $LURETTEPATH/share/xlurette.sh $LURETTEPATH/$HOST_TYPE/bin
cp $LURETTEPATH/share/lucky.sh $LURETTEPATH/$HOST_TYPE/bin
cp $LURETTEPATH/share/gnuplot-rif $LURETTEPATH/$HOST_TYPE/bin
cp $LURETTEPATH/share/plot $LURETTEPATH/$HOST_TYPE/bin
chmod a+x gen_stubs.sh
chmod a+x gen_fake_lutin.sh
chmod a+x gen_fake_lucky.sh
cp $LURETTEPATH/share/Makefile.test $LURETTEPATH/test/Makefile
cp $LURETTEPATH/share/lurettetop.sh $LURETTEPATH/$HOST_TYPE/bin/lurettetop
cp $LURETTEPATH/share/xlurette.sh $LURETTEPATH/$HOST_TYPE/bin/xlurette
cp $LURETTEPATH/share/lucky.sh $LURETTEPATH/$HOST_TYPE/bin/lucky
cp $LURETTEPATH/share/gen_stubs.sh $LURETTEPATH/$HOST_TYPE/bin/gen_stubs
cp $LURETTEPATH/share/gen_fake_lutin.sh $LURETTEPATH/$HOST_TYPE/bin/gen_fake_lutin
cp $LURETTEPATH/share/gen_fake_lucky.sh $LURETTEPATH/$HOST_TYPE/bin/gen_fake_lucky
cp $LURETTEPATH/share/set_env_var $LURETTEPATH/$HOST_TYPE
echo
echo " Installation terminated."
......
#!/bin/sh
arg=$@
. @LURETTEPATH@/@HOST_TYPE@/set_env_var
@LURETTEPATH@/@HOST_TYPE@/bin/gen_fake_lucky_exe $arg
#!/bin/sh
arg=$@
. @LURETTEPATH@/@HOST_TYPE@/set_env_var
@LURETTEPATH@/@HOST_TYPE@/bin/gen_fake_lutin_exe $arg
#!/bin/sh
arg=$@
. @LURETTEPATH@/@HOST_TYPE@/set_env_var
@LURETTEPATH@/@HOST_TYPE@/bin/gen_stubs_exe $arg
......@@ -45,14 +45,15 @@ if test -f $FILE ;
| tr '@' '#' \
>> $FILE.gp
# cat $FILE.gp | plot
# to generate a postscript file
# cat $FILE.gp | plot -cps > $FILE.ps
cat $FILE.gp | plot -dump > $FILE.plot
rm $FILE.gp
gnuplot $FILE.plot
# gnuplot $FILE.plot
else
echo " File $1 does not exist"
fi
#
set LURETTE_PATH=@LURETTEPATH@
set PIXMAP_DIR=@PIXMAP_DIR@
set path=@LURETTEPATH@/@HOST_TYPE@/bin:$path
set PATH=@LURETTEPATH@/@HOST_TYPE@/bin:$PATH
set PS_VIEWER=@GV@
set DOT=dot
set LUS2EC=@LUS2EC@
set EC2C=@EC2C@
set SIM2CHRO=@LURETTEPATH@/@HOST_TYPE@/bin/sim2chrogtk
set HOST_TYPE=@HOST_TYPE@
# scade
set SCADE2LUSTRE=@SCADE2LUSTRE@