Commit 6de2c0e9 authored by Erwan Jahier's avatar Erwan Jahier

lurette 1.28 Wed, 21 Apr 2004 09:38:03 +0200 by jahier

Parent-Version:      1.27
Version-Log:

Add #locs pragmas so that sim2chro is able to print local var in green.

Project-Description: Lurette
parent 1df63c5e
This diff is collapsed.
#!/bin/sh
#
# This script creates in lurette-V2-*/$(arch)/bin/ sh scripts
# that sets enviroment variables necessary to the binaries
# in lurette-V2-*/$(arch)/bin to run correctly.
#
# For example, it creates the sh script xlurette that sets
# the rigth env vars and then launches xlurette_exe.
#
# The list of all scripts that are generated that way is
# provided in the README file.
#
CURRENT_DIR=`pwd`
cd share
......@@ -13,3 +23,4 @@ rm -f config.cache
......@@ -3,97 +3,104 @@
The Lurette V2 package
* WHAT IS IT?
* INSTALLATION
$ tar xvfz luretteV2-XXX.tgz
$ cd lurette-XXX
$ ./INSTALL
This script creates in lurette-V2-XXX/$(arch)/bin/ sh scripts that
sets enviroment variables necessary to the binaries in
lurette-V2-XXX/$(arch)/bin to run correctly.
For example, it creates the sh script xlurette that sets the rigth
env vars and then launches xlurette_exe.
-o-
* List of provided tools
The lurette V2 package is a set of tools that let one test and
simulate reactive programs (e.g., written in Lustre). Its heart is
made of an engine that draws (Boolean, integer and real) values
according to a non-deterministic specification written in the Lutin
made of an engine that draws (Boolean, integer and real) values
according to a non-deterministic specification written in the Lutin
or Lucky languages.
The provided tools are:
xlurette:
xlurette is a GUI build on top of lurettetop (see above). It is
probably your best entry point if you want to test your Lustre
programs.
Cf doc/lurette-man.pdf and/or check the tool-tip displayed when
mouse pointing at the different buttons of the GUI.
xlurette:
xlurette is a GUI build on top of lurettetop (see above). It is
probably your best entry point if you want to test your Lustre
programs.
lurettetop:
Cf doc/lurette-man.pdf and/or check the tool-tip displayed when mouse
pointing at the different buttons of the GUI.
lurettetop is a top level loop that let one test reactive
programs written in Lustre. It is basically the non graphical
version of xlurette. You can type "help" at the prompt to see
the list of commands.
lurettetop:
lurettetop is a top level loop that let one test reactive programs
written in Lustre. It is basically the non graphical version of
xlurette. You can type "help" at the prompt to see the list of
commands.
lutin:
lutin is an high level language/compiler for specifying non
deterministic systems. As far as lurette is concerned, lutin can
be used to simulate the System Under Test (SUT) environment.
More information is available in the doc/lutin.pdf file.
lucky:
A lucky (.luc) files interpreter. ".luc" file is the abstract
machine format the Lutin compiler produces. Being able to
simulate/executes lutin programs outside xlurette can sometimes
be convenient. Note that it can be reasonnably convenient to
write the SUT env directly in Lucky in some cases.
lutin:
lutin is an high level language/compiler for specifying
deterministic systems. As far as lurette is concerned, lutin can
be used to simulate the System Under Test (SUT) environment. More
information is available in the doc/lutin.pdf file.
lucky:
A lucky (.luc) files interpreter. ".luc" file is the abstract
machine format the Lutin compiler produces. Being able to
simulate/executes lutin programs outside xlurette can sometimes be
convenient. Note that it can be reasonnably convenient to write
the SUT env directly in Lucky in some cases.
There are also tools which are used by the ones above that one might
want to use.
gen_fake_lucky:
gen_fake_lutin:
generates a fake lucky/lutin file (from C files generated by the
Lustre compiler). It is automatically called from xlurette,
whenever you try to test a program without providing an
environment for it; hence you should not need to use it directly.
gen_fake_lucky:
gen_fake_lutin:
generates a fake lucky/lutin file (from C files generated by the
Lustre compiler). It is automatically called from xlurette,
whenever you try to test a program without providing an
environment for it; hence you should not need to use it directly.
show_luc:
This program lets you vizualise lucky (.luc) files off-line. It
is also called automatically from xlurette and lurettetop.
show_luc:
This program lets you vizualise lucky (.luc) files off-line. It
is also called automatically from xlurette and lurettetop. nb:
show_luc requires a post-script visualiser (e.g., gv).
sim2chro:
A timing diagram visualiser (.rif files) by Yann Rémond.
sim2chro:
A timing diagram visualiser (.rif files) by Yann Rémond.
gnuplot-rif:
An sh-script that uses gnuplot to visualise timing diagrams
(.rif files). Requires plot (by M. Sternberg) that is provided
into this package.
nb : plot requires gawk (gnu awk) that is not provided.
An sh-script that uses gnuplot to visualise timing diagrams (.rif
files). Requires plot (by M. Sternberg) that is provided into
this package. nb : plot requires gawk (gnu awk) that is not
provided.
Also confere the tool section at the url http://www-verimag.imag.fr/~synchron/
Also confere the tool section at the url
http://www-verimag.imag.fr/~synchron/
-o-
* INSTALLATION
$ tar xvfz luretteV2-XXX.tgz
$ cd lurette-XXX
$ ./INSTALL
-o-
* AUTHORS
Erwan Jahier
Pascal Raymond
Yvan Roux
Nicolas Halbwachs
Erwan Jahier Pascal Raymond Yvan Roux Nicolas Halbwachs
-o-
* THANKS
Here is the list of tools that we used to develop this software.
Many thanks to everybody involved in the development and
maintenance of them:
Here is the list of tools that we used to develop this software.
Many thanks to everybody involved in the development and maintenance
of them:
o ocaml, camlidl by the ocaml INRIA team
o Cudd, a BDD library by Fabio Somenzi
......
......@@ -17,6 +17,9 @@ et je ne suis plus oblig
* Le remplacement dynamique de .luc est tres surement cassé (les current_nodes
ne sont pas mis a jour) -> le retester
* PB ne trouve pas ec2c, etc...
*********** A faire
* Faire une section <<Testing programs that are not lustre or scade programs>>
......@@ -25,10 +28,10 @@ et je ne suis plus oblig
Faire une section <<The RIF conventions>> (en annexe ???)
* Finir le compilo lutin de Yvan
* Mettre Les alias doivent ils etre dans le .rif au meme titre
que les autres variables locales -> une option !
que les autres variables locales -> ajouter une option !
* Ajouter la possibilité de pouvoir rejouer un séquence et de la continuer
......@@ -40,13 +43,9 @@ et je ne suis plus oblig
ou mettre tous les .so dans un repertoire (comme matlab) ???
* plot a besion de gnu-awk ... Je devrais ecrire moi-meme
* plot a besion de gnu-awk ... Je devrais ecrire moi-meme en caml
le programme qui genere le bon format pour gnuplot...
* sim2chro
- le recompiler en statique avec gcc3 et sous solaris
(pour ce faire recompiler librif.a).
* Finir le ocaml-lutin (.mluc)
......@@ -57,6 +56,43 @@ et je ne suis plus oblig
* Rajouter les fonctions, et notamment les fonctions externes
-> comment faire depuis un tel interpreteur ????
-> appeler du caml ? du C ?
* En fait, il faudrait definir un nouveau format lucky basé sur caml
qque chose qui resemblerait à
let i1 = ("toto", Int, 12, ...)
and i2 = ...
in
let il = [i1; i2; ...] in
let f1 = And(Or(.... (sin x)))
and ...
in
let t1 = (n1, n2, f1, Pre(X))
and t2 = ...
in
let tl = [t1; t2; ...] in
let automata = {
inputs = li,
outputs = lo,
...
transitions = tl
}
in
run automata
AVANTAGES :
(1) La syntaxe du format est tres facile à décrire : c'est du caml !!
(2) L'analyse lex, synt, et de type est faite par caml
(3) Ainsi, les appels de fonctions externes, c'est "finger in the nose"
(4) sans parler des librairies
(5) Pour passer de l'ancien format au nouveau, il me suffit
de faire un pretty print de ma structure de donné interne...
INCONVÉNIENTS :
(1) ca oblige les gens à avoir un compilo caml chez eux...
* reporter le contenu de la nouvelle section de d1.1-v2 dans les entetes de modules
......@@ -71,6 +107,8 @@ et je ne suis plus oblig
* Finir le lustre2lucky avec Yussef
*********** A faire aussi (moins urgent (?))
* Portage Reluc
......@@ -87,11 +125,6 @@ et je ne suis plus oblig
tirages selon une loi normale pour les variables a générer.
-> En faire un envt plus realiste
* RIF : Rajouter les pragmas suivants :
-> #locals v* (pour pouvoir les mettre en vert)
-> #lucky_seed
-> #test_failure
* autoconf :
-> tester si gtk est la
......
......@@ -93,7 +93,7 @@ let (readfile: string -> string) =
let (cygpath_w2u : string -> string) =
(* From a windows path to a unix one *)
(* try to convert a windows path to a unix one. Do nothing if it fails *)
fun str0 ->
let str = String.escaped str0 in
try
......@@ -107,7 +107,7 @@ let (cygpath_w2u : string -> string) =
(* print_string ("str_tail_new = " ^ str_tail_new ^ "\n"); *)
("/cygdrive/" ^ str_head ^ str_tail_new)
with _ ->
output_string stderr ("cygpath_w2u " ^ str0 ^ " failed.\n");
(* output_string stderr ("cygpath_w2u " ^ str0 ^ " failed.\n"); *)
str0
type tok = Genlex.token Stream.t
......
;; -*- Prcs -*-
(Created-By-Prcs-Version 1 3 3)
(Project-Description "Lurette")
(Project-Version lurette 1 27)
(Parent-Version lurette 1 26)
(Project-Version lurette 1 28)
(Parent-Version lurette 1 27)
(Version-Log "
Add support for a stdin/stdout pipe based mode in lurette.
Also make sure that the variable order is the same as in the
source .luc file.
source/rif.mli:
source/rif.ml:
New files: move from luc_exe.ml all the stuff that is related
to rif input and output.
source/sut.mli:
source/sut.ml:
source/oracle.mli:
source/oracle.ml:
New files -- code moved from lurette.ml + stuff for handling
the pipe mode.
source/luc_exe.ml:
Add the possibility to launch an oracle from lucky using pipes.
Add #locs pragmas so that sim2chro is able to print local var in green.
")
(New-Version-Log ""
)
(Checkin-Time "Fri, 26 Mar 2004 09:48:21 +0100")
(Checkin-Time "Wed, 21 Apr 2004 09:38:03 +0200")
(Checkin-Login jahier)
(Populate-Ignore ())
(Project-Keywords)
......@@ -40,7 +22,7 @@ source/luc_exe.ml:
;; Sources files for luc_exe
(source/luc_exe.mli (lurette/b/31_ima_exe.ml 1.5 644))
(source/luc_exe.ml (lurette/b/32_ima_exe.ml 1.49 644))
(source/luc_exe.ml (lurette/b/32_ima_exe.ml 1.50 644))
(source/command_line_luc_exe.ml (lurette/b/33_command_li 1.25 644))
(source/command_line_luc_exe.mli (lurette/b/34_command_li 1.16 644))
......@@ -61,7 +43,7 @@ source/luc_exe.ml:
(source/util.ml (lurette/35_util.ml 1.67 644))
(source/formula_to_bdd.ml (lurette/g/34_formula_to 1.8 644))
(source/formula_to_bdd.ml (lurette/g/34_formula_to 1.9 644))
(source/formula_to_bdd.mli (lurette/g/35_formula_to 1.7 644))
(source/fair_bddd.ml (lurette/g/38_fair_bddd. 1.7 644))
......@@ -76,7 +58,7 @@ source/luc_exe.ml:
(source/polyhedron.mli (lurette/d/26_polyhedron 1.10 644))
(source/store.mli (lurette/b/26_rnumsolver 1.26 644))
(source/store.ml (lurette/b/27_rnumsolver 1.40 644))
(source/store.ml (lurette/b/27_rnumsolver 1.41 644))
(source/parse_luc.mli (lurette/40_parse_env. 1.24 644))
(source/parse_luc.ml (lurette/41_parse_env. 1.60 644))
......@@ -87,17 +69,17 @@ source/luc_exe.ml:
(source/print.mli (lurette/46_print.mli 1.15 644))
(source/print.ml (lurette/47_print.ml 1.27 644))
(source/env_state.mli (lurette/50_env_state. 1.40 644))
(source/env_state.ml (lurette/51_env_state. 1.59 644))
(source/env_state.mli (lurette/50_env_state. 1.41 644))
(source/env_state.ml (lurette/51_env_state. 1.60 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/sim2chro.mli (lurette/b/23_sim2chro.m 1.12 644))
(source/sim2chro.ml (lurette/b/24_sim2chro.m 1.26 644))
(source/sim2chro.ml (lurette/b/24_sim2chro.m 1.27 644))
(source/gne.mli (lurette/b/36_gne.mli 1.7 644))
(source/gne.ml (lurette/b/37_gne.ml 1.8 644))
(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.53 644))
......@@ -117,10 +99,10 @@ source/luc_exe.ml:
(source/control.mli (lurette/c/3_control.ml 1.4 644))
(source/control.ml (lurette/c/4_control.ml 1.6 644))
(source/constraint.mli (lurette/c/18_constraint 1.9 644))
(source/constraint.mli (lurette/c/18_constraint 1.10 644))
(source/constraint.ml (lurette/c/19_constraint 1.11 644))
(source/ne.ml (lurette/c/21_ne.ml 1.12 644))
(source/ne.ml (lurette/c/21_ne.ml 1.13 644))
(source/ne.mli (lurette/c/22_ne.mli 1.10 644))
(source/value.ml (lurette/c/23_value.ml 1.9 644))
......@@ -141,7 +123,7 @@ source/luc_exe.ml:
;; Make files
(share/lucky.el (lurette/f/7_lucky.el 1.6 644))
(share/lucky.el (lurette/f/7_lucky.el 1.7 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))
......@@ -160,11 +142,11 @@ source/luc_exe.ml:
(share/pixmaps/chrono.xpm (lurette/f/23_chrono.xpm 1.1 644))
(share/pixmaps/button-close.xpm (lurette/f/24_button-clo 1.1 644))
(share/config.guess (lurette/f/25_config.gue 1.1 755))
(share/configure.in (lurette/d/11_configure. 1.17 644))
(share/configure.in (lurette/d/11_configure. 1.18 644))
(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.59 644))
(user-rules (lurette/c/14_myrules 1.60 644))
(share/Makefile.test.in (lurette/c/25_user-rules 1.13 644))
(Makefile (lurette/d/13_Makefile 1.4 644))
......@@ -184,21 +166,21 @@ source/luc_exe.ml:
(doc/ocamldoc.hva (lurette/b/13_ocamldoc.h 1.1 644))
;; Misc
(README (lurette/10_README 1.14 644))
(README (lurette/10_README 1.15 644))
(ID_EN_VRAC (lurette/0_ID_EN_VRAC 1.1 644))
(INSTALL (lurette/f/26_INSTALL 1.2 744))
(INSTALL (lurette/f/26_INSTALL 1.3 744))
(TAGS (lurette/21_TAGS 1.6 644))
(TODO (lurette/d/22_TODO 1.44 644))
(TODO (lurette/d/22_TODO 1.45 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))
(share/gnuplot-rif (lurette/e/34_gnuplot-ri 1.8 744))
(share/plot (lurette/e/35_plot 1.9 744))
(share/gnuplot-rif (lurette/e/34_gnuplot-ri 1.9 744))
(share/plot (lurette/e/35_plot 1.10 744))
(test/time-rey.exp (lurette/h/13_time-rey.e 1.5 644))
(test/time-rey.exp (lurette/h/13_time-rey.e 1.6 644))
(test/time-rey.res (lurette/h/14_time-rey.r 1.6 644))
(test/time-joly.exp (lurette/b/48_time.exp 1.61 644))
(test/time-joly.res (lurette/b/49_time.res 1.66 644))
(test/time-joly.exp (lurette/b/48_time.exp 1.62 644))
(test/time-joly.res (lurette/b/49_time.res 1.67 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.22 644))
......@@ -224,14 +206,14 @@ source/luc_exe.ml:
(test/test_losange.lus (lurette/f/27_test_losan 1.1 644))
(test/losange-3d2.luc (lurette/e/32_losange-3d 1.6 644))
(test/onlyroll.lus (../demo-xlurette/Gyro/onlyroll.lus) :symlink)
(test/gyro.rif.exp (lurette/e/36_gyro.rif.e 1.11 644))
(test/gyro.rif.exp (lurette/e/36_gyro.rif.e 1.12 644))
(test/giro.luc (../demo-xlurette/Gyro/giro.luc) :symlink)
(test/allocator.lus (../demo-xlurette/Gyro/allocator.lus) :symlink)
(test/heater_int.rif.exp (lurette/b/28_heater_int 1.19 644))
(test/ControleurPorte.rif.exp (lurette/b/29_Controleur 1.24 644))
(test/heater_float.rif.exp (lurette/b/30_heater_flo 1.21 644))
(test/heater_int.rif.exp (lurette/b/28_heater_int 1.20 644))
(test/ControleurPorte.rif.exp (lurette/b/29_Controleur 1.25 644))
(test/heater_float.rif.exp (lurette/b/30_heater_flo 1.22 644))
(test/heater_int.lus (lurette/b/43_heater_int 1.1 644))
(test/heater_float.lus (lurette/b/44_heater_flo 1.2 644))
......@@ -288,20 +270,20 @@ source/luc_exe.ml:
(test/losange.luc (lurette/d/27_losange.lu 1.2 644))
(test/losange-3d.luc (lurette/d/28_losange-3d 1.5 644))
(test/losange-3d.rif.exp (lurette/e/31_losange-3d 1.9 644))
(test/losange-3d.rif.exp (lurette/e/31_losange-3d 1.10 644))
(test/test7.rif.exp (lurette/g/12_test7.rif. 1.7 644))
(test/test7.rif.exp (lurette/g/12_test7.rif. 1.8 644))
(test/infinite_weight.luc (lurette/g/13_infinite_w 1.2 644))
(test/dynamic_weight.luc (lurette/g/14_dynamic_we 1.6 644))
(test/window.luc (lurette/g/15_window.luc 1.1 644))
(test/test10.rif.exp (lurette/g/16_test10.rif 1.6 644))
(test/test9.rif.exp (lurette/g/17_test9.rif. 1.6 644))
(test/test8.rif.exp (lurette/g/18_test8.rif. 1.6 644))
(test/test10.rif.exp (lurette/g/16_test10.rif 1.7 644))
(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.17 644))
(test/Makefile (lurette/c/0_Makefile 1.18 644))
;; xlurette
(ihm/xlurette/xlurette_glade_main.ml (lurette/c/12_xlurette_g 1.38 644))
(ihm/xlurette/xlurette_glade_main.ml (lurette/c/12_xlurette_g 1.39 644))
(ihm/xlurette/xlurette.glade (lurette/c/13_xlurette.g 1.29 644))
(ihm/xlurette/xlurette_glade_interface.ml (lurette/c/15_xlurette_g 1.27 644))
(ihm/xlurette/makefile (lurette/c/16_makefile 1.22 644))
......@@ -484,7 +466,7 @@ source/luc_exe.ml:
;; Files added by populate at Fri, 14 Nov 2003 14:32:53 +0100,
;; to version 1.8(w), by jahier:
(source/var.ml (lurette/g/49_var.ml 1.11 644))
(source/var.ml (lurette/g/49_var.ml 1.12 644))
;; Files added by populate at Fri, 14 Nov 2003 14:32:55 +0100,
;; to version 1.8(w), by jahier:
......@@ -516,12 +498,12 @@ source/luc_exe.ml:
;; Files added by populate at Tue, 06 Jan 2004 15:35:22 +0100,
;; to version 1.15(w), by jahier:
(test/test11.rif.exp (lurette/h/9_test11.rif 1.5 644))
(test/test11.rif.exp (lurette/h/9_test11.rif 1.6 644))
;; Files added by populate at Tue, 06 Jan 2004 15:35:25 +0100,
;; to version 1.15(w), by jahier:
(test/test12.rif.exp (lurette/h/10_test12.rif 1.3 644))
(test/test12.rif.exp (lurette/h/10_test12.rif 1.4 644))
;; Files added by populate at Fri, 09 Jan 2004 09:50:40 +0100,
;; to version 1.18(w), by jahier:
......@@ -563,12 +545,12 @@ source/luc_exe.ml:
;; to version 1.24(w), by jahier:
(test/bj.luc (lurette/h/25_bj.luc 1.1 644))
(test/test13.rif.exp (lurette/h/26_test13.rif 1.2 644))
(test/test13.rif.exp (lurette/h/26_test13.rif 1.3 644))
;; Files added by populate at Tue, 16 Mar 2004 15:20:06 +0100,
;; to version 1.26(w), by jahier:
(source/rif.ml (lurette/h/27_rif.ml 1.1 644))
(source/rif.ml (lurette/h/27_rif.ml 1.2 644))
(source/rif.mli (lurette/h/28_rif.mli 1.1 644))
;; Files added by populate at Wed, 17 Mar 2004 17:20:32 +0100,
......
......@@ -292,8 +292,8 @@ AC_OUTPUT(Makefile.lurette lucky_init.sh lucky.sh lucky.bat lucky_init.csh \
mv $LURETTEPATH/share/Makefile.lurette $LURETTEPATH/$HOST_TYPE/Makefile.lurette
mv $LURETTEPATH/share/lucky_init.sh $LURETTEPATH/$HOST_TYPE/lucky_init.sh
mv $LURETTEPATH/share/lucky_init.csh $LURETTEPATH/$HOST_TYPE/lucky_init.csh
# mv $LURETTEPATH/share/lucky_init.sh $LURETTEPATH/$HOST_TYPE/lucky_init.sh
# mv $LURETTEPATH/share/lucky_init.csh $LURETTEPATH/$HOST_TYPE/lucky_init.csh
case "$HOST_TYPE" in
cygwin)
......
......@@ -29,7 +29,7 @@ if test -f $FILE ;
# echo "#@set data style steps" > $FILE.gp
sed $FILE -e 's/:bool/ | /g' \
cat $FILE | sed -e 's/:bool/ | /g' \
-e 's/:int/ | /g' \
-e 's/:real/ | /g' \
-e 's/#step/#/g' \
......@@ -42,6 +42,8 @@ if test -f $FILE ;
-e 's/#outputs//' \
-e 's/#@locals//' \
-e 's/#outs/ /' \
-e 's/#locals/ /' \
-e 's/#locs/ /' \
-e 's/bye!//' \
| tr '\n' ' '\
| sed -e s/' t '/' 1 '/g \
......
This diff is collapsed.
#!/bin/sh
# $Id: plot 1.9 Mon, 08 Mar 2004 13:46:15 +0100 jahier $
# $Id: plot 1.10 Wed, 21 Apr 2004 09:38:03 +0200 jahier $
#
# pl: general wrapper script for plotting with gnuplot from shell cmdline
#
......@@ -71,7 +71,6 @@ if [ -f $CODE ]; then rm $CODE; fi
cat > $CODE << EOT
# defaults
set data style linespoints
set grid
set pointsize 0.1
set mouse
EOT
......@@ -263,11 +262,11 @@ FILENO=1
for i
do
# generate .nnn suffix
# IRIX printf(1) is useless for anything but %s; thus use awk
FILENNN=`awk 'BEGIN{printf "%03d", '$FILENO'; exit}'`
# IRIX printf(1) is useless for anything but %s; thus use gawk
FILENNN=`gawk 'BEGIN{printf "%03d", '$FILENO'; exit}'`
echo "# file: $i - $FILENO of $#" > $DIR/$DATA.$FILENNN # used for key
awk "$AWKDATA" $i | $COLUMN_OPERATOR >> $DIR/$DATA.$FILENNN || {
gawk "$AWKDATA" $i | $COLUMN_OPERATOR >> $DIR/$DATA.$FILENNN || {
echo skipping $i\; 1>&2 ; continue;
}
FILENO=`expr $FILENO + 1`
......@@ -293,7 +292,7 @@ do
case "$USING1" in
'') # no -using given; plot all columns (traditional)
COLPLOT=`awk '
COLPLOT=`gawk '
BEGIN { DATANAME="'$i'" }
#NR==1 { FNAME="'\''" $3 "'\''" } # put '' around file name in key
......@@ -338,7 +337,7 @@ do
' $i` # end COLPLOT=``
;;
*) # -using was set; apply all(?) using-specs on each file
FNAME=`awk 'NR==1 {print $3; exit;}' $i`
FNAME=`gawk 'NR==1 {print $3; exit;}' $i`
COLPLOT=" '$i' us $USING1 ti '$FNAME $USING1'"
;;
esac # on $USING1
......
(*-----------------------------------------------------------------------
** Copyright (C) 2002 - Verimag.
** Copyright (C) - Verimag.
** This file may only be copied under the terms of the GNU Library General
** Public License
**-----------------------------------------------------------------------
......
......@@ -458,6 +458,13 @@ let (is_node_transient : Parse_luc.node -> t -> bool) =
assert false
let (print_mem : t -> unit) =
fun s ->
print_string "*** memories:\n";
Var.print_subst_list s.d.memory stdout;
flush stdout
(****************************************************************************)
(****************************************************************************)
......
......@@ -66,3 +66,6 @@ val is_node_transient : Parse_luc.node -> t -> bool
(** outputs various statistic about the size of env_state tables *)
(* val dump_env_state_stat : out_channel -> unit *)
val print_mem : t -> unit
......@@ -177,8 +177,9 @@ let (set_bdd_global : Exp.formula -> Bdd.t -> unit) =
(* exported *)
let (linear_constraint_to_index : Constraint.t -> bool -> int) =
fun f depend_on_input ->
if
fun f depend_on_input ->
let i =
if
depend_on_input
then
(
......@@ -198,6 +199,10 @@ let (linear_constraint_to_index : Constraint.t -> bool -> int) =
Hashtbl.add global_i2lc_tbl index f;
index
)
in
(* print_string ((Constraint.to_string f) ^ " -> " ^ (string_of_int i) ^ "\n"); *)
(* flush stdout; *)
i
(* exported *)
......@@ -465,12 +470,12 @@ and
| Some(N(F(f))) ->
print_string "\n*** Type error.\n*** ";
print_string ((string_of_float f)
^ "is a float, but an int is expected.\n");
^ " is a float, but an int is expected.\n");
exit 1
| Some(B(f)) ->
print_string "\n*** Type error.\n*** ";
print_string ((string_of_bool f)
^ "is a bool, but an int is expected.\n");
^ " is a bool, but an int is expected.\n");
exit 1
)
......@@ -503,12 +508,12 @@ and