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 b425173e authored by Erwan Jahier's avatar Erwan Jahier
Browse files

lurette 0.60 Mon, 29 Apr 2002 10:16:48 +0200 by jahier

Parent-Version:      0.59
Version-Log:

Add an make release rule to package a lurette.tgz ready to distribute.

Create a bin dir where all the biniries (except lurette) will live.

Create a show_ima executable that lets one (Yvan actually) display
.env (or .ima) files off-line.

Move read_env_state from env.ml to env_state.ml.

Add support for lutin loops in the parser (not yet handled tough).

In gen_stubs.ml, try to automatically call lustre whenever no C poc
file exists for the invoked program.

Project-Description: Lurette
parent 74c46a98
......@@ -4,19 +4,21 @@
(test/usager.env 523 1019479246 b/14_usager.env 1.7)
(source/command_line_ima_exe.mli 989 1016127950 b/34_command_li 1.1)
(doc/ocamldoc.sty 1380 1008328137 b/12_ocamldoc.s 1.1)
(source/env_state.ml 9471 1017750312 51_env_state. 1.16)
(source/env_state.ml 12846 1020068208 51_env_state. 1.17)
(source/graph.ml 1819 1016011748 14_graph.ml 1.5)
(bin/Makefile.ima_exe 1926 1020068208 b/41_Makefile.i 1.1)
(source/util.ml 11635 1017837703 35_util.ml 1.17)
(source/wtree.ml 8518 1016011748 b/1_wtree.ml 1.9)
(source/wtree.ml 8580 1020068208 b/1_wtree.ml 1.10)
(source/solver.ml 24560 1017837703 39_solver.ml 1.21)
(test/test_gen_stubs.h 1818 1020068208 b/45_test_gen_s 1.1)
(source/command_line.ml 4388 1019207707 b/20_command_li 1.7)
(source/lurette.ml 11547 1017929190 12_lurette.ml 1.34)
(source/lurette.ml 11553 1020068208 12_lurette.ml 1.35)
(source/solver.mli 1135 1016803757 38_solver.mli 1.10)
(source/env.mli 2593 1017396284 15_env.mli 1.11)
(source/env.mli 1893 1020068208 15_env.mli 1.12)
(test/heater_float.rif.exp 1461 1015514807 b/30_heater_flo 1.2)
(lurette.depfull.dot 49 1007651448 b/5_lurette.de 1.2)
(source/env.ml 10895 1017750312 16_env.ml 1.23)
(make_lurette 1250 1019207707 27_make_luret 1.10)
(source/env.ml 7408 1020068208 16_env.ml 1.24)
(make_lurette 1239 1020068208 27_make_luret 1.11)
(test/vrai_tram.lus 453 1007379917 b/6_vrai_tram. 1.1)
(lurette.dep.dot 49 1007651448 b/4_lurette.de 1.2)
(test/passerelle.env 1105 1019479246 b/17_passerelle 1.6)
......@@ -25,47 +27,46 @@
(ID_EN_VRAC 2184 1002196285 0_ID_EN_VRAC 1.1)
(source/parse_env.mli 907 1016127950 40_parse_env. 1.6)
(source/sim2chro.mli 1429 1017929190 b/23_sim2chro.m 1.4)
(source/ima_exe.ml 7206 1017750312 b/32_ima_exe.ml 1.4)
(source/ima_exe.ml 7212 1020068208 b/32_ima_exe.ml 1.5)
(doc/automata_format 0 1007379917 b/3_automata_f 1.1)
(source/eval.ml 7749 1016803757 49_eval.ml 1.12)
(source/gen_stubs.ml 35799 1019207707 24_generate_l 1.22)
(source/parse_env.ml 18273 1019479246 41_parse_env. 1.16)
(interface/TAGS 1956 1007380262 26_TAGS 1.3)
(source/gen_stubs.ml 36911 1020068208 24_generate_l 1.23)
(source/parse_env.ml 18408 1020068208 41_parse_env. 1.17)
(doc/ocamldoc.hva 313 1008328137 b/13_ocamldoc.h 1.1)
(source/sim2chro.ml 2680 1017929190 b/24_sim2chro.m 1.7)
(doc/Interface_draft 5232 1003928781 19_Interface_ 1.1)
(source/formula.mli 3402 1017837703 44_formula.ml 1.10)
(source/formula.mli 3498 1020068208 44_formula.ml 1.11)
(TAGS 9825 1007379917 21_TAGS 1.6)
(test/Makefile_ima_exe 163 1019207707 b/35_Makefile_i 1.4)
(source/command_line.mli 1421 1017929190 b/21_command_li 1.6)
(source/wtree.mli 2340 1016011748 b/0_wtree.mli 1.7)
(source/wtree.mli 2321 1020068208 b/0_wtree.mli 1.8)
(test/porte.env 1130 1019479246 b/16_porte.env 1.6)
(source/env_state.mli 5168 1017750312 50_env_state. 1.15)
(source/env_state.mli 5868 1020068208 50_env_state. 1.16)
(source/rnumsolver.mli 1764 1017335442 b/26_rnumsolver 1.3)
(source/ima_exe.mli 447 1016127950 b/31_ima_exe.ml 1.1)
(source/eval.mli 1389 1016803757 48_eval.mli 1.9)
(README 74 1011881677 10_README 1.2)
(test/ControleurPorte.c 9407 1012914629 b/19_Controleur 1.1)
(OcamlMakefile 19151 1019207707 17_OcamlMakef 1.26)
(OcamlMakefile 22160 1020068208 17_OcamlMakef 1.27)
(source/command_line_ima_exe.ml 2400 1016803757 b/33_command_li 1.2)
(test/ControleurPorte.rif.exp 4746 1016803757 b/29_Controleur 1.4)
(test/tram.env 1149 1019479246 b/15_tram.env 1.6)
(Makefile.lurette 1848 1019207707 b/38_Makefile.l 1.1)
(source/show_env.ml 2971 1017750312 43_show_env.m 1.4)
(Makefile.lurette 1848 1020068208 b/38_Makefile.l 1.2)
(source/show_env.ml 2970 1020068208 43_show_env.m 1.5)
(source/gne.mli 1107 1016803757 b/36_gne.mli 1.1)
(bin/Makefile.gen_stubs 467 1020068208 b/42_Makefile.g 1.1)
(doc/synthese 2556 1007379917 b/2_synthese 1.1)
(Makefile.ima_exe 1658 1019207707 b/39_Makefile.i 1.1)
(test/ControleurPorte.h 2306 1012914629 b/18_Controleur 1.1)
(interface/Makefile 221 1019207707 25_Makefile 1.7)
(source/show_env.mli 765 1015250295 42_show_env.m 1.5)
(test/Makefile 164 1019207707 18_Makefile 1.29)
(source/gne.ml 8204 1016803757 b/37_gne.ml 1.1)
(test/tram_simple.h 1746 1013519411 b/25_tram_simpl 1.1)
(test/heater_float.lus 175 1020068208 b/44_heater_flo 1.1)
(test/vrai_tram.c 3060 1012914629 b/8_vrai_tram. 1.2)
(source/print.mli 789 1016803757 46_print.mli 1.8)
(test/heater_int.lus 170 1020068208 b/43_heater_int 1.1)
(source/graph.mli 1493 1015250295 13_graph.mli 1.6)
(test/heater_int.rif.exp 858 1017837703 b/28_heater_int 1.2)
(source/formula.ml 6652 1016803757 45_formula.ml 1.11)
(source/formula.ml 6982 1020068208 45_formula.ml 1.12)
(source/lurette.mli 448 1016027474 11_lurette.ml 1.12)
(source/print.ml 6298 1016803757 47_print.ml 1.13)
(source/print.ml 6368 1020068208 47_print.ml 1.14)
(test/vrai_tram.h 2468 1012914629 b/7_vrai_tram. 1.2)
(bin/Makefile.show_ima 1321 1020068208 b/40_Makefile.s 1.1)
......@@ -30,11 +30,11 @@ SOURCES_OCAML = \
$(LURETTE_PATH)/source/formula.mli $(LURETTE_PATH)/source/formula.ml \
$(LURETTE_PATH)/source/gne.mli $(LURETTE_PATH)/source/gne.ml \
$(LURETTE_PATH)/source/parse_env.mli $(LURETTE_PATH)/source/parse_env.ml \
$(LURETTE_PATH)/source/wtree.mli $(LURETTE_PATH)/source/wtree.ml \
$(LURETTE_PATH)/source/env_state.mli $(LURETTE_PATH)/source/env_state.ml \
$(LURETTE_PATH)/source/rnumsolver.mli $(LURETTE_PATH)/source/rnumsolver.ml \
$(LURETTE_PATH)/source/print.mli $(LURETTE_PATH)/source/print.ml \
$(LURETTE_PATH)/source/solver.mli $(LURETTE_PATH)/source/solver.ml \
$(LURETTE_PATH)/source/wtree.mli $(LURETTE_PATH)/source/wtree.ml \
$(LURETTE_PATH)/source/show_env.mli $(LURETTE_PATH)/source/show_env.ml \
$(LURETTE_PATH)/source/sim2chro.mli $(LURETTE_PATH)/source/sim2chro.ml \
$(LURETTE_PATH)/source/env.mli $(LURETTE_PATH)/source/env.ml \
......
......@@ -5,7 +5,7 @@
# For updates see:
# http://miss.wu-wien.ac.at/~mottl/ocaml_sources
#
# $Id: OcamlMakefile 1.26 Fri, 19 Apr 2002 11:15:07 +0200 jahier $
# $Id: OcamlMakefile 1.27 Mon, 29 Apr 2002 10:16:48 +0200 jahier $
#
###########################################################################
# Set these variables to the names of the sources to be processed and
......@@ -491,8 +491,6 @@ dot:
dot -Tps $(RESULT).dep.dot > $(RESULT).dep.ps ; \
cp $(RESULT).dep.ps ../doc ; cp $(RESULT).depfull.ps ../doc ; popd
install:
pushd ../interface ; make; popd ; ../make_lurette ControleurPorte vrai_tram dc
try:
../make_lurette ControleurPorte vrai_tram; \
......@@ -574,6 +572,56 @@ docman:
-keep-code -I ../source/ $(SOURCES_OCAML) \
../source/gen_stubs.ml
install:
pushd bin; \
make -f Makefile.gen_stubs ;\
make -f Makefile.show_ima ;\
make -f Makefile.ima_exe ; popd
release:
rm -rf lurette-release ; \
mkdir lurette-release/ ; mkdir lurette-release/bin ; \
mkdir lurette-release/source ; mkdir lurette-release/test ; \
cp $(LURETTE_PATH)/source/util.ml $(LURETTE_PATH)/source/gen_stubs.ml \
$(LURETTE_PATH)/source/show_ima.ml \
$(LURETTE_PATH)/source/graph.mli $(LURETTE_PATH)/source/graph.ml \
$(LURETTE_PATH)/source/ima_exe.mli $(LURETTE_PATH)/source/ima_exe.ml \
$(LURETTE_PATH)/source/command_line_ima_exe.mli $(LURETTE_PATH)/source/command_line_ima_exe.ml \
$(LURETTE_PATH)/source/command_line.mli $(LURETTE_PATH)/source/command_line.ml \
$(LURETTE_PATH)/source/formula.mli $(LURETTE_PATH)/source/formula.ml \
$(LURETTE_PATH)/source/gne.mli $(LURETTE_PATH)/source/gne.ml \
$(LURETTE_PATH)/source/parse_env.mli $(LURETTE_PATH)/source/parse_env.ml \
$(LURETTE_PATH)/source/env_state.mli $(LURETTE_PATH)/source/env_state.ml \
$(LURETTE_PATH)/source/rnumsolver.mli $(LURETTE_PATH)/source/rnumsolver.ml \
$(LURETTE_PATH)/source/print.mli $(LURETTE_PATH)/source/print.ml \
$(LURETTE_PATH)/source/solver.mli $(LURETTE_PATH)/source/solver.ml \
$(LURETTE_PATH)/source/wtree.mli $(LURETTE_PATH)/source/wtree.ml \
$(LURETTE_PATH)/source/show_env.mli $(LURETTE_PATH)/source/show_env.ml \
$(LURETTE_PATH)/source/sim2chro.mli $(LURETTE_PATH)/source/sim2chro.ml \
$(LURETTE_PATH)/source/env.mli $(LURETTE_PATH)/source/env.ml \
$(LURETTE_PATH)/source/lurette.mli $(LURETTE_PATH)/source/lurette.ml lurette-release/source/ ;\
cp $(LURETTE_PATH)/OcamlMakefile lurette-release/ ;\
cp $(LURETTE_PATH)/Makefile lurette-release/ ;\
cp $(LURETTE_PATH)/test/usager.env lurette-release/test/;\
cp $(LURETTE_PATH)/test/temp_int.env lurette-release/test/;\
cp $(LURETTE_PATH)/test/temp_float.env lurette-release/test/;\
cp $(LURETTE_PATH)/test/tram.env lurette-release/test/;\
cp $(LURETTE_PATH)/test/porte.env lurette-release/test/;\
cp $(LURETTE_PATH)/test/passerelle.env lurette-release/test/;\
cp $(LURETTE_PATH)/test/heater_int.lus lurette-release/test/;\
cp $(LURETTE_PATH)/test/heater_float.lus lurette-release/test/;\
cp $(LURETTE_PATH)/test/ControleurPorte.ec lurette-release/test/;\
cp $(LURETTE_PATH)/test/heater_int.rif.exp lurette-release/test/;\
cp $(LURETTE_PATH)/test/heater_float.rif.exp lurette-release/test/;\
cp $(LURETTE_PATH)/test/ControleurPorte.rif.exp lurette-release/test/;\
cp $(LURETTE_PATH)/test/Makefile lurette-release/test/;\
cp $(LURETTE_PATH)/test/test_gen_stubs.h lurette-release/test/;\
cp $(LURETTE_PATH)/make_lurette lurette-release/ ;\
cp $(LURETTE_PATH)/Makefile.lurette lurette-release/ ;\
cp $(LURETTE_PATH)/bin/Makefile.show_ima lurette-release/bin/ ;\
cp $(LURETTE_PATH)/bin/Makefile.gen_stubs lurette-release/bin/ ;\
cp $(LURETTE_PATH)/bin/Makefile.ima_exe lurette-release/bin/ ;\
tar cvfz lurette.tgz lurette-release/*
###########################################################################
# LOW LEVEL RULES
......
LURETTE_PATH = /home/jahier/lurette
OCAMLMAKEFILE = $(LURETTE_PATH)/OcamlMakefile
LURETTE_PATH = ..
export LURETTE_PATH
#######################################################################
# Ougth to be generated by autoconf!
INCDIRS = /home/jahier/include
LIBDIRS = /home/jahier/lib
#######################################################################
OCAMLMAKEFILE = $(LURETTE_PATH)/OcamlMakefile
SOURCES = $(LURETTE_PATH)/source/util.ml $(LURETTE_PATH)/source/gen_stubs.ml
RESULT = gen_stubs
LIBS = str
-include $(OCAMLMAKEFILE)
......@@ -2,10 +2,18 @@
# Makefile for ima_exe based on OcamlMakefile
#
LURETTE_PATH = ..
export LURETTE_PATH
OCAMLMAKEFILE = $(LURETTE_PATH)/OcamlMakefile
#######################################################################
# Ougth to be generated by autoconf!
INCDIRS = /home/jahier/include
LIBDIRS = /home/jahier/lib
#######################################################################
OCAMLMAKEFILE = ../OcamlMakefile
OCAMLNCFLAGS = -inline 10
ifndef OCAMLFLAGS
OCAMLFLAGS := -noassert -unsafe
......@@ -17,7 +25,6 @@ CLIBS = cudd_caml cuddaux cudd camlidl mtr st epd util # libppl libpolyi
USE_CAMLP4 = yes
SOURCES_OCAML = \
$(LURETTE_PATH)/source/util.ml \
$(LURETTE_PATH)/source/graph.mli $(LURETTE_PATH)/source/graph.ml \
......@@ -25,11 +32,11 @@ SOURCES_OCAML = \
$(LURETTE_PATH)/source/formula.mli $(LURETTE_PATH)/source/formula.ml \
$(LURETTE_PATH)/source/gne.mli $(LURETTE_PATH)/source/gne.ml \
$(LURETTE_PATH)/source/parse_env.mli $(LURETTE_PATH)/source/parse_env.ml \
$(LURETTE_PATH)/source/wtree.mli $(LURETTE_PATH)/source/wtree.ml \
$(LURETTE_PATH)/source/env_state.mli $(LURETTE_PATH)/source/env_state.ml \
$(LURETTE_PATH)/source/rnumsolver.mli $(LURETTE_PATH)/source/rnumsolver.ml \
$(LURETTE_PATH)/source/print.mli $(LURETTE_PATH)/source/print.ml \
$(LURETTE_PATH)/source/solver.mli $(LURETTE_PATH)/source/solver.ml \
$(LURETTE_PATH)/source/wtree.mli $(LURETTE_PATH)/source/wtree.ml \
$(LURETTE_PATH)/source/show_env.mli $(LURETTE_PATH)/source/show_env.ml \
$(LURETTE_PATH)/source/sim2chro.mli $(LURETTE_PATH)/source/sim2chro.ml \
$(LURETTE_PATH)/source/env.mli $(LURETTE_PATH)/source/env.ml \
......@@ -42,3 +49,5 @@ SOURCES = $(SOURCES_C) \
RESULT = ima_exe
-include $(OCAMLMAKEFILE)
# Make file for show_ima (display .env files with dot)
LURETTE_PATH = ..
export LURETTE_PATH
######################################################################
# Ougth to be generated by autoconf!
INCDIRS = /home/jahier/include
LIBDIRS = /home/jahier/lib
######################################################################
OCAMLMAKEFILE = $(LURETTE_PATH)/OcamlMakefile
OCAMLNCFLAGS = -inline 10
# XXX Not all of these are used actually. I should slice it more accurately!
LIBS = str
CLIBS = cudd_caml cuddaux cudd camlidl mtr st epd util
USE_CAMLP4 = yes
# XXX Not all of these are used actually. I should slice it more accurately!
SOURCES_OCAML = \
$(LURETTE_PATH)/source/util.ml \
$(LURETTE_PATH)/source/graph.mli $(LURETTE_PATH)/source/graph.ml \
$(LURETTE_PATH)/source/formula.mli $(LURETTE_PATH)/source/formula.ml \
$(LURETTE_PATH)/source/parse_env.mli $(LURETTE_PATH)/source/parse_env.ml \
$(LURETTE_PATH)/source/wtree.mli $(LURETTE_PATH)/source/wtree.ml \
$(LURETTE_PATH)/source/env_state.mli $(LURETTE_PATH)/source/env_state.ml \
$(LURETTE_PATH)/source/show_env.mli $(LURETTE_PATH)/source/show_env.ml \
$(LURETTE_PATH)/source/show_ima.ml
SOURCES = $(SOURCES_OCAML)
RESULT = show_ima
-include $(OCAMLMAKEFILE)
/home/jahier/lurette/source/util.ml,388
Util1,0
let rec (rmrm2,1
let rec (list_is_includedlist_is_included11,218
let (list_are_equalslist_are_equals24,536
let (readfilereadfile32,754
let rec (list_map3list_map349,1266
let rec (list_map4list_map459,1617
let (sort_list_string_pairsort_list_string_pair72,2079
let rec (mergemerge80,2308
let rec (unfoldunfold96,2704
let rec (call_n_timescall_n_times108,2982
/home/jahier/lurette/source/gen_stubs.ml,1478
Gen_stubs1,0
type filefile39,1518
type module_namemodule_name40,1537
type var_namevar_name42,1564
type c_typec_type43,1587
type ml_typeml_type44,1608
type fresh_var_namefresh_var_name45,1630
type vn_ctvn_ct47,1660
type vn_ct_mlt_fvnvn_ct_mlt_fvn48,1691
let reg_typedefreg_typedef63,2165
let reg_blankreg_blank64,2206
let reg_semicolreg_semicol65,2238
type aliasalias67,2273
(get_typedef_aliasget_typedef_alias70,2312
(find_typedef_listfind_typedef_list80,2614
(find_next_typedeffind_next_typedef87,2844
let reg_MODreg_MOD108,3776
let reg_INreg_IN109,3815
let reg_OUTreg_OUT110,3849
let reg_crreg_cr111,3885
let rec (get_vn_and_ct_listget_vn_and_ct_list113,3916
(find_module_namefind_module_name148,5328
(find_var_listfind_var_list168,6306
let (replace_ct_by_their_aliasreplace_ct_by_their_alias202,7758
type resres215,8243
type res = OkOk215,8243
type res = Ok | ErrorError215,8243
let (check_var_typecheck_var_type217,8276
let (generate_stub_cgenerate_stub_c263,9600
type sut_or_oraclesut_or_oracle361,12493
let (generate_idlgenerate_idl363,12522
let rec (generate_n_var_namesgenerate_n_var_names422,14137
let (get_ml_type2get_ml_type2437,14556
let (get_ml_typeget_ml_type516,17261
let (generate_lurette_stub_filegenerate_lurette_stub_file544,18310
let (replace_bool_representationreplace_bool_representation847,28535
let main2main2856,28796
let usageusage911,31042
let (mainmain916,31247
;; -*- Prcs -*-
(Created-By-Prcs-Version 1 3 3)
(Project-Description "Lurette")
(Project-Version lurette 0 59)
(Parent-Version lurette 0 58)
(Project-Version lurette 0 60)
(Parent-Version lurette 0 59)
(Version-Log "
Change the env parser so that :
1) lists can end with a semi-column
2) We can deal with dynamic weigths (for loops). The support
for handling them is not written yet tough.
Add an make release rule to package a lurette.tgz ready to distribute.
Create a bin dir where all the biniries (except lurette) will live.
Create a show_ima executable that lets one (Yvan actually) display
.env (or .ima) files off-line.
Move read_env_state from env.ml to env_state.ml.
Add support for lutin loops in the parser (not yet handled tough).
In gen_stubs.ml, try to automatically call lustre whenever no C poc
file exists for the invoked program.
")
(New-Version-Log "")
(Checkin-Time "Mon, 22 Apr 2002 14:40:46 +0200")
(Checkin-Time "Mon, 29 Apr 2002 10:16:48 +0200")
(Checkin-Login jahier)
(Populate-Ignore ())
(Project-Keywords)
......@@ -23,14 +32,14 @@ for handling them is not written yet tough.
;; Sources files for ima_exe
(source/ima_exe.mli (lurette/b/31_ima_exe.ml 1.1 644))
(source/ima_exe.ml (lurette/b/32_ima_exe.ml 1.4 644))
(source/ima_exe.ml (lurette/b/32_ima_exe.ml 1.5 644))
(source/command_line_ima_exe.ml (lurette/b/33_command_li 1.2 644))
(source/command_line_ima_exe.mli (lurette/b/34_command_li 1.1 644))
;; Sources files for lurette only
(source/lurette.mli (lurette/11_lurette.ml 1.12 644))
(source/lurette.ml (lurette/12_lurette.ml 1.34 644))
(source/lurette.ml (lurette/12_lurette.ml 1.35 644))
(source/command_line.ml (lurette/b/20_command_li 1.7 644))
(source/command_line.mli (lurette/b/21_command_li 1.6 644))
......@@ -39,8 +48,8 @@ for handling them is not written yet tough.
(source/graph.mli (lurette/13_graph.mli 1.6 644))
(source/graph.ml (lurette/14_graph.ml 1.5 644))
(source/env.mli (lurette/15_env.mli 1.11 644))
(source/env.ml (lurette/16_env.ml 1.23 644))
(source/env.mli (lurette/15_env.mli 1.12 644))
(source/env.ml (lurette/16_env.ml 1.24 644))
(source/util.ml (lurette/35_util.ml 1.17 644))
......@@ -51,25 +60,25 @@ for handling them is not written yet tough.
(source/rnumsolver.ml (lurette/b/27_rnumsolver 1.6 644))
(source/parse_env.mli (lurette/40_parse_env. 1.6 644))
(source/parse_env.ml (lurette/41_parse_env. 1.16 644))
(source/parse_env.ml (lurette/41_parse_env. 1.17 644))
(source/show_env.mli (lurette/42_show_env.m 1.5 644))
(source/show_env.ml (lurette/43_show_env.m 1.4 644))
(source/show_env.ml (lurette/43_show_env.m 1.5 644))
(source/formula.mli (lurette/44_formula.ml 1.10 644))
(source/formula.ml (lurette/45_formula.ml 1.11 644))
(source/formula.mli (lurette/44_formula.ml 1.11 644))
(source/formula.ml (lurette/45_formula.ml 1.12 644))
(source/print.mli (lurette/46_print.mli 1.8 644))
(source/print.ml (lurette/47_print.ml 1.13 644))
(source/print.ml (lurette/47_print.ml 1.14 644))
(source/eval.mli (lurette/48_eval.mli 1.9 644))
(source/eval.ml (lurette/49_eval.ml 1.12 644))
(source/env_state.mli (lurette/50_env_state. 1.15 644))
(source/env_state.ml (lurette/51_env_state. 1.16 644))
(source/env_state.mli (lurette/50_env_state. 1.16 644))
(source/env_state.ml (lurette/51_env_state. 1.17 644))
(source/wtree.mli (lurette/b/0_wtree.mli 1.7 644))
(source/wtree.ml (lurette/b/1_wtree.ml 1.9 644))
(source/wtree.mli (lurette/b/0_wtree.mli 1.8 644))
(source/wtree.ml (lurette/b/1_wtree.ml 1.10 644))
(source/sim2chro.mli (lurette/b/23_sim2chro.m 1.4 644))
(source/sim2chro.ml (lurette/b/24_sim2chro.m 1.7 644))
......@@ -77,20 +86,18 @@ for handling them is not written yet tough.
(source/gne.mli (lurette/b/36_gne.mli 1.1 644))
(source/gne.ml (lurette/b/37_gne.ml 1.1 644))
(source/gen_stubs.ml (lurette/24_generate_l 1.22 644))
(source/gen_stubs.ml (lurette/24_generate_l 1.23 644))
; little script that sets env vars and starts the lurette build
(make_lurette (lurette/27_make_luret 1.10 744))
(make_lurette (lurette/27_make_luret 1.11 744))
;; Make files
(OcamlMakefile (lurette/17_OcamlMakef 1.26 644))
(Makefile.lurette (lurette/b/38_Makefile.l 1.1 644))
(Makefile.ima_exe (lurette/b/39_Makefile.i 1.1 644))
(test/Makefile (lurette/18_Makefile 1.29 644))
(interface/Makefile (lurette/25_Makefile 1.7 644))
(test/Makefile_ima_exe (lurette/b/35_Makefile_i 1.4 644))
(OcamlMakefile (lurette/17_OcamlMakef 1.27 644))
(Makefile.lurette (lurette/b/38_Makefile.l 1.2 644))
(bin/Makefile.show_ima (lurette/b/40_Makefile.s 1.1 644))
(bin/Makefile.ima_exe (lurette/b/41_Makefile.i 1.1 644))
(bin/Makefile.gen_stubs (lurette/b/42_Makefile.g 1.1 644))
;; Documentation
(doc/Interface_draft (lurette/19_Interface_ 1.1 644))
......@@ -106,10 +113,8 @@ for handling them is not written yet tough.
(lurette.dep.dot (lurette/b/4_lurette.de 1.2 644))
(lurette.depfull.dot (lurette/b/5_lurette.de 1.2 644))
(TAGS (lurette/21_TAGS 1.6 644))
(interface/TAGS (lurette/26_TAGS 1.3 644))
;; Various files used for testing purposes
(test/usager.env (lurette/b/14_usager.env 1.7 644))
(test/tram.env (lurette/b/15_tram.env 1.6 644))
(test/porte.env (lurette/b/16_porte.env 1.6 644))
......@@ -126,8 +131,9 @@ for handling them is not written yet tough.
(test/heater_int.rif.exp (lurette/b/28_heater_int 1.2 644))
(test/ControleurPorte.rif.exp (lurette/b/29_Controleur 1.4 644))
(test/heater_float.rif.exp (lurette/b/30_heater_flo 1.2 644))
(test/heater_int.lus (lurette/b/43_heater_int 1.1 644))
(test/heater_float.lus (lurette/b/44_heater_flo 1.1 644))
(test/test_gen_stubs.h (lurette/b/45_test_gen_s 1.1 644))
)
(Merge-Parents)
......
......@@ -17,7 +17,7 @@ lurette Makefile.
"
LURETTE_PATH=/home/jahier/lurette
LURETTE_PATH=/home/jahier/lurette/
export LURETTE_PATH
case $# in
......@@ -35,7 +35,7 @@ case $# in
export ORACLE
echo "... Generates the stub files (gen_stubs $1)"
$LURETTE_PATH/interface/gen_stubs $1
$LURETTE_PATH/bin/gen_stubs $1
echo "... make"
shift 1
......@@ -49,7 +49,7 @@ case $# in
export ORACLE
echo "... Generates the stub files (gen_stubs $1 $2)"
$LURETTE_PATH/interface/gen_stubs $1 $2
$LURETTE_PATH/bin/gen_stubs $1 $2
echo "... make"
......
......@@ -16,106 +16,6 @@ open Solver
open Formula
(****************************************************************************)
(****************************************************************************)
let rec (add_missing_pre: string list -> string list) =
(* Even if the automata contains "_pre3toto", we need to store
"_pre2toto", and "_pre1toto". Thefore we add them here to the
list of pre vars declared in the automata thanks to this
function. *)
fun vnl ->
List.fold_left (add_missing_pre_acc) [] vnl
and
(add_missing_pre_acc: string list -> string -> string list) =
fun acc pren_vn ->
let (n, vn) = Util.split_pre_var_string pren_vn in
let rec (build_list_pre : string list -> int -> string -> string list) =
fun acc i str ->
let prei_str = ("_pre" ^ (string_of_int i) ^ str) in
if i = 1
then prei_str::acc
else build_list_pre (prei_str::acc) (i-1) str
in
Util.merge (build_list_pre [] n vn) acc
let _ = assert ( (add_missing_pre ["_pre3toto"; "_pre2titi"; "_pre2toto"])
= ["_pre2titi"; "_pre1titi"; "_pre3toto"; "_pre2toto"; "_pre1toto"] )
(** Returns the initial node of the automata defined in
[file]. Also updates the various fields of [env_state] with the
content of [file]. *)
let (read_env_state_one_file : string -> node) =
fun file ->
let
(* Parses the content of [file]. *)
Parse_env.Automata(init_node, list_in, list_out, list_loc,
list_pre, list_arcs) =
try
Parse_env.parse_automata(
Parse_env.lexer(Stream.of_channel (open_in file)))
with e ->
print_string ("*** Error while parsing the environment file " ^ file ^ "\n");
flush stdout;
raise e
in
let (list_pre_vn0, _) = List.split list_pre in
let list_pre_vn = add_missing_pre list_pre_vn0 in
(* Sets the [graph] field of [env_state]. *)
let node_nb = (List.length (Graph.get_all_nodes (Env_state.graph ()))) in
let (add_arc: Parse_env.read_arc -> unit) =
fun arc ->
match arc with
Parse_env.Arc(node_from, arc_info, node_to) ->
(Graph.add_trans
(-)
(Env_state.graph ())
(node_from+node_nb)
arc_info
(node_to+node_nb));
in
List.iter (add_arc) list_arcs ;
(* Checks that there is no hole in the node numbers (which
would mean that the node number is not equal to the biggest node) *)
let new_node_nb = (List.length (Graph.get_all_nodes (Env_state.graph ()))) in
if (for_all
(fun arc ->
match arc with
Parse_env.Arc(node_from, arc_info, node_to) ->
( node_from >= new_node_nb ) || (node_to >= new_node_nb)
)
list_arcs)
then failwith "*** Bad env format. Node numbers should be contiguous.\n";
(* Sets the [node_to_file_name] field of [env_state]. *)
List.iter
(fun node -> Env_state.set_file_name (node+node_nb) file)
(Graph.get_all_nodes (Env_state.graph ()));
(* Sets the [var_names] and [pre_var_names] fields of [env_state]. *)
Env_state.set_var_names file (list_in, list_out, list_loc) ;
List.iter
(fun vn -> Env_state.set_pre_var_names (vn::(Env_state.pre_var_names ())))
list_pre_vn;
(init_node + node_nb)
(* Exported *)
let (read_env_state : string list list -> unit) =
fun files_ll ->
(** Calls [read_env_state_one_file] on a list of list of files. *)
let nodes = map (map (read_env_state_one_file)) files_ll in
Env_state.set_current_nodes nodes ;
Env_state.set_wtree_table (Wtree.build_wtree_table (Env_state.graph ()))
(****************************************************************************)
(****************************************************************************)
(* env_try *)
......
......@@ -25,19 +25,6 @@ open Env_state
(*---------------------------------------------------------------------*)
val read_env_state : string list list -> unit
(** [read_env_state files_ll] updates the global variable
[env_state] using the automata defined in the list of list
[files_ll]. The idea behind having a list of list there is that
automata given in inner lists should be run as a product, and
outer ones should be run in parallel. For example,
[read_env_state [["foo1"; "foo2"]; ["foo3"]]] means that the
automata given in ["foo1"] and ["foo2"] are run as if their
automata were multiplied (in the classical sense of the automata
product), and ["foo3"] is run in parallel. Of course, ["foo3"]
should not share any variables with ["foo1"] and ["foo2"] then.