diff --git a/Makefile b/Makefile
deleted file mode 120000
index 4b0debf6991731a2edbdcc63ce0ee45b7912cf8d..0000000000000000000000000000000000000000
--- a/Makefile
+++ /dev/null
@@ -1 +0,0 @@
-src/Makefile
\ No newline at end of file
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000000000000000000000000000000000000..2231b3dcd036f8b2ad7a02bc005311bbabea3b75
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,21 @@
+
+
+
+all:
+	cd src; make 
+
+.PHONY: diff test log
+
+diff:
+	rm -f lv6.diff; git diff --ignore-all-space > lv6.diff
+
+log:
+	rm -f lv6.log; git log > lv6.log
+
+
+test:
+	cd test ; make test
+
+
+co:
+	git commit -a -F log
\ No newline at end of file
diff --git a/src/.#compile.ml b/src/.#compile.ml
deleted file mode 120000
index 6b9ef0b909a9b1cc3b1d78bf22f5d971a08b2060..0000000000000000000000000000000000000000
--- a/src/.#compile.ml
+++ /dev/null
@@ -1 +0,0 @@
-jahier@peouvou.imag.fr.3380:1190617109
\ No newline at end of file
diff --git a/src/Makefile b/src/Makefile
index f68aeeca6a5ea455afa54356487ddf5b9932bf6f..fee992273a1245030ffadd261313763952f7e985 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -1,6 +1,6 @@
 
 OCAMLMAKEFILE = ./OCamlMakefile
-RESULT=lpp
+RESULT=lus2lic
 
 LIBS = str 
 SOURCES =  \
@@ -33,4 +33,10 @@ SOURCES =  \
 	./compile.ml \
 	./main.ml
 
+
+
 include $(OCAMLMAKEFILE)
+
+
+test: $(RESULT)
+	cd test; make test
\ No newline at end of file
diff --git a/src/OCamlMakefile b/src/OCamlMakefile
index 98864ed8fab240f51d4fd5c46a0e1752623cca8b..ee9d1f70b8facac164120722382cdab21773bea7 100644
--- a/src/OCamlMakefile
+++ b/src/OCamlMakefile
@@ -845,7 +845,7 @@ libuninstall:
 
 .PHONY:	clean
 clean:
-	rm -f $(TARGETS) $(TRASH)
+	rm -f $(TARGETS) $(TRASH) *~
 	rm -rf $(BCDIDIR) $(NCDIDIR) $(MLDEPDIR)
 
 .PHONY:	cleanup
@@ -862,4 +862,5 @@ nobackup:
 	rm -f *.bak *~ *.dup
 
 tags: $(SOURCES)
-	/usr/local/soft/ocaml/3.09.0/bin/otags  -v $(SOURCES)
+	otags  $(SOURCES)  $(shell ocamlc -where)/*.mli
+#	/usr/local/soft/ocaml/3.09.0/bin/otags  -v $(SOURCES)
diff --git a/src/TAGS b/src/TAGS
index bc17d21d9f1c37a28a9aaeb31970cf53c645a1d7..230150963c4cc6df2be88344d3e0544aed526c8f 100644
--- a/src/TAGS
+++ b/src/TAGS
@@ -132,63 +132,62 @@ let node_error_stringnode_error_string524,18029
 let print_compile_node_errorprint_compile_node_error531,18322
 let print_global_node_errorprint_global_node_error537,18476
 
-./dump.ml,1947
+./dump.ml,1948
 Dump1,0
 let rec dump_packinfodump_packinfo18,361
     dump_packgivendump_packgiven34,964
     dump_packinstancedump_packinstance46,1296
     dump_modelinfodump_modelinfo52,1471
     dump_packbodydump_packbody81,2418
-and dump_constdump_const111,3380
-and dump_const_defdump_const_def118,3630
-and dump_typedump_type133,4099
-and dump_type_defdump_type_def141,4360
-and dump_id_listdump_id_list161,5052
-and dump_field_listdump_field_list170,5360
-and dump_fielddump_field176,5586
-and dump_funcdump_func188,5988
-and dump_param_listdump_param_list197,6350
-and dump_paramdump_param206,6605
-and dump_item_info_listdump_item_info_list214,6912
-and dump_item_infodump_item_info223,7156
-and dump_static_param_listdump_static_param_list245,7596
-and dump_static_paramdump_static_param254,7855
-and dump_nodedump_node273,8384
-and dump_node_bodydump_node_body289,9012
-and dump_var_decl_listdump_var_decl_list315,9976
-and dump_line_var_decl_listdump_line_var_decl_list322,10260
-and dump_var_decldump_var_decl328,10518
-and dump_type_expdump_type_exp339,10866
-and dump_assert_listdump_assert_list354,11345
-and dump_eq_listdump_eq_list365,11681
-and dump_left_part_listdump_left_part_list375,11974
-and dump_left_partdump_left_part383,12276
-and dump_val_expdump_val_exp396,12796
-and dump_val_exp_listdump_val_exp_list405,13055
-and dump_by_pos_expdump_by_pos_exp414,13376
-and dump_leaf_expdump_leaf_exp474,16475
-and dump_unary_expdump_unary_exp477,16556
-and dump_binary_expdump_binary_exp484,16703
-and dump_ternary_expdump_ternary_exp492,16890
-and dump_nary_expdump_nary_exp504,17162
-and op2stringop2string513,17393
-and dump_oper_expdump_oper_exp546,18242
-and dump_static_arg_listdump_static_arg_list562,18614
-and dump_static_argdump_static_arg571,18888
-and dump_slice_infodump_slice_info589,19319
-and dump_by_name_expdump_by_name_exp601,19680
-and dump_named_parsdump_named_pars616,20040
-
-./errors.ml,395
+and dump_constdump_const115,3468
+and dump_const_defdump_const_def122,3718
+and dump_typedump_type137,4187
+and dump_type_defdump_type_def145,4448
+and dump_id_listdump_id_list165,5140
+and dump_field_listdump_field_list174,5448
+and dump_fielddump_field180,5674
+and dump_funcdump_func192,6076
+and dump_param_listdump_param_list201,6438
+and dump_paramdump_param210,6693
+and dump_item_info_listdump_item_info_list218,7000
+and dump_item_infodump_item_info227,7244
+and dump_static_param_listdump_static_param_list249,7684
+and dump_static_paramdump_static_param258,7943
+and dump_nodedump_node277,8472
+and dump_node_bodydump_node_body293,9100
+and dump_var_decl_listdump_var_decl_list319,10064
+and dump_line_var_decl_listdump_line_var_decl_list326,10348
+and dump_var_decldump_var_decl332,10606
+and dump_type_expdump_type_exp343,10954
+and dump_assert_listdump_assert_list358,11433
+and dump_eq_listdump_eq_list369,11769
+and dump_left_part_listdump_left_part_list379,12062
+and dump_left_partdump_left_part387,12311
+and dump_val_expdump_val_exp400,12831
+and dump_val_exp_listdump_val_exp_list409,13090
+and dump_by_pos_expdump_by_pos_exp418,13411
+and dump_leaf_expdump_leaf_exp522,18003
+and dump_unary_expdump_unary_exp525,18084
+and dump_binary_expdump_binary_exp532,18231
+and dump_ternary_expdump_ternary_exp540,18418
+and dump_nary_expdump_nary_exp552,18690
+and op2stringop2string561,18921
+and dump_oper_expdump_oper_exp617,20492
+and dump_static_arg_listdump_static_arg_list633,20864
+and dump_static_argdump_static_arg642,21138
+and dump_slice_infodump_slice_info660,21569
+and dump_by_name_expdump_by_name_exp672,21930
+and dump_named_parsdump_named_pars687,22290
+
+./errors.ml,346
 Errors1,0
 exception Compile_errorCompile_error96,3319
 exception Global_errorGlobal_error101,3532
-exception Internal_errorInternal_error106,3771
-let compile_error_stringcompile_error_string112,4003
-let print_compile_errorprint_compile_error119,4300
-let warningwarning127,4596
-let print_global_errorprint_global_error134,4877
-let print_internal_errorprint_internal_error142,5160
+let compile_error_stringcompile_error_string107,3753
+let print_compile_errorprint_compile_error114,4050
+let warningwarning122,4346
+let print_global_errorprint_global_error129,4627
+let print_internal_errorprint_internal_error137,4910
 
 ./evalConst.mli,237
 EvalConst1,0
@@ -206,13 +205,13 @@ let type_errortype_error87,2326
 let arity_errorarity_error91,2491
 let uneval_erroruneval_error96,2683
 let op_computerop_computer109,3176
-let make_slice_constmake_slice_const371,11437
-let make_array_constmake_array_const385,11846
-let make_struct_constmake_struct_const419,12850
-let rec eval_consteval_const534,16556
-and eval_array_sizeeval_array_size746,23834
-and eval_array_indexeval_array_index777,24773
-and eval_array_sliceeval_array_slice814,25976
+let make_slice_constmake_slice_const373,11349
+let make_array_constmake_array_const387,11758
+let make_struct_constmake_struct_const421,12762
+let rec eval_consteval_const536,16468
+and eval_array_sizeeval_array_size751,23770
+and eval_array_indexeval_array_index782,24709
+and eval_array_sliceeval_array_slice819,25912
 
 ./evalType.mli,46
 EvalType1,0
@@ -240,7 +239,7 @@ val do_prov_typedo_prov_type15,262
 val do_nodedo_node18,361
 val test_typestest_types21,487
 
-./lazyCompiler.ml,877
+./lazyCompiler.ml,914
 LazyCompiler1,0
 type 'a chkflagedchkflaged22,314
    CheckingChecking23,334
@@ -250,24 +249,24 @@ exception Recursion_errorRecursion_error31,533
 exception BadCheckRef_errorBadCheckRef_error34,632
 let recursion_errorrecursion_error37,662
 tt49,975
-	src_tabsrc_tab50,986
-	typestypes52,1029
-	constsconsts53,1097
-	nodesnodes54,1166
-	prov_typesprov_types56,1252
-	prov_constsprov_consts57,1325
-	prov_nodesprov_nodes58,1399
-let createcreate61,1470
-let rec do_typedo_type91,2476
-do_prov_typedo_prov_type120,3361
-and check_type_defcheck_type_def180,5159
-do_constdo_const259,7811
-do_prov_constdo_prov_const290,8749
-check_const_defcheck_const_def347,10449
-solve_type_idrefsolve_type_idref401,12402
-solve_const_idrefsolve_const_idref430,13180
-let do_nodedo_node463,14011
-let test_typestest_types471,14293
+  src_tabsrc_tab50,986
+  typestypes52,1031
+  constsconsts53,1100
+  nodesnodes54,1170
+  prov_typesprov_types56,1258
+  prov_constsprov_consts57,1332
+  prov_nodesprov_nodes58,1407
+let createcreate61,1479
+let rec do_typedo_type91,2504
+    do_prov_typedo_prov_type119,3415
+      and check_type_defcheck_type_def180,5288
+    do_constdo_const266,8214
+    do_prov_constdo_prov_const296,9198
+    check_const_defcheck_const_def354,10981
+    solve_type_idrefsolve_type_idref411,13151
+    solve_const_idrefsolve_const_idref440,14028
+let do_nodedo_node473,14963
+let test_typestest_types480,15170
 
 ./lxm.mli,396
 Lxm1,0
@@ -312,61 +311,61 @@ let last_lexemelast_lexeme53,1027
 let makemake55,1057
 let last_madelast_made65,1357
 
-./main.ml,569
+./main.ml,570
 Main1,0
-let usage_msgusage_msg13,116
-type lpp_argslpp_args18,363
-  mutable infileinfile19,381
-  mutable main_nodemain_node20,409
-  mutable runmoderunmode21,440
-let rec _LPP_ARGS_LPP_ARGS23,471
-and set_infileset_infile29,649
-and set_run_modeset_run_mode40,901
-and print_versionprint_version43,973
-and arg_listarg_list46,1076
-    parse_argsparse_args67,1735
-let test_lextest_lex75,1929
-let lus_loadlus_load88,2237
-let dump_bodydump_body93,2330
-let dump_nsdump_ns100,2508
-let get_source_listget_source_list118,2954
-let mainmain132,3245
+let usage_msgusage_msg14,188
+type lpp_argslpp_args20,438
+  mutable infileinfile21,456
+  mutable main_nodemain_node22,484
+  mutable runmoderunmode23,515
+let rec _LPP_ARGS_LPP_ARGS25,546
+and set_infileset_infile31,724
+and set_run_modeset_run_mode42,976
+and print_versionprint_version45,1048
+and arg_listarg_list48,1151
+    parse_argsparse_args69,1810
+let test_lextest_lex77,2004
+let lus_loadlus_load90,2312
+let dump_bodydump_body95,2405
+let dump_nsdump_ns101,2582
+let get_source_listget_source_list119,3062
+let mainmain132,3370
 
 ./srcTab.mli,178
 SrcTab1,0
-tt14,354
-val createcreate17,373
-val pack_body_envpack_body_env20,437
-val pack_prov_envpack_prov_env21,484
-val pack_listpack_list25,570
-val dumpdump29,617
-
-./srcTab.ml,847
+tt15,415
+val createcreate17,423
+val pack_body_envpack_body_env20,487
+val pack_prov_envpack_prov_env21,534
+val pack_listpack_list25,620
+val dumpdump29,662
+
+./srcTab.ml,862
 SrcTab1,0
-tt44,1461
-	st_listst_list46,1512
-	st_raw_mod_tabst_raw_mod_tab47,1548
-	st_raw_pack_tabst_raw_pack_tab48,1610
-	st_pack_mng_tabst_pack_mng_tab50,1707
-pack_mngpack_mng68,2498
-	pm_lxmpm_lxm70,2535
-	pm_raw_srcpm_raw_src72,2574
-	pm_actual_srcpm_actual_src74,2633
-	pm_user_itemspm_user_items77,2742
-	pm_body_stabpm_body_stab79,2867
-	pm_provide_stabpm_provide_stab81,2956
-let pack_listpack_list84,2999
-let pack_body_envpack_body_env90,3114
-let pack_prov_envpack_prov_env93,3198
-let init_user_itemsinit_user_items101,3496
-let create_pack_mngcreate_pack_mng176,5634
-let rec createcreate212,6717
-init_raw_tabsinit_raw_tabs244,7611
-init_pack_mng_stabsinit_pack_mng_stabs283,8708
-let find_typefind_type364,11052
-let find_constfind_const367,11181
-let find_operfind_oper370,11312
-let dumpdump377,11459
+type pack_mngpack_mng47,1402
+  pm_lxmpm_lxm49,1445
+  pm_raw_srcpm_raw_src51,1486
+  pm_actual_srcpm_actual_src53,1546
+  pm_user_itemspm_user_items56,1657
+  pm_body_stabpm_body_stab58,1783
+  pm_provide_stabpm_provide_stab60,1873
+tt75,2350
+  st_listst_list77,2402
+  st_raw_mod_tabst_raw_mod_tab78,2439
+  st_raw_pack_tabst_raw_pack_tab79,2502
+  st_pack_mng_tabst_pack_mng_tab81,2601
+let pack_listpack_list86,2660
+let pack_body_envpack_body_env92,2779
+let pack_prov_envpack_prov_env98,2906
+let init_user_itemsinit_user_items108,3246
+let create_pack_mngcreate_pack_mng183,5519
+let rec createcreate219,6602
+init_raw_tabsinit_raw_tabs251,7496
+init_pack_mng_stabsinit_pack_mng_stabs290,8593
+let find_typefind_type374,10895
+let find_constfind_const378,11016
+let find_operfind_oper382,11138
+let dumpdump390,11277
 
 ./symbolTab.mli,579
 SymbolTab1,0
@@ -389,7 +388,7 @@ val iter_constsiter_consts49,1640
 val iter_opersiter_opers50,1737
 val dumpdump52,1833
 
-./symbolTab.ml,656
+./symbolTab.ml,658
 SymbolTab1,0
 type 'a hereflagedhereflaged10,82
   HereHere11,103
@@ -400,217 +399,217 @@ tt14,137
 	st_opersst_opers17,286
 let createcreate21,405
 let find_typefind_type27,526
-let find_constfind_const28,600
-let find_operfind_oper29,676
-let add_import_constadd_import_const33,779
-let add_import_typeadd_import_type37,895
-let add_import_operadd_import_oper41,1009
-let add_constadd_const45,1123
-let add_typeadd_type49,1240
-let add_operadd_oper65,1742
-let iter_typesiter_types69,1852
-let iter_constsiter_consts70,1908
-let iter_opersiter_opers71,1966
-let dumpdump73,2023
-
-./syntaxe.ml,6042
+let find_constfind_const35,701
+let find_operfind_oper43,877
+let add_import_constadd_import_const52,1080
+let add_import_typeadd_import_type56,1196
+let add_import_operadd_import_oper60,1310
+let add_constadd_const64,1424
+let add_typeadd_type68,1541
+let add_operadd_oper84,2043
+let iter_typesiter_types88,2153
+let iter_constsiter_consts89,2209
+let iter_opersiter_opers90,2267
+let dumpdump92,2324
+
+./syntaxe.ml,6394
 Syntaxe1,0
-type 'a errorerror19,543
-	OkOk20,561
-|	ErrorError21,571
-type idrefidref27,774
-	id_packid_pack29,790
-	id_idid_id30,816
-let pack_of_idrefpack_of_idref32,835
-let name_of_idrefname_of_idref34,870
-let idref_of_stringidref_of_string38,928
-let string_of_idrefstring_of_idref46,1186
-type parseresparseres55,1416
-	PRPackBodyPRPackBody56,1433
-|	PRNameSpacesPRNameSpaces57,1457
-namespacenamespace59,1494
-	NSPackNSPack60,1506
-|	NSModelNSModel61,1540
-model_infomodel_info63,1580
-	mo_namemo_name64,1595
-	mo_usesmo_uses65,1615
-	mo_needsmo_needs66,1654
-	mo_providesmo_provides68,1740
-	mo_bodymo_body69,1788
-pack_infopack_info72,1816
-	pa_namepa_name73,1830
-	pa_defpa_def74,1850
-pack_defpack_def77,1877
-	PackGivenPackGiven78,1889
-|	PackInstancePackInstance79,1914
-pack_givenpack_given81,1950
-	pg_usespg_uses82,1966
-	pg_providespg_provides84,2043
-	pg_bodypg_body85,2091
-pack_instancepack_instance88,2119
-	pi_modelpi_model89,2137
-	pi_argspi_args90,2158
-packbodypackbody99,2494
-	pk_const_tablepk_const_table100,2507
-	pk_type_tablepk_type_table101,2569
-	pk_oper_tablepk_oper_table102,2631
-	pk_def_listpk_def_list103,2693
-item_identitem_ident106,2736
-	ConstItemConstItem110,2833
-|	TypeItemTypeItem111,2854
-|	OperItemOperItem112,2876
-item_infoitem_info114,2902
-	ConstInfoConstInfo115,2914
-|	TypeInfoTypeInfo116,2939
-|	OperInfoOperInfo117,2964
-const_infoconst_info122,3153
-	ExternalConstExternalConst123,3167
-|	EnumConstEnumConst124,3206
-|	DefinedConstDefinedConst125,3246
-type_infotype_info130,3462
-	ExternalTypeExternalType131,3474
-|	AliasedTypeAliasedType132,3500
-|	EnumTypeEnumType133,3538
-|	StructTypeStructType135,3646
-struct_type_infostruct_type_info145,4117
-	st_namest_name146,4138
-	st_flistst_flist147,4158
-	st_ftablest_ftable148,4184
-and field_infofield_info150,4243
-	fd_namefd_name151,4262
-	fd_typefd_type152,4283
-	fd_valuefd_value153,4306
-type_exptype_exp161,4657
-type_exp_coretype_exp_core163,4696
-	Bool_type_expBool_type_exp164,4712
-|	Int_type_expInt_type_exp165,4727
-|	Real_type_expReal_type_exp166,4742
-|	Named_type_expNamed_type_exp167,4758
-|	Array_type_expArray_type_exp168,4786
-oper_infooper_info174,5042
-	NodeNode175,5054
-|	FuncFunc176,5074
-func_infofunc_info181,5256
-	fn_namefn_name182,5270
-	fn_inparsfn_inpars183,5293
-	fn_outparsfn_outpars184,5341
-node_infonode_info191,5591
-	ni_nameni_name192,5605
-	ni_staticlistni_staticlist193,5631
-	ni_valueni_value194,5678
-and node_profilenode_profile196,5701
-and node_defnode_def197,5772
-	NodeExternNodeExtern198,5787
-|	NodeBodyNodeBody199,5815
-|	NodeAliasNodeAlias200,5840
-and node_bodynode_body207,6190
-	nbdy_inlistnbdy_inlist208,6208
-	nbdy_outlistnbdy_outlist209,6240
-	nbdy_loclistnbdy_loclist210,6272
-	nbdy_vartablenbdy_vartable211,6304
-	nbdy_assertsnbdy_asserts212,6339
-	nbdy_eqsnbdy_eqs213,6384
-and var_info_tablevar_info_table215,6429
-and static_paramstatic_param216,6490
-	StaticParamTypeStaticParamType217,6509
-|	StaticParamConstStaticParamConst218,6537
-|	StaticParamNodeStaticParamNode219,6579
-and var_infovar_info220,6662
-	va_natureva_nature221,6679
-	va_nameva_name222,6704
-	va_typeva_type223,6725
-	va_clockva_clock224,6748
-and var_naturevar_nature226,6774
-	VarInputVarInput227,6791
-|	VarOutputVarOutput228,6801
-|	VarLocalVarLocal229,6813
-and eq_infoeq_info230,6824
-	eq_lefteq_left231,6840
-	eq_righteq_right232,6868
-and clock_expclock_exp237,7042
-	BaseClockBaseClock238,7058
-|	NamedClockNamedClock239,7069
-and left_partleft_part240,7102
-	LeftVarLeftVar242,7170
-|	LeftFieldLeftField243,7201
-|	LeftArrayLeftArray244,7249
-|	LeftSliceLeftSlice245,7300
-and slice_infoslice_info246,7352
-	si_firstsi_first247,7371
-	si_lastsi_last248,7393
-	si_stepsi_step249,7415
-and val_expval_exp262,7957
-	CallByPosCallByPos263,7971
-|	CallByNameCallByName264,8026
-and by_pos_opby_pos_op266,8141
-	NULL_expNULL_exp268,8172
-|	TRUE_nTRUE_n269,8182
-|	FALSE_nFALSE_n270,8191
-|	ICONST_nICONST_n271,8201
-|	RCONST_nRCONST_n272,8222
-|	IDENT_nIDENT_n273,8243
-|	NOT_nNOT_n275,8278
-|	UMINUS_nUMINUS_n276,8286
-|	PRE_nPRE_n277,8297
-|	CURRENT_nCURRENT_n278,8305
-|	REAL2INT_nREAL2INT_n279,8317
-|	INT2REAL_nINT2REAL_n280,8330
-|	ARROW_nARROW_n282,8358
-|	FBY_nFBY_n283,8368
-|	WHEN_nWHEN_n284,8376
-|	AND_nAND_n285,8385
-|	OR_nOR_n286,8393
-|	XOR_nXOR_n287,8400
-|	IMPL_nIMPL_n288,8408
-|	EQ_nEQ_n289,8417
-|	NEQ_nNEQ_n290,8424
-|	LT_nLT_n291,8432
-|	LTE_nLTE_n292,8439
-|	GT_nGT_n293,8447
-|	GTE_nGTE_n294,8454
-|	DIV_nDIV_n295,8462
-|	MOD_nMOD_n296,8470
-|	MINUS_nMINUS_n297,8478
-|	PLUS_nPLUS_n298,8488
-|	SLASH_nSLASH_n299,8497
-|	TIMES_nTIMES_n300,8507
-|	POWER_nPOWER_n301,8517
-|	HAT_nHAT_n302,8527
-|	CONCAT_nCONCAT_n303,8535
-|	IF_nIF_n305,8562
-|	WITH_nWITH_n306,8569
-|	NOR_nNOR_n308,8592
-|	DIESE_nDIESE_n309,8600
-|	TUPLE_nTUPLE_n310,8610
-|	ARRAY_nARRAY_n311,8620
-|	PROJ_nPROJ_n317,8859
-|	CALL_nCALL_n319,8916
-|	ARRAY_ACCES_nARRAY_ACCES_n321,8983
-|	ARRAY_SLICE_nARRAY_SLICE_n322,9010
-|	STRUCT_ACCESS_nSTRUCT_ACCESS_n324,9078
-and by_name_opby_name_op326,9155
-	BYNAME_CALL_nBYNAME_CALL_n327,9172
-|	STRUCT_EXP_nSTRUCT_EXP_n329,9222
-and oper_expoper_exp333,9362
-	CallPreDefCallPreDef334,9377
-|	CallUsrDefCallUsrDef335,9402
-and static_argstatic_arg343,9719
-	StaticArgIdentStaticArgIdent344,9736
-|	StaticArgConstStaticArgConst345,9762
-|	StaticArgTypeStaticArgType346,9790
-|	StaticArgNodeStaticArgNode347,9819
-let give_pack_this_namegive_pack_this_name354,9987
-let leafexpleafexp369,10296
-let unexpunexp373,10367
-let binexpbinexp377,10441
-let ternexpternexp381,10524
-let naryexpnaryexp385,10615
-let bynameexpbynameexp389,10693
-let make_packbodymake_packbody404,11211
-let add_infoadd_info423,11768
-let lexeme_of_val_explexeme_of_val_exp458,12722
-let rec lexeme_of_left_partlexeme_of_left_part462,12847
-let lexeme_of_namespacelexeme_of_namespace469,13059
+type 'a errorerror15,351
+    OkOk16,369
+  | ErrorError17,382
+type idrefidref23,587
+      id_packid_pack25,607
+      id_idid_id26,638
+let pack_of_idrefpack_of_idref28,666
+let name_of_idrefname_of_idref30,701
+let idref_of_stringidref_of_string34,759
+let string_of_idrefstring_of_idref42,1027
+type parseresparseres51,1264
+    PRPackBodyPRPackBody52,1281
+  | PRNameSpacesPRNameSpaces53,1308
+  namespacenamespace55,1347
+    NSPackNSPack56,1361
+  | NSModelNSModel57,1398
+  model_infomodel_info59,1440
+    mo_namemo_name60,1457
+    mo_usesmo_uses61,1481
+    mo_needsmo_needs62,1520
+    mo_providesmo_provides64,1609
+    mo_bodymo_body65,1660
+and pack_infopack_info67,1689
+    pa_namepa_name68,1707
+    pa_defpa_def69,1730
+  pack_defpack_def72,1762
+    PackGivenPackGiven73,1776
+  | PackInstancePackInstance74,1804
+  pack_givenpack_given76,1842
+    pg_usespg_uses77,1860
+    pg_providespg_provides79,1943
+    pg_bodypg_body80,1994
+  pack_instancepack_instance83,2027
+    pi_modelpi_model84,2047
+    pi_argspi_args85,2071
+  packbodypackbody93,2296
+    pk_const_tablepk_const_table94,2311
+    pk_type_tablepk_type_table95,2376
+    pk_oper_tablepk_oper_table96,2441
+    pk_def_listpk_def_list97,2506
+  item_identitem_ident100,2554
+    ConstItemConstItem104,2661
+  | TypeItemTypeItem105,2685
+  | OperItemOperItem106,2709
+  item_infoitem_info108,2737
+    ConstInfoConstInfo109,2751
+  | TypeInfoTypeInfo110,2779
+  | OperInfoOperInfo111,2806
+  const_infoconst_info116,3003
+    ExternalConstExternalConst117,3019
+  | EnumConstEnumConst118,3061
+  | DefinedConstDefinedConst119,3103
+  type_infotype_info124,3327
+    ExternalTypeExternalType125,3341
+  | AliasedTypeAliasedType126,3370
+  | EnumTypeEnumType127,3410
+  | StructTypeStructType129,3523
+  struct_type_infostruct_type_info139,4012
+    st_namest_name140,4035
+    st_flistst_flist141,4058
+    st_ftablest_ftable142,4087
+and field_infofield_info144,4151
+  fd_namefd_name145,4170
+  fd_typefd_type146,4192
+  fd_valuefd_value147,4216
+  type_exptype_exp155,4578
+  type_exp_coretype_exp_core157,4619
+    Bool_type_expBool_type_exp158,4637
+  | Int_type_expInt_type_exp159,4655
+  | Real_type_expReal_type_exp160,4672
+  | Named_type_expNamed_type_exp161,4690
+  | Array_type_expArray_type_exp162,4720
+  oper_infooper_info168,4986
+    NodeNode169,5000
+  | FuncFunc170,5023
+  func_infofunc_info175,5213
+    fn_namefn_name176,5229
+    fn_inparsfn_inpars177,5255
+    fn_outparsfn_outpars178,5306
+  node_infonode_info185,5569
+    ni_nameni_name186,5585
+    ni_staticlistni_staticlist187,5614
+    ni_valueni_value188,5664
+and node_profilenode_profile190,5692
+and node_defnode_def191,5763
+    NodeExternNodeExtern192,5778
+  | NodeBodyNodeBody193,5809
+  | NodeAliasNodeAlias194,5836
+and node_bodynode_body201,6206
+  nbdy_inlistnbdy_inlist202,6224
+  nbdy_outlistnbdy_outlist203,6257
+  nbdy_loclistnbdy_loclist204,6290
+  nbdy_vartablenbdy_vartable205,6323
+  nbdy_assertsnbdy_asserts206,6359
+  nbdy_eqsnbdy_eqs207,6405
+and var_info_tablevar_info_table209,6451
+and static_paramstatic_param210,6512
+    StaticParamTypeStaticParamType211,6531
+  | StaticParamConstStaticParamConst212,6562
+  | StaticParamNodeStaticParamNode213,6606
+and var_infovar_info214,6691
+  va_natureva_nature215,6708
+  va_nameva_name216,6734
+  va_typeva_type217,6756
+  va_clockva_clock218,6780
+and var_naturevar_nature220,6807
+    VarInputVarInput221,6824
+  | VarOutputVarOutput222,6837
+  | VarLocalVarLocal223,6851
+and eq_infoeq_info224,6864
+  eq_lefteq_left225,6880
+  eq_righteq_right226,6909
+and clock_expclock_exp229,6991
+    BaseClockBaseClock230,7007
+  | NamedClockNamedClock231,7021
+and left_partleft_part232,7056
+    LeftVarLeftVar234,7127
+  | LeftFieldLeftField235,7161
+  | LeftArrayLeftArray236,7211
+  | LeftSliceLeftSlice237,7264
+and slice_infoslice_info238,7318
+  si_firstsi_first239,7337
+  si_lastsi_last240,7360
+  si_stepsi_step241,7383
+and val_expval_exp254,7926
+    CallByPosCallByPos255,7940
+  | CallByNameCallByName256,7998
+and by_pos_opby_pos_op259,8122
+    NULL_expNULL_exp261,8157
+  | TRUE_nTRUE_n262,8170
+  | FALSE_nFALSE_n263,8181
+  | ICONST_nICONST_n264,8193
+  | RCONST_nRCONST_n265,8216
+  | IDENT_nIDENT_n266,8239
+  | NOT_nNOT_n268,8279
+  | UMINUS_nUMINUS_n269,8289
+  | PRE_nPRE_n270,8302
+  | CURRENT_nCURRENT_n271,8312
+  | REAL2INT_nREAL2INT_n272,8326
+  | INT2REAL_nINT2REAL_n273,8341
+  | ARROW_nARROW_n275,8377
+  | FBY_nFBY_n276,8389
+  | WHEN_nWHEN_n277,8399
+  | AND_nAND_n278,8410
+  | OR_nOR_n279,8420
+  | XOR_nXOR_n280,8429
+  | IMPL_nIMPL_n281,8439
+  | EQ_nEQ_n282,8450
+  | NEQ_nNEQ_n283,8459
+  | LT_nLT_n284,8469
+  | LTE_nLTE_n285,8478
+  | GT_nGT_n286,8488
+  | GTE_nGTE_n287,8497
+  | DIV_nDIV_n288,8507
+  | MOD_nMOD_n289,8517
+  | MINUS_nMINUS_n290,8527
+  | PLUS_nPLUS_n291,8539
+  | SLASH_nSLASH_n292,8550
+  | TIMES_nTIMES_n293,8562
+  | POWER_nPOWER_n294,8574
+  | HAT_nHAT_n295,8586
+  | CONCAT_nCONCAT_n296,8596
+  | IF_nIF_n298,8631
+  | WITH_nWITH_n299,8640
+  | NOR_nNOR_n301,8671
+  | DIESE_nDIESE_n302,8681
+  | TUPLE_nTUPLE_n303,8693
+  | ARRAY_nARRAY_n304,8705
+  | PROJ_nPROJ_n310,8976
+  | CALL_nCALL_n312,9041
+  | ARRAY_ACCES_nARRAY_ACCES_n314,9116
+  | ARRAY_SLICE_nARRAY_SLICE_n315,9145
+  | STRUCT_ACCESS_nSTRUCT_ACCESS_n317,9221
+and by_name_opby_name_op323,9369
+    BYNAME_CALL_nBYNAME_CALL_n324,9386
+  | STRUCT_EXP_nSTRUCT_EXP_n326,9445
+and oper_expoper_exp328,9503
+    CallPreDefCallPreDef329,9518
+  | CallUsrDefCallUsrDef330,9546
+and static_argstatic_arg338,9806
+    StaticArgIdentStaticArgIdent339,9823
+  | StaticArgConstStaticArgConst340,9852
+  | StaticArgTypeStaticArgType341,9882
+  | StaticArgNodeStaticArgNode342,9913
+let give_pack_this_namegive_pack_this_name349,10083
+let leafexpleafexp364,10392
+let unexpunexp368,10464
+let binexpbinexp372,10539
+let ternexpternexp376,10623
+let naryexpnaryexp380,10715
+let bynameexpbynameexp384,10794
+let make_packbodymake_packbody399,11313
+let add_infoadd_info418,11880
+let lexeme_of_val_explexeme_of_val_exp454,12828
+let rec lexeme_of_left_partlexeme_of_left_part458,12958
+let lexeme_of_namespacelexeme_of_namespace465,13170
 
 ./utils.ml,334
 Utils1,0
@@ -644,3 +643,3278 @@ let prjvtabprjvtab1,0
 let tooltool3,49
 let numbernumber4,79
 let releaserelease5,127
+
+/usr/local/soft/ocaml/3.10.0//lib/ocaml/arg.mli,655
+Arg1,0
+type specspec43,2206
+  | UnitUnit44,2218
+  | BoolBool45,2293
+  | SetSet46,2370
+  | ClearClear47,2434
+  | StringString48,2499
+  | Set_stringSet_string49,2578
+  | IntInt50,2657
+  | Set_intSet_int51,2734
+  | FloatFloat52,2810
+  | Set_floatSet_float53,2888
+  | TupleTuple54,2966
+  | SymbolSymbol56,3089
+  | RestRest59,3281
+type keykey64,3512
+type docdoc65,3530
+type usage_msgusage_msg66,3548
+type anon_funanon_fun67,3572
+val parseparse69,3606
+val parse_argvparse_argv96,4900
+exception HelpHelp109,5566
+exception BadBad112,5655
+val usageusage117,5866
+val alignalign123,6164
+val currentcurrent130,6525
+
+/usr/local/soft/ocaml/3.10.0//lib/ocaml/arith_status.mli,692
+Arith_status1,0
+val arith_statusarith_status18,1005
+val get_error_when_null_denominatorget_error_when_null_denominator21,1102
+val set_error_when_null_denominatorset_error_when_null_denominator23,1220
+val get_normalize_ratioget_normalize_ratio29,1519
+val set_normalize_ratioset_normalize_ratio31,1613
+val get_normalize_ratio_when_printingget_normalize_ratio_when_printing37,1880
+val set_normalize_ratio_when_printingset_normalize_ratio_when_printing39,2002
+val get_approx_printingget_approx_printing45,2304
+val set_approx_printingset_approx_printing47,2398
+val get_floating_precisionget_floating_precision53,2661
+val set_floating_precisionset_floating_precision55,2760
+
+/usr/local/soft/ocaml/3.10.0//lib/ocaml/array.mli,778
+Array1,0
+external lengthlength18,978
+external getget21,1097
+external setset30,1480
+external makemake38,1816
+external createcreate51,2446
+val initinit54,2571
+val make_matrixmake_matrix64,3016
+val create_matrixcreate_matrix77,3604
+val appendappend80,3739
+val concatconcat84,3897
+val subsub87,4003
+val copycopy96,4383
+val fillfill100,4524
+val blitblit107,4804
+val to_listto_list118,5315
+val of_listof_list121,5420
+val iteriter125,5537
+val mapmap130,5745
+val iteriiteri135,5980
+val mapimapi140,6187
+val fold_leftfold_left145,6394
+val fold_rightfold_right150,6585
+val sortsort159,6801
+val stable_sortstable_sort185,8013
+val fast_sortfast_sort195,8458
+external unsafe_getunsafe_get204,8653
+external unsafe_setunsafe_set205,8719
+
+/usr/local/soft/ocaml/3.10.0//lib/ocaml/arrayLabels.mli,784
+ArrayLabels1,0
+external lengthlength18,985
+external getget21,1104
+external setset30,1487
+external makemake38,1823
+external createcreate51,2453
+val initinit54,2584
+val make_matrixmake_matrix64,3031
+val create_matrixcreate_matrix77,3629
+val appendappend81,3783
+val concatconcat85,3941
+val subsub88,4047
+val copycopy97,4435
+val fillfill101,4576
+val blitblit108,4864
+val to_listto_list121,5409
+val of_listof_list124,5514
+val iteriter128,5631
+val mapmap133,5841
+val iteriiteri138,6078
+val mapimapi143,6293
+val fold_leftfold_left148,6508
+val fold_rightfold_right153,6706
+val sortsort162,6929
+val stable_sortstable_sort188,8145
+val fast_sortfast_sort198,8606
+external unsafe_getunsafe_get208,8806
+external unsafe_setunsafe_set209,8872
+
+/usr/local/soft/ocaml/3.10.0//lib/ocaml/big_int.mli,1909
+Big_int1,0
+type big_intbig_int23,1092
+val zero_big_intzero_big_int26,1147
+val unit_big_intunit_big_int28,1210
+val minus_big_intminus_big_int33,1308
+val abs_big_intabs_big_int35,1378
+val add_big_intadd_big_int37,1446
+val succ_big_intsucc_big_int39,1519
+val add_int_big_intadd_int_big_int41,1591
+val sub_big_intsub_big_int43,1700
+val pred_big_intpred_big_int45,1776
+val mult_big_intmult_big_int47,1855
+val mult_int_big_intmult_int_big_int49,1955
+val square_big_intsquare_big_int51,2070
+val sqrt_big_intsqrt_big_int53,2167
+val quomod_big_intquomod_big_int57,2404
+val div_big_intdiv_big_int64,2786
+val mod_big_intmod_big_int67,2962
+val gcd_big_intgcd_big_int70,3138
+val power_int_positive_intpower_int_positive_int72,3246
+val power_big_int_positive_intpower_big_int_positive_int73,3296
+val power_int_positive_big_intpower_int_positive_big_int74,3354
+val power_big_int_positive_big_intpower_big_int_positive_big_int75,3412
+val sign_big_intsign_big_int84,3837
+val compare_big_intcompare_big_int87,3993
+val eq_big_inteq_big_int91,4207
+val le_big_intle_big_int92,4251
+val ge_big_intge_big_int93,4295
+val lt_big_intlt_big_int94,4339
+val gt_big_intgt_big_int95,4383
+val max_big_intmax_big_int97,4494
+val min_big_intmin_big_int99,4598
+val num_digits_big_intnum_digits_big_int101,4702
+val string_of_big_intstring_of_big_int107,4886
+val big_int_of_stringbig_int_of_string110,5035
+val big_int_of_intbig_int_of_int117,5315
+val is_int_big_intis_int_big_int119,5408
+val int_of_big_intint_of_big_int127,5873
+val float_of_big_intfloat_of_big_int131,6095
+val nat_of_big_intnat_of_big_int138,6268
+val big_int_of_natbig_int_of_nat139,6304
+val base_power_big_intbase_power_big_int140,6340
+val sys_big_int_of_stringsys_big_int_of_string141,6397
+val round_futur_last_digitround_futur_last_digit142,6456
+val approx_big_intapprox_big_int143,6514
+
+/usr/local/soft/ocaml/3.10.0//lib/ocaml/bigarray.mli,3734
+Bigarray1,0
+type float32_eltfloat32_elt61,2951
+type float64_eltfloat64_elt62,2968
+type complex32_eltcomplex32_elt63,2985
+type complex64_eltcomplex64_elt64,3004
+type int8_signed_eltint8_signed_elt65,3023
+type int8_unsigned_eltint8_unsigned_elt66,3044
+type int16_signed_eltint16_signed_elt67,3067
+type int16_unsigned_eltint16_unsigned_elt68,3089
+type int_eltint_elt69,3113
+type int32_eltint32_elt70,3126
+type int64_eltint64_elt71,3141
+type nativeint_eltnativeint_elt72,3156
+type ('a, 'b) kindkind74,3176
+val float32float3291,4014
+val float64float6494,4084
+val complex32complex3297,4154
+val complex64complex64100,4232
+val int8_signedint8_signed103,4310
+val int8_unsignedint8_unsigned106,4386
+val int16_signedint16_signed109,4466
+val int16_unsignedint16_unsigned112,4544
+val intint115,4626
+val int32int32118,4686
+val int64int64121,4752
+val nativeintnativeint124,4818
+val charchar127,4896
+type c_layoutc_layout145,5779
+type fortran_layoutfortran_layout148,5832
+type 'a layoutlayout171,6927
+val c_layoutc_layout183,7273
+val fortran_layoutfortran_layout184,7304
+module GenarrayGenarray189,7409
+  tt191,7433
+  external createcreate211,8349
+  external num_dimsnum_dims234,9458
+  val dimsdims237,9588
+  external nth_dimnth_dim241,9764
+  external kindkind249,10172
+  external layoutlayout252,10288
+  external getget255,10406
+  external setset274,11436
+  external sub_leftsub_left292,12279
+  external sub_rightsub_right311,13289
+  external slice_leftslice_left331,14346
+  external slice_rightslice_right349,15269
+  external blitblit367,16212
+  external fillfill376,16680
+  val map_filemap_file383,17022
+module Array1Array1434,19545
+  tt435,19565
+  val createcreate439,19727
+  val dimdim445,20023
+  external kindkind449,20139
+  external layoutlayout452,20255
+  external getget455,20373
+  external setset463,20795
+  external subsub470,21098
+  external blitblit475,21300
+  external fillfill480,21484
+  val of_arrayof_array484,21647
+  val map_filemap_file488,21804
+module Array2Array2500,22258
+  tt502,22280
+  val createcreate506,22442
+  val dim1dim1513,22826
+  val dim2dim2516,22937
+  external kindkind519,23049
+  external layoutlayout522,23165
+  external getget525,23283
+  external setset532,23606
+  external sub_leftsub_left539,23949
+  external sub_rightsub_right546,24293
+  val slice_leftslice_left554,24663
+  val slice_rightslice_right560,25015
+  external blitblit568,25404
+  external fillfill573,25596
+  val of_arrayof_array577,25769
+  val map_filemap_file581,25942
+module Array3Array3593,26423
+  tt595,26445
+  val createcreate599,26609
+  val dim1dim1606,27027
+  val dim2dim2609,27140
+  val dim3dim3612,27254
+  external kindkind615,27367
+  external layoutlayout618,27483
+  external getget621,27601
+  external setset628,27945
+  external sub_leftsub_left636,28311
+  external sub_rightsub_right643,28660
+  val slice_left_1slice_left_1651,29035
+  val slice_right_1slice_right_1659,29448
+  val slice_left_2slice_left_2669,29890
+  val slice_right_2slice_right_2676,30291
+  external blitblit685,30714
+  external fillfill690,30906
+  val of_arrayof_array694,31079
+  val map_filemap_file699,31274
+external genarray_of_array1genarray_of_array1707,31622
+external genarray_of_array2genarray_of_array2712,31811
+external genarray_of_array3genarray_of_array3717,32000
+val array1_of_genarrayarray1_of_genarray722,32191
+val array2_of_genarrayarray2_of_genarray727,32445
+val array3_of_genarrayarray3_of_genarray732,32700
+val reshapereshape740,32994
+val reshape_1reshape_1756,33895
+val reshape_2reshape_2760,34062
+val reshape_3reshape_3764,34236
+
+/usr/local/soft/ocaml/3.10.0//lib/ocaml/buffer.mli,451
+Buffer1,0
+tt24,1219
+val createcreate27,1264
+val contentscontents41,2030
+val subsub45,2153
+val nthnth51,2432
+val lengthlength55,2553
+val clearclear58,2650
+val resetreset61,2698
+val add_charadd_char68,3042
+val add_stringadd_string71,3154
+val add_substringadd_substring74,3269
+val add_substituteadd_substitute78,3464
+val add_bufferadd_buffer94,4329
+val add_channeladd_channel98,4485
+val output_bufferoutput_buffer104,4741
+
+/usr/local/soft/ocaml/3.10.0//lib/ocaml/callback.mli,94
+Callback1,0
+val registerregister23,1205
+val register_exceptionregister_exception28,1399
+
+/usr/local/soft/ocaml/3.10.0//lib/ocaml/camlinternalMod.mli,208
+CamlinternalMod1,0
+type shapeshape16,960
+  | FunctionFunction17,973
+  | LazyLazy18,986
+  | ClassClass19,995
+  | ModuleModule20,1005
+val init_modinit_mod22,1032
+val update_modupdate_mod23,1083
+
+/usr/local/soft/ocaml/3.10.0//lib/ocaml/camlinternalOO.mli,2821
+CamlinternalOO1,0
+type tagtag22,1119
+type labellabel23,1128
+type tabletable24,1139
+type methmeth25,1150
+tt26,1160
+type objobj27,1167
+type closureclosure28,1176
+val public_method_labelpublic_method_label29,1189
+val new_methodnew_method30,1229
+val new_variablenew_variable31,1261
+val new_methods_variablesnew_methods_variables32,1303
+val get_variableget_variable34,1388
+val get_variablesget_variables35,1430
+val get_method_labelget_method_label36,1485
+val get_method_labelsget_method_labels37,1533
+val get_methodget_method38,1594
+val set_methodset_method39,1634
+val set_methodsset_methods40,1682
+val narrownarrow41,1729
+val widenwiden42,1804
+val add_initializeradd_initializer43,1830
+val dummy_tabledummy_table44,1883
+val create_tablecreate_table45,1907
+val init_classinit_class46,1948
+val inheritsinherits47,1979
+val make_classmake_class50,2122
+type init_tableinit_table53,2239
+val make_class_storemake_class_store54,2255
+val dummy_classdummy_class56,2333
+val copycopy62,2453
+val create_objectcreate_object63,2485
+val create_object_optcreate_object_opt64,2518
+val run_initializersrun_initializers65,2562
+val run_initializers_optrun_initializers_opt66,2606
+val create_object_and_run_initializerscreate_object_and_run_initializers67,2660
+external sendsend68,2721
+external sendcachesendcache69,2763
+external sendselfsendself70,2827
+external get_public_methodget_public_method71,2879
+type tablestables76,2996
+val lookup_tableslookup_tables77,3008
+type implimpl108,4229
+    GetConstGetConst109,4241
+  | GetVarGetVar110,4254
+  | GetEnvGetEnv111,4265
+  | GetMethGetMeth112,4276
+  | SetVarSetVar113,4288
+  | AppConstAppConst114,4299
+  | AppVarAppVar115,4312
+  | AppEnvAppEnv116,4323
+  | AppMethAppMeth117,4334
+  | AppConstConstAppConstConst118,4346
+  | AppConstVarAppConstVar119,4364
+  | AppConstEnvAppConstEnv120,4380
+  | AppConstMethAppConstMeth121,4396
+  | AppVarConstAppVarConst122,4413
+  | AppEnvConstAppEnvConst123,4429
+  | AppMethConstAppMethConst124,4445
+  | MethAppConstMethAppConst125,4462
+  | MethAppVarMethAppVar126,4479
+  | MethAppEnvMethAppEnv127,4494
+  | MethAppMethMethAppMeth128,4509
+  | SendConstSendConst129,4525
+  | SendVarSendVar130,4539
+  | SendEnvSendEnv131,4551
+  | SendMethSendMeth132,4563
+  | ClosureClosure133,4576
+type paramsparams138,4648
+  { mutable compact_tablecompact_table139,4662
+    mutable copy_parentcopy_parent140,4696
+    mutable clean_when_copyingclean_when_copying141,4728
+    mutable retry_countretry_count142,4767
+    mutable bucket_small_sizebucket_small_size143,4798
+val paramsparams145,4837
+type statsstats149,4881
+  { classesclasses150,4894
+    methodsmethods151,4913
+    inst_varsinst_vars152,4932
+val statsstats153,4954
+
+/usr/local/soft/ocaml/3.10.0//lib/ocaml/char.mli,227
+Char1,0
+external codecode18,981
+val chrchr21,1070
+val escapedescaped26,1235
+val lowercaselowercase31,1413
+val uppercaseuppercase34,1517
+tt37,1621
+val comparecompare40,1680
+external unsafe_chrunsafe_chr48,1975
+
+/usr/local/soft/ocaml/3.10.0//lib/ocaml/complex.mli,458
+Complex1,0
+tt23,1240
+type t = { rere23,1240
+type t = { re: float; imim23,1240
+val zerozero27,1367
+val oneone30,1411
+val ii33,1454
+val negneg36,1495
+val conjconj39,1535
+val addadd42,1619
+val subsub45,1657
+val mulmul48,1698
+val invinv51,1742
+val divdiv54,1798
+val sqrtsqrt57,1836
+val norm2norm262,2014
+val normnorm65,2096
+val argarg68,2175
+val polarpolar75,2480
+val expexp79,2599
+val loglog82,2678
+val powpow85,2735
+
+/usr/local/soft/ocaml/3.10.0//lib/ocaml/condition.mli,133
+Condition1,0
+tt35,1669
+val createcreate38,1717
+val waitwait41,1781
+val signalsignal47,2069
+val broadcastbroadcast51,2184
+
+/usr/local/soft/ocaml/3.10.0//lib/ocaml/digest.mli,213
+Digest1,0
+tt24,1234
+val stringstring27,1301
+val substringsubstring30,1373
+external channelchannel35,1569
+val filefile43,1984
+val outputoutput46,2066
+val inputinput49,2156
+val to_hexto_hex52,2236
+
+/usr/local/soft/ocaml/3.10.0//lib/ocaml/dtd.mli,2288
+Dtd1,0
+type dtd_childdtd_child47,1979
+	| DTDTagDTDTag48,1997
+	| DTDPCDataDTDPCData49,2018
+	| DTDOptionalDTDOptional50,2032
+	| DTDZeroOrMoreDTDZeroOrMore51,2061
+	| DTDOneOrMoreDTDOneOrMore52,2092
+	| DTDChoiceDTDChoice53,2122
+	| DTDChildrenDTDChildren54,2154
+type dtd_element_typedtd_element_type56,2190
+	| DTDEmptyDTDEmpty57,2215
+	| DTDAnyDTDAny58,2228
+	| DTDChildDTDChild59,2239
+type dtd_attr_defaultdtd_attr_default61,2267
+	| DTDDefaultDTDDefault62,2292
+	| DTDRequiredDTDRequired63,2317
+	| DTDImpliedDTDImplied64,2333
+	| DTDFixedDTDFixed65,2348
+type dtd_attr_typedtd_attr_type67,2373
+	| DTDCDataDTDCData68,2395
+	| DTDNMTokenDTDNMToken69,2408
+	| DTDEnumDTDEnum70,2423
+type dtd_itemdtd_item72,2452
+	| DTDAttributeDTDAttribute73,2469
+	| DTDElementDTDElement74,2540
+type dtddtd76,2586
+type checkedchecked78,2614
+val parse_fileparse_file85,2839
+val parse_inparse_in89,3002
+val parse_stringparse_string93,3162
+val checkcheck97,3328
+val proveprove107,3840
+val to_stringto_string112,4073
+type parse_error_msgparse_error_msg130,4697
+	| InvalidDTDDeclInvalidDTDDecl131,4721
+	| InvalidDTDElementInvalidDTDElement132,4740
+	| InvalidDTDAttributeInvalidDTDAttribute133,4762
+	| InvalidDTDTagInvalidDTDTag134,4786
+	| DTDItemExpectedDTDItemExpected135,4804
+type check_errorcheck_error137,4826
+	| ElementDefinedTwiceElementDefinedTwice138,4846
+	| AttributeDefinedTwiceAttributeDefinedTwice139,4880
+	| ElementEmptyContructorElementEmptyContructor140,4925
+	| ElementReferencedElementReferenced141,4962
+	| ElementNotDeclaredElementNotDeclared142,5003
+type prove_errorprove_error144,5038
+	| UnexpectedPCDataUnexpectedPCData145,5058
+	| UnexpectedTagUnexpectedTag146,5079
+	| UnexpectedAttributeUnexpectedAttribute147,5107
+	| InvalidAttributeValueInvalidAttributeValue148,5141
+	| RequiredAttributeRequiredAttribute149,5177
+	| ChildExpectedChildExpected150,5209
+	| EmptyExpectedEmptyExpected151,5237
+type parse_errorparse_error153,5257
+exception Parse_errorParse_error155,5311
+exception Check_errorCheck_error156,5349
+exception Prove_errorProve_error157,5387
+val parse_errorparse_error159,5427
+val check_errorcheck_error160,5468
+val prove_errorprove_error161,5509
+val _raises_raises166,5593
+
+/usr/local/soft/ocaml/3.10.0//lib/ocaml/dynlink.mli,1157
+Dynlink1,0
+val initinit20,1030
+val loadfileloadfile26,1212
+val loadfile_privateloadfile_private35,1664
+val allow_onlyallow_only42,1895
+val prohibitprohibit55,2641
+val default_available_unitsdefault_available_units61,2907
+val allow_unsafe_modulesallow_unsafe_modules66,3122
+val add_interfacesadd_interfaces82,3903
+val add_available_unitsadd_available_units88,4200
+val clear_available_unitsclear_available_units96,4648
+type linking_errorlinking_error102,4808
+    Undefined_globalUndefined_global103,4829
+  | Unavailable_primitiveUnavailable_primitive104,4860
+  | Uninitialized_globalUninitialized_global105,4896
+type errorerror107,4932
+    Not_a_bytecode_fileNot_a_bytecode_file108,4945
+  | Inconsistent_importInconsistent_import109,4979
+  | Unavailable_unitUnavailable_unit110,5013
+  | Unsafe_fileUnsafe_file111,5044
+  | Linking_errorLinking_error112,5060
+  | Corrupted_interfaceCorrupted_interface113,5104
+  | File_not_foundFile_not_found114,5138
+  | Cannot_open_dllCannot_open_dll115,5167
+exception ErrorError117,5198
+val error_messageerror_message121,5340
+val digest_interfacedigest_interface129,5478
+
+/usr/local/soft/ocaml/3.10.0//lib/ocaml/event.mli,360
+Event1,0
+type 'a channelchannel24,1268
+val new_channelnew_channel27,1357
+type +'a eventevent30,1424
+val sendsend35,1653
+val receivereceive40,1850
+val alwaysalways42,1888
+val choosechoose46,2037
+val wrapwrap50,2179
+val wrap_abortwrap_abort55,2385
+val guardguard60,2620
+val syncsync66,2880
+val selectselect72,3143
+val pollpoll76,3282
+
+/usr/local/soft/ocaml/3.10.0//lib/ocaml/filename.mli,514
+Filename1,0
+val current_dir_namecurrent_dir_name18,989
+val parent_dir_nameparent_dir_name21,1095
+val concatconcat25,1218
+val is_relativeis_relative29,1355
+val is_implicitis_implicit34,1530
+val check_suffixcheck_suffix40,1815
+val chop_suffixchop_suffix44,1962
+val chop_extensionchop_extension49,2170
+val basenamebasename57,2475
+val dirnamedirname68,3036
+val temp_filetemp_file71,3101
+val open_temp_fileopen_temp_file82,3609
+val temp_dir_nametemp_dir_name93,4268
+val quotequote101,4550
+
+/usr/local/soft/ocaml/3.10.0//lib/ocaml/format.mli,5318
+Format1,0
+val open_boxopen_box78,3791
+val close_boxclose_box90,4326
+val print_stringprint_string95,4451
+val print_asprint_as98,4547
+val print_intprint_int103,4716
+val print_floatprint_float106,4792
+val print_charprint_char109,4885
+val print_boolprint_bool112,4964
+val print_spaceprint_space118,5066
+val print_cutprint_cut125,5351
+val print_breakprint_break133,5694
+val print_flushprint_flush143,6130
+val print_newlineprint_newline147,6266
+val force_newlineforce_newline150,6361
+val print_if_newlineprint_if_newline154,6514
+val set_marginset_margin162,6713
+val get_marginget_margin170,7064
+val set_max_indentset_max_indent176,7184
+val get_max_indentget_max_indent185,7581
+val set_max_boxesset_max_boxes190,7769
+val get_max_boxesget_max_boxes198,8073
+val over_max_boxesover_max_boxes201,8176
+val open_hboxopen_hbox207,8324
+val open_vboxopen_vbox212,8535
+val open_hvboxopen_hvbox220,8811
+val open_hovboxopen_hovbox229,9158
+val open_tboxopen_tbox241,9550
+val close_tboxclose_tbox244,9613
+val print_tbreakprint_tbreak247,9701
+val set_tabset_tab259,10202
+val print_tabprint_tab262,10294
+val set_ellipsis_textset_ellipsis_text268,10409
+val get_ellipsis_textget_ellipsis_text272,10562
+type tagtag278,10662
+val open_tagopen_tag327,13260
+val close_tagclose_tag332,13512
+val set_tagsset_tags338,13796
+val set_print_tagsset_print_tags340,13902
+val set_mark_tagsset_mark_tags341,13938
+val get_print_tagsget_print_tags344,14108
+val get_mark_tagsget_mark_tags345,14144
+val set_formatter_out_channelset_formatter_out_channel351,14290
+val set_formatter_output_functionsset_formatter_output_functions354,14409
+val get_formatter_output_functionsget_formatter_output_functions365,14963
+type formatter_tag_functionsformatter_tag_functions371,15177
+  mark_open_tagmark_open_tag372,15210
+  mark_close_tagmark_close_tag373,15243
+  print_open_tagprint_open_tag374,15277
+  print_close_tagprint_close_tag375,15309
+val set_formatter_tag_functionsset_formatter_tag_functions384,15750
+val get_formatter_tag_functionsget_formatter_tag_functions402,16567
+val set_all_formatter_output_functionsset_all_formatter_output_functions409,16806
+val get_all_formatter_output_functionsget_all_formatter_output_functions430,17831
+type formatterformatter442,18133
+val formatter_of_out_channelformatter_of_out_channel457,18921
+val std_formatterstd_formatter461,19091
+val err_formattererr_formatter465,19249
+val formatter_of_bufferformatter_of_buffer470,19428
+val stdbufstdbuf476,19722
+val str_formatterstr_formatter479,19805
+val flush_str_formatterflush_str_formatter484,20004
+val make_formattermake_formatter488,20168
+val pp_open_hboxpp_open_hbox497,20570
+val pp_open_vboxpp_open_vbox498,20617
+val pp_open_hvboxpp_open_hvbox499,20663
+val pp_open_hovboxpp_open_hovbox500,20710
+val pp_open_boxpp_open_box501,20758
+val pp_close_boxpp_close_box502,20803
+val pp_open_tagpp_open_tag503,20850
+val pp_close_tagpp_close_tag504,20898
+val pp_print_stringpp_print_string505,20945
+val pp_print_aspp_print_as506,20997
+val pp_print_intpp_print_int507,21052
+val pp_print_floatpp_print_float508,21098
+val pp_print_charpp_print_char509,21148
+val pp_print_boolpp_print_bool510,21196
+val pp_print_breakpp_print_break511,21244
+val pp_print_cutpp_print_cut512,21299
+val pp_print_spacepp_print_space513,21346
+val pp_force_newlinepp_force_newline514,21395
+val pp_print_flushpp_print_flush515,21446
+val pp_print_newlinepp_print_newline516,21495
+val pp_print_if_newlinepp_print_if_newline517,21546
+val pp_open_tboxpp_open_tbox518,21600
+val pp_close_tboxpp_close_tbox519,21647
+val pp_print_tbreakpp_print_tbreak520,21695
+val pp_set_tabpp_set_tab521,21751
+val pp_print_tabpp_print_tab522,21796
+val pp_set_tagspp_set_tags523,21843
+val pp_set_print_tagspp_set_print_tags524,21889
+val pp_set_mark_tagspp_set_mark_tags525,21941
+val pp_get_print_tagspp_get_print_tags526,21992
+val pp_get_mark_tagspp_get_mark_tags527,22044
+val pp_set_marginpp_set_margin528,22095
+val pp_get_marginpp_get_margin529,22142
+val pp_set_max_indentpp_set_max_indent530,22189
+val pp_get_max_indentpp_get_max_indent531,22240
+val pp_set_max_boxespp_set_max_boxes532,22291
+val pp_get_max_boxespp_get_max_boxes533,22341
+val pp_over_max_boxespp_over_max_boxes534,22391
+val pp_set_ellipsis_textpp_set_ellipsis_text535,22443
+val pp_get_ellipsis_textpp_get_ellipsis_text536,22500
+val pp_set_formatter_out_channelpp_set_formatter_out_channel537,22557
+val pp_set_formatter_output_functionspp_set_formatter_output_functions538,22627
+val pp_get_formatter_output_functionspp_get_formatter_output_functions540,22741
+val pp_set_all_formatter_output_functionspp_set_all_formatter_output_functions542,22854
+val pp_get_all_formatter_output_functionspp_get_all_formatter_output_functions545,23034
+val pp_set_formatter_tag_functionspp_set_formatter_tag_functions549,23188
+val pp_get_formatter_tag_functionspp_get_formatter_tag_functions551,23274
+val fprintffprintf561,23653
+val printfprintf622,26893
+val eprintfeprintf625,27007
+val sprintfsprintf628,27122
+val bprintfbprintf641,27775
+val kfprintfkfprintf654,28398
+val ifprintfifprintf659,28644
+val ksprintfksprintf663,28834
+val kprintfkprintf667,29012
+
+/usr/local/soft/ocaml/3.10.0//lib/ocaml/gc.mli,1519
+Gc1,0
+type statstat18,1017
+  { minor_wordsminor_words19,1029
+    promoted_wordspromoted_words25,1273
+    major_wordsmajor_words30,1468
+    minor_collectionsminor_collections34,1618
+    major_collectionsmajor_collections37,1718
+    heap_wordsheap_words41,1842
+    heap_chunksheap_chunks44,1916
+    live_wordslive_words47,2018
+    live_blockslive_blocks51,2135
+    free_wordsfree_words54,2211
+    free_blocksfree_blocks57,2279
+    largest_freelargest_free60,2349
+    fragmentsfragments63,2440
+    compactionscompactions68,2635
+    top_heap_wordstop_heap_words71,2728
+type controlcontrol82,3137
+  { mutable minor_heap_sizeminor_heap_size83,3152
+    mutable major_heap_incrementmajor_heap_increment87,3318
+    mutable space_overheadspace_overhead91,3465
+    mutable verboseverbose100,3895
+    mutable max_overheadmax_overhead116,4634
+    mutable stack_limitstack_limit125,5082
+external statstat135,5520
+external quick_statquick_stat140,5724
+external counterscounters146,6024
+external getget150,6203
+external setset153,6328
+external minorminor157,6528
+external major_slicemajor_slice160,6612
+external majormajor165,6885
+external full_majorfull_major168,7010
+external compactcompact173,7235
+val print_statprint_stat177,7406
+val allocated_bytesallocated_bytes181,7565
+val finalisefinalise186,7776
+val finalise_releasefinalise_release242,10535
+type alarmalarm247,10753
+val create_alarmcreate_alarm252,10935
+val delete_alarmdelete_alarm258,11207
+
+/usr/local/soft/ocaml/3.10.0//lib/ocaml/genlex.mli,207
+Genlex1,0
+type tokentoken50,2353
+    KwdKwd51,2366
+  | IdentIdent52,2384
+  | IntInt53,2404
+  | FloatFloat54,2419
+  | StringString55,2438
+  | CharChar56,2459
+val make_lexermake_lexer58,2477
+
+/usr/local/soft/ocaml/3.10.0//lib/ocaml/graphics.mli,2773
+Graphics1,0
+exception Graphic_failureGraphic_failure18,1004
+val open_graphopen_graph24,1137
+val close_graphclose_graph32,1560
+val set_window_titleset_window_title35,1666
+val resize_windowresize_window38,1750
+external clear_graphclear_graph41,1835
+external size_xsize_x44,1930
+external size_ysize_y47,2011
+type colorcolor55,2341
+val rgbrgb62,2648
+external set_colorset_color67,2863
+val backgroundbackground70,2959
+val foregroundforeground73,3017
+val blackblack83,3350
+val whitewhite84,3368
+val redred85,3386
+val greengreen86,3402
+val blueblue87,3420
+val yellowyellow88,3437
+val cyancyan89,3456
+val magentamagenta90,3473
+external plotplot95,3530
+val plotsplots98,3643
+external point_colorpoint_color101,3743
+external movetomoveto105,3910
+val rmovetormoveto108,4002
+external current_xcurrent_x111,4109
+external current_ycurrent_y114,4214
+val current_pointcurrent_point117,4319
+external linetolineto120,4407
+val rlinetorlineto124,4587
+val curvetocurveto129,4775
+val draw_rectdraw_rect134,5005
+val draw_poly_linedraw_poly_line140,5254
+val draw_polydraw_poly147,5543
+val draw_segmentsdraw_segments153,5746
+val draw_arcdraw_arc160,6075
+val draw_ellipsedraw_ellipse166,6400
+val draw_circledraw_circle172,6665
+val set_line_widthset_line_width177,6869
+external draw_chardraw_char186,7235
+external draw_stringdraw_string189,7327
+external set_fontset_font194,7574
+val set_text_sizeset_text_size199,7759
+external text_sizetext_size204,7935
+val fill_rectfill_rect211,8120
+external fill_polyfill_poly216,8358
+val fill_arcfill_arc220,8552
+val fill_ellipsefill_ellipse224,8735
+val fill_circlefill_circle228,8899
+type imageimage235,9072
+val transptransp239,9210
+external make_imagemake_image247,9605
+external dump_imagedump_image253,9877
+external draw_imagedraw_image256,9993
+val get_imageget_image259,10138
+external create_imagecreate_image263,10320
+external blit_imageblit_image269,10603
+type statusstatus279,11015
+  { mouse_xmouse_x280,11029
+    mouse_ymouse_y281,11094
+    buttonbutton282,11159
+    keypressedkeypressed283,11232
+    keykey284,11302
+type eventevent289,11407
+    Button_downButton_down290,11420
+  | Button_upButton_up291,11485
+  | Key_pressedKey_pressed292,11551
+  | Mouse_motionMouse_motion293,11607
+  | PollPoll294,11665
+external wait_next_eventwait_next_event298,11775
+val mouse_posmouse_pos310,12376
+val button_downbutton_down316,12639
+val read_keyread_key319,12743
+val key_pressedkey_pressed323,12875
+external soundsound330,13018
+val auto_synchronizeauto_synchronize336,13214
+external synchronizesynchronize358,14121
+external display_modedisplay_mode364,14323
+external remember_moderemember_mode372,14694
+
+/usr/local/soft/ocaml/3.10.0//lib/ocaml/graphicsX11.mli,168
+GraphicsX111,0
+type window_idwindow_id18,1021
+val window_idwindow_id20,1046
+val open_subwindowopen_subwindow25,1221
+val close_subwindowclose_subwindow29,1391
+
+/usr/local/soft/ocaml/3.10.0//lib/ocaml/hashtbl.mli,934
+Hashtbl1,0
+tt25,1101
+val createcreate28,1178
+val clearclear35,1473
+val addadd39,1533
+val copycopy46,1870
+val findfind49,1952
+val find_allfind_all53,2112
+val memmem59,2370
+val removeremove62,2466
+val replacereplace67,2677
+val iteriter74,3012
+val foldfold83,3526
+val lengthlength95,4075
+module type HashedTypeHashedType104,4344
+    tt106,4375
+    val equalequal108,4431
+    val hashhash110,4520
+module type SS125,5229
+    type keykey127,5251
+    tt128,5264
+    val createcreate129,5278
+    val clearclear130,5307
+    val copycopy131,5336
+    val addadd132,5364
+    val removeremove133,5404
+    val findfind134,5441
+    val find_allfind_all135,5474
+    val replacereplace136,5516
+    val memmem137,5560
+    val iteriter138,5594
+    val foldfold139,5645
+    val lengthlength140,5704
+module MakeMake144,5800
+val hashhash158,6352
+external hash_paramhash_param165,6619
+
+/usr/local/soft/ocaml/3.10.0//lib/ocaml/int32.mli,982
+Int321,0
+val zerozero29,1505
+val oneone32,1552
+val minus_oneminus_one35,1598
+external negneg38,1651
+external addadd41,1720
+external subsub44,1792
+external mulmul47,1867
+external divdiv50,1945
+external remrem55,2196
+val succsucc61,2489
+val predpred64,2578
+val absabs67,2669
+val max_intmax_int70,2745
+val min_intmin_int73,2828
+external logandlogand77,2909
+external logorlogor80,2995
+external logxorlogxor83,3078
+val lognotlognot86,3173
+external shift_leftshift_left89,3234
+external shift_rightshift_right93,3414
+external shift_right_logicalshift_right_logical99,3700
+external of_intof_int105,4001
+external to_intto_int109,4137
+external of_floatof_float116,4449
+external to_floatto_float122,4775
+external of_stringof_string125,4903
+val to_stringto_string134,5362
+external bits_of_floatbits_of_float137,5471
+external float_of_bitsfloat_of_bits144,5824
+tt149,6064
+val comparecompare152,6129
+external formatformat162,6463
+
+/usr/local/soft/ocaml/3.10.0//lib/ocaml/int64.mli,1142
+Int641,0
+val zerozero30,1504
+val oneone33,1551
+val minus_oneminus_one36,1597
+external negneg39,1650
+external addadd42,1719
+external subsub45,1791
+external mulmul48,1866
+external divdiv51,1944
+external remrem56,2195
+val succsucc62,2488
+val predpred65,2577
+val absabs68,2668
+val max_intmax_int71,2744
+val min_intmin_int74,2827
+external logandlogand77,2907
+external logorlogor80,2993
+external logxorlogxor83,3076
+val lognotlognot86,3171
+external shift_leftshift_left89,3232
+external shift_rightshift_right93,3412
+external shift_right_logicalshift_right_logical99,3698
+external of_intof_int105,3999
+external to_intto_int109,4135
+external of_floatof_float117,4521
+external to_floatto_float123,4847
+external of_int32of_int32127,4976
+external to_int32to_int32131,5126
+external of_nativeintof_nativeint137,5379
+external to_nativeintto_nativeint141,5545
+external of_stringof_string147,5810
+val to_stringto_string156,6269
+external bits_of_floatbits_of_float159,6371
+external float_of_bitsfloat_of_bits166,6724
+tt171,6964
+val comparecompare174,7029
+external formatformat184,7363
+
+/usr/local/soft/ocaml/3.10.0//lib/ocaml/lazy.mli,231
+Lazy1,0
+tt18,981
+exception UndefinedUndefined40,1974
+val forceforce42,1997
+val force_valforce_val51,2348
+val lazy_from_funlazy_from_fun61,2781
+val lazy_from_vallazy_from_val65,2912
+val lazy_is_vallazy_is_val70,3101
+
+/usr/local/soft/ocaml/3.10.0//lib/ocaml/lexing.mli,1820
+Lexing1,0
+type positionposition20,1040
+  pos_fnamepos_fname21,1058
+  pos_lnumpos_lnum22,1080
+  pos_bolpos_bol23,1098
+  pos_cnumpos_cnum24,1115
+val dummy_posdummy_pos37,1653
+type lexbuflexbuf46,1800
+  { refill_buffrefill_buff47,1814
+    mutable lex_bufferlex_buffer48,1848
+    mutable lex_buffer_lenlex_buffer_len49,1881
+    mutable lex_abs_poslex_abs_pos50,1915
+    mutable lex_start_poslex_start_pos51,1946
+    mutable lex_curr_poslex_curr_pos52,1979
+    mutable lex_last_poslex_last_pos53,2011
+    mutable lex_last_actionlex_last_action54,2043
+    mutable lex_eof_reachedlex_eof_reached55,2078
+    mutable lex_memlex_mem56,2114
+    mutable lex_start_plex_start_p57,2147
+    mutable lex_curr_plex_curr_p58,2183
+val from_channelfrom_channel74,2893
+val from_stringfrom_string79,3127
+val from_functionfrom_function85,3369
+val lexemelexeme106,4347
+val lexeme_charlexeme_char110,4473
+val lexeme_startlexeme_start114,4606
+val lexeme_endlexeme_end119,4815
+val lexeme_start_plexeme_start_p124,5043
+val lexeme_end_plexeme_end_p128,5171
+val flush_inputflush_input134,5331
+val sub_lexemesub_lexeme146,5655
+val sub_lexeme_optsub_lexeme_opt147,5703
+val sub_lexeme_charsub_lexeme_char148,5762
+val sub_lexeme_char_optsub_lexeme_char_opt149,5806
+type lex_tableslex_tables151,5862
+  { lex_baselex_base152,5880
+    lex_backtrklex_backtrk153,5903
+    lex_defaultlex_default154,5929
+    lex_translex_trans155,5955
+    lex_checklex_check156,5979
+    lex_base_codelex_base_code157,6003
+    lex_backtrk_codelex_backtrk_code158,6031
+    lex_default_codelex_default_code159,6062
+    lex_trans_codelex_trans_code160,6093
+    lex_check_codelex_check_code161,6122
+    lex_codelex_code162,6151
+val engineengine164,6175
+val new_enginenew_engine165,6223
+
+/usr/local/soft/ocaml/3.10.0//lib/ocaml/list.mli,1148
+List1,0
+val lengthlength29,1509
+val hdhd32,1603
+val tltl36,1724
+val nthnth40,1855
+val revrev46,2107
+val appendappend49,2159
+val rev_appendrev_append54,2377
+val concatconcat59,2605
+val flattenflatten65,2866
+val iteriter73,3036
+val mapmap78,3227
+val rev_maprev_map83,3445
+val fold_leftfold_left88,3627
+val fold_rightfold_right92,3766
+val iter2iter2100,3965
+val map2map2106,4191
+val rev_map2rev_map2112,4428
+val fold_left2fold_left2117,4638
+val fold_right2fold_right2123,4891
+val for_allfor_all133,5195
+val existsexists138,5400
+val for_all2for_all2143,5613
+val exists2exists2148,5816
+val memmem153,6017
+val memqmemq157,6128
+val findfind165,6306
+val filterfilter171,6526
+val find_allfind_all176,6734
+val partitionpartition179,6839
+val assocassoc190,7217
+val assqassq198,7532
+val mem_assocmem_assoc202,7679
+val mem_assqmem_assq206,7852
+val remove_assocremove_assoc210,8009
+val remove_assqremove_assq215,8195
+val splitsplit223,8418
+val combinecombine229,8617
+val sortsort240,8913
+val stable_sortstable_sort256,9641
+val fast_sortfast_sort265,9969
+val mergemerge269,10120
+
+/usr/local/soft/ocaml/3.10.0//lib/ocaml/listLabels.mli,1155
+ListLabels1,0
+val lengthlength29,1516
+val hdhd32,1610
+val tltl36,1731
+val nthnth40,1862
+val revrev46,2114
+val appendappend49,2166
+val rev_appendrev_append54,2384
+val concatconcat59,2618
+val flattenflatten65,2879
+val iteriter73,3049
+val mapmap78,3242
+val rev_maprev_map83,3462
+val fold_leftfold_left88,3658
+val fold_rightfold_right92,3804
+val iter2iter2100,4010
+val map2map2106,4238
+val rev_map2rev_map2112,4477
+val fold_left2fold_left2117,4701
+val fold_right2fold_right2124,4963
+val for_allfor_all135,5276
+val existsexists140,5483
+val for_all2for_all2145,5698
+val exists2exists2150,5909
+val memmem155,6118
+val memqmemq159,6233
+val findfind167,6421
+val filterfilter173,6643
+val find_allfind_all178,6853
+val partitionpartition181,6966
+val assocassoc192,7346
+val assqassq200,7661
+val mem_assocmem_assoc204,7814
+val mem_assqmem_assq208,7997
+val remove_assocremove_assoc212,8164
+val remove_assqremove_assq217,8350
+val splitsplit225,8579
+val combinecombine231,8778
+val sortsort242,9074
+val stable_sortstable_sort258,9806
+val fast_sortfast_sort267,10144
+val mergemerge271,10299
+
+/usr/local/soft/ocaml/3.10.0//lib/ocaml/map.mli,521
+Map1,0
+module type OrderedTypeOrderedType26,1359
+    tt28,1391
+    val comparecompare30,1441
+module type SS41,1979
+    type keykey43,2001
+    tt46,2052
+    val emptyempty49,2128
+    val is_emptyis_empty52,2175
+    val addadd55,2254
+    val findfind60,2478
+    val removeremove64,2632
+    val memmem68,2804
+    val iteriter72,2939
+    val mapmap80,3387
+    val mapimapi87,3743
+    val foldfold91,3938
+    val comparecompare96,4194
+    val equalequal100,4406
+module MakeMake109,4770
+
+/usr/local/soft/ocaml/3.10.0//lib/ocaml/marshal.mli,399
+Marshal1,0
+type extern_flagsextern_flags47,2603
+    No_sharingNo_sharing48,2623
+  | ClosuresClosures49,2693
+val to_channelto_channel52,2820
+external to_stringto_string82,4425
+val to_bufferto_buffer89,4709
+val from_channelfrom_channel98,5171
+val from_stringfrom_string104,5430
+val header_sizeheader_size110,5707
+val data_sizedata_size132,6775
+val total_sizetotal_size135,6847
+
+/usr/local/soft/ocaml/3.10.0//lib/ocaml/moreLabels.mli,2436
+MoreLabels1,0
+module HashtblHashtbl26,1257
+  tt27,1278
+  val createcreate28,1317
+  val clearclear29,1350
+  val addadd30,1383
+  val copycopy31,1435
+  val findfind32,1473
+  val find_allfind_all33,1509
+  val memmem34,1554
+  val removeremove35,1591
+  val replacereplace36,1631
+  val iteriter37,1687
+  val foldfold38,1752
+  val lengthlength41,1844
+  module type HashedTypeHashedType42,1877
+  module type SS43,1923
+      type keykey45,1949
+      and 'a tt46,1964
+      val createcreate47,1979
+      val clearclear48,2010
+      val copycopy49,2041
+      val addadd50,2071
+      val removeremove51,2122
+      val findfind52,2161
+      val find_allfind_all53,2196
+      val replacereplace54,2240
+      val memmem55,2295
+      val iteriter56,2331
+      val foldfold57,2395
+      val lengthlength60,2492
+  module MakeMake62,2531
+  val hashhash63,2597
+  external hash_paramhash_param64,2620
+module MapMap68,2714
+  module type OrderedTypeOrderedType69,2731
+  module type SS70,2775
+      type keykey72,2801
+      and (+'a) tt73,2816
+      val emptyempty74,2834
+      val is_emptyis_empty75,2857
+      val addadd76,2890
+      val findfind77,2941
+      val removeremove78,2976
+      val memmem79,3015
+      val iteriter80,3051
+      val mapmap81,3115
+      val mapimapi82,3160
+      val foldfold83,3213
+      val comparecompare86,3310
+      val equalequal87,3374
+  module MakeMake89,3444
+module SetSet92,3520
+  module type OrderedTypeOrderedType93,3537
+  module type SS94,3581
+      type eltelt96,3607
+      and tt97,3622
+      val emptyempty98,3634
+      val is_emptyis_empty99,3654
+      val memmem100,3685
+      val addadd101,3718
+      val singletonsingleton102,3748
+      val removeremove103,3779
+      val unionunion104,3812
+      val interinter105,3842
+      val diffdiff106,3872
+      val comparecompare107,3901
+      val equalequal108,3935
+      val subsetsubset109,3968
+      val iteriter110,4002
+      val foldfold111,4048
+      val for_allfor_all112,4107
+      val existsexists113,4156
+      val filterfilter114,4204
+      val partitionpartition115,4249
+      val cardinalcardinal116,4301
+      val elementselements117,4331
+      val min_eltmin_elt118,4366
+      val max_eltmax_elt119,4395
+      val choosechoose120,4424
+      val splitsplit121,4452
+  module MakeMake123,4502
+
+/usr/local/soft/ocaml/3.10.0//lib/ocaml/mutex.mli,127
+Mutex1,0
+tt29,1326
+val createcreate32,1362
+val locklock35,1413
+val try_locktry_lock41,1655
+val unlockunlock47,1891
+
+/usr/local/soft/ocaml/3.10.0//lib/ocaml/nat.mli,1986
+Nat1,0
+type natnat18,1000
+external create_natcreate_nat23,1138
+val make_natmake_nat24,1185
+external set_to_zero_natset_to_zero_nat25,1210
+external blit_natblit_nat26,1282
+val copy_natcopy_nat27,1354
+external set_digit_natset_digit_nat28,1393
+external nth_digit_natnth_digit_nat29,1461
+val length_natlength_nat30,1521
+external num_digits_natnum_digits_nat31,1550
+external num_leading_zero_bits_in_digitnum_leading_zero_bits_in_digit32,1619
+external is_digit_intis_digit_int33,1713
+external is_digit_zerois_digit_zero34,1772
+external is_digit_normalizedis_digit_normalized35,1833
+external is_digit_oddis_digit_odd36,1906
+val is_zero_natis_zero_nat37,1965
+val is_nat_intis_nat_int38,2008
+val int_of_natint_of_nat39,2050
+val nat_of_intnat_of_int40,2077
+external incr_natincr_nat41,2104
+external add_natadd_nat42,2168
+external complement_natcomplement_nat43,2268
+external decr_natdecr_nat44,2338
+external sub_natsub_nat45,2402
+external mult_digit_natmult_digit_nat46,2502
+external mult_natmult_nat47,2630
+external square_natsquare_nat48,2747
+external shift_left_natshift_left_nat49,2849
+external div_digit_natdiv_digit_nat50,2964
+external div_natdiv_nat51,3097
+external shift_right_natshift_right_nat52,3191
+external compare_digits_natcompare_digits_nat53,3309
+external compare_natcompare_nat54,3393
+val eq_nateq_nat55,3498
+val le_natle_nat56,3558
+val lt_natlt_nat57,3618
+val ge_natge_nat58,3678
+val gt_natgt_nat59,3738
+external land_digit_natland_digit_nat60,3798
+external lor_digit_natlor_digit_nat61,3875
+external lxor_digit_natlxor_digit_nat62,3950
+val gcd_natgcd_nat63,4027
+val sqrt_natsqrt_nat64,4087
+val string_of_natstring_of_nat65,4127
+val nat_of_stringnat_of_string66,4161
+val sys_nat_of_stringsys_nat_of_string67,4195
+val float_of_natfloat_of_nat68,4254
+val make_power_basemake_power_base69,4286
+val power_base_intpower_base_int70,4333
+val length_of_digitlength_of_digit71,4372
+
+/usr/local/soft/ocaml/3.10.0//lib/ocaml/nativeint.mli,992
+Nativeint1,0
+val zerozero33,1687
+val oneone36,1737
+val minus_oneminus_one39,1786
+external negneg42,1842
+external addadd45,1923
+external subsub48,2011
+external mulmul51,2102
+external divdiv54,2196
+external remrem59,2463
+val succsucc66,2861
+val predpred70,2972
+val absabs74,3085
+val sizesize77,3169
+val max_intmax_int81,3311
+val min_intmin_int86,3468
+external logandlogand91,3619
+external logorlogor94,3721
+external logxorlogxor97,3820
+val lognotlognot100,3931
+external shift_leftshift_left103,4000
+external shift_rightshift_right109,4283
+external shift_right_logicalshift_right_logical115,4590
+external of_intof_int124,4918
+external to_intto_int128,5065
+external of_floatof_float133,5267
+external to_floatto_float140,5612
+external of_int32of_int32143,5748
+external to_int32to_int32147,5891
+external of_stringof_string154,6193
+val to_stringto_string163,6664
+tt166,6770
+val comparecompare169,6839
+external formatformat179,7177
+
+/usr/local/soft/ocaml/3.10.0//lib/ocaml/num.mli,1705
+Num1,0
+type numnum27,1198
+    IntInt28,1210
+  | Big_intBig_int29,1225
+  | RatioRatio30,1248
+val ( +/+/36,1304
+val add_numadd_num39,1366
+val minus_numminus_num42,1415
+val ( -/-/45,1466
+val sub_numsub_num48,1528
+val ( */*/51,1580
+val mult_nummult_num54,1643
+val square_numsquare_num57,1699
+val ( ////60,1744
+val div_numdiv_num63,1806
+val quo_numquo_num66,1855
+val mod_nummod_num69,1925
+val ( **/**/72,1996
+val power_numpower_num75,2062
+val abs_numabs_num78,2119
+val succ_numsucc_num81,2168
+val pred_numpred_num84,2220
+val incr_numincr_num87,2272
+val decr_numdecr_num90,2372
+val is_integer_numis_integer_num93,2472
+val integer_numinteger_num98,2618
+val floor_numfloor_num102,2749
+val round_numround_num105,2851
+val ceiling_numceiling_num109,2973
+val sign_numsign_num113,3080
+val ( =/=/118,3217
+val ( </</119,3249
+val ( >/>/120,3281
+val ( <=/<=/121,3313
+val ( >=/>=/122,3346
+val ( <>/<>/123,3379
+val eq_numeq_num124,3412
+val lt_numlt_num125,3444
+val le_numle_num126,3476
+val gt_numgt_num127,3508
+val ge_numge_num128,3540
+val compare_numcompare_num130,3573
+val max_nummax_num134,3727
+val min_nummin_num137,3808
+val string_of_numstring_of_num143,3925
+val approx_num_fixapprox_num_fix146,4024
+val approx_num_expapprox_num_exp149,4100
+val num_of_stringnum_of_string157,4526
+val int_of_numint_of_num162,4644
+val num_of_intnum_of_int163,4672
+val nat_of_numnat_of_num164,4700
+val num_of_natnum_of_nat165,4728
+val num_of_big_intnum_of_big_int166,4756
+val big_int_of_numbig_int_of_num167,4792
+val ratio_of_numratio_of_num168,4828
+val num_of_rationum_of_ratio169,4860
+val float_of_numfloat_of_num170,4892
+
+/usr/local/soft/ocaml/3.10.0//lib/ocaml/obj.mli,970
+Obj1,0
+tt21,1037
+external reprrepr23,1045
+external objobj24,1083
+external magicmagic25,1120
+external is_blockis_block26,1160
+external is_intis_int27,1212
+external tagtag28,1256
+external set_tagset_tag29,1297
+external sizesize30,1354
+external truncatetruncate31,1393
+external fieldfield32,1452
+external set_fieldset_field33,1498
+external new_blocknew_block34,1560
+external dupdup35,1616
+val lazy_taglazy_tag37,1656
+val closure_tagclosure_tag38,1675
+val object_tagobject_tag39,1697
+val infix_taginfix_tag40,1718
+val forward_tagforward_tag41,1738
+val no_scan_tagno_scan_tag42,1760
+val abstract_tagabstract_tag43,1782
+val string_tagstring_tag44,1805
+val double_tagdouble_tag45,1826
+val double_array_tagdouble_array_tag46,1847
+val custom_tagcustom_tag47,1874
+val final_tagfinal_tag48,1895
+val int_tagint_tag50,1934
+val out_of_heap_tagout_of_heap_tag51,1952
+val marshalmarshal56,2067
+val unmarshalunmarshal57,2093
+
+/usr/local/soft/ocaml/3.10.0//lib/ocaml/oo.mli,138
+Oo1,0
+val copycopy18,980
+external idid22,1141
+val new_methodnew_method28,1327
+val public_method_labelpublic_method_label29,1373
+
+/usr/local/soft/ocaml/3.10.0//lib/ocaml/outcometree.mli,2513
+Outcometree1,0
+type out_identout_ident24,1229
+  | Oide_applyOide_apply25,1246
+  | Oide_dotOide_dot26,1286
+  | Oide_identOide_ident27,1321
+type out_valueout_value29,1347
+  | Oval_arrayOval_array30,1364
+  | Oval_charOval_char31,1397
+  | Oval_constrOval_constr32,1419
+  | Oval_ellipsisOval_ellipsis33,1465
+  | Oval_floatOval_float34,1483
+  | Oval_intOval_int35,1507
+  | Oval_int32Oval_int3236,1527
+  | Oval_int64Oval_int6437,1551
+  | Oval_nativeintOval_nativeint38,1575
+  | Oval_listOval_list39,1607
+  | Oval_printerOval_printer40,1639
+  | Oval_recordOval_record41,1686
+  | Oval_stringOval_string42,1734
+  | Oval_stuffOval_stuff43,1760
+  | Oval_tupleOval_tuple44,1785
+  | Oval_variantOval_variant45,1818
+type out_typeout_type47,1865
+  | Otyp_abstractOtyp_abstract48,1881
+  | Otyp_aliasOtyp_alias49,1899
+  | Otyp_arrowOtyp_arrow50,1935
+  | Otyp_classOtyp_class51,1982
+  | Otyp_constrOtyp_constr52,2033
+  | Otyp_manifestOtyp_manifest53,2078
+  | Otyp_objectOtyp_object54,2119
+  | Otyp_recordOtyp_record55,2177
+  | Otyp_stuffOtyp_stuff56,2228
+  | Otyp_sumOtyp_sum57,2253
+  | Otyp_tupleOtyp_tuple58,2299
+  | Otyp_varOtyp_var59,2331
+  | Otyp_variantOtyp_variant60,2361
+  | Otyp_polyOtyp_poly62,2436
+and out_variantout_variant63,2476
+  | Ovar_fieldsOvar_fields64,2494
+  | Ovar_nameOvar_name65,2550
+type out_class_typeout_class_type67,2594
+  | Octy_constrOcty_constr68,2616
+  | Octy_funOcty_fun69,2661
+  | Octy_signatureOcty_signature70,2712
+and out_class_sig_itemout_class_sig_item71,2776
+  | Ocsg_constraintOcsg_constraint72,2801
+  | Ocsg_methodOcsg_method73,2844
+  | Ocsg_valueOcsg_value74,2895
+type out_module_typeout_module_type76,2946
+  | Omty_abstractOmty_abstract77,2969
+  | Omty_functorOmty_functor78,2987
+  | Omty_identOmty_ident79,3050
+  | Omty_signatureOmty_signature80,3078
+and out_sig_itemout_sig_item81,3118
+  | Osig_classOsig_class82,3137
+  | Osig_class_typeOsig_class_type85,3249
+  | Osig_exceptionOsig_exception88,3366
+  | Osig_modtypeOsig_modtype89,3411
+  | Osig_moduleOsig_module90,3456
+  | Osig_typeOsig_type91,3517
+  | Osig_valueOsig_value92,3565
+and out_type_declout_type_decl93,3615
+and out_rec_statusout_rec_status96,3742
+  | Orec_notOrec_not97,3763
+  | Orec_firstOrec_first98,3776
+  | Orec_nextOrec_next99,3791
+type out_phraseout_phrase101,3806
+  | Ophr_evalOphr_eval102,3824
+  | Ophr_signatureOphr_signature103,3862
+  | Ophr_exceptionOphr_exception104,3923
+
+/usr/local/soft/ocaml/3.10.0//lib/ocaml/parsing.mli,1109
+Parsing1,0
+val symbol_startsymbol_start18,1021
+val symbol_endsymbol_end26,1424
+val rhs_startrhs_start29,1490
+val rhs_endrhs_end35,1786
+val symbol_start_possymbol_start_pos38,1845
+val symbol_end_possymbol_end_pos41,1972
+val rhs_start_posrhs_start_pos44,2093
+val rhs_end_posrhs_end_pos47,2211
+val clear_parserclear_parser50,2325
+exception Parse_errorParse_error57,2634
+type parser_envparser_env70,2957
+type parse_tablesparse_tables72,2974
+  { actionsactions73,2994
+    transl_consttransl_const74,3037
+    transl_blocktransl_block75,3067
+    lhslhs76,3097
+    lenlen77,3115
+    defreddefred78,3133
+    dgotodgoto79,3154
+    sindexsindex80,3174
+    rindexrindex81,3195
+    gindexgindex82,3216
+    tablesizetablesize83,3237
+    tabletable84,3258
+    checkcheck85,3278
+    error_functionerror_function86,3298
+    names_constnames_const87,3335
+    names_blocknames_block88,3361
+exception YYexitYYexit90,3389
+val yyparseyyparse92,3416
+val peek_valpeek_val94,3500
+val is_current_lookaheadis_current_lookahead95,3539
+val parse_errorparse_error96,3577
+
+/usr/local/soft/ocaml/3.10.0//lib/ocaml/pervasives.mli,6147
+Pervasives1,0
+external raiseraise29,1390
+val invalid_arginvalid_arg32,1468
+val failwithfailwith35,1565
+exception ExitExit38,1650
+external ( ==46,1804
+external ( <><>54,2238
+external ( <<57,2326
+external ( >>60,2406
+external ( <=<=63,2489
+external ( >=>=66,2571
+external comparecompare76,3079
+val minmin95,4090
+val maxmax98,4164
+external ( ====101,4238
+external ( !=!=110,4703
+external notnot117,4822
+external ( &&&&120,4893
+external ( &&125,5118
+external ( ||||128,5232
+external ( oror133,5454
+external ( ~-~-143,5756
+external succsucc146,5863
+external predpred149,5930
+external ( ++152,5997
+external ( --155,6070
+external ( **158,6146
+external ( //161,6225
+external ( modmod169,6614
+val absabs178,7000
+val max_intmax_int182,7136
+val min_intmin_int185,7198
+external ( landland193,7294
+external ( lorlor196,7373
+external ( lxorlxor199,7449
+val lnotlnot202,7537
+external ( lsllsl205,7593
+external ( lsrlsr211,7837
+external ( asrasr217,8082
+external ( ~-.~-.237,8955
+external ( +.+.240,9071
+external ( -.-.243,9159
+external ( *.*.246,9250
+external ( /./.249,9344
+external ( ****252,9433
+external sqrtsqrt255,9533
+external expexp258,9619
+external loglog261,9703
+external log10log10264,9793
+external coscos267,9889
+external sinsin270,9985
+external tantan273,10081
+external acosacos276,10177
+external asinasin279,10276
+external atanatan282,10375
+external atan2atan2285,10474
+external coshcosh288,10595
+external sinhsinh291,10693
+external tanhtanh294,10791
+external ceilceil297,10911
+external floorfloor300,11010
+external abs_floatabs_float307,11285
+external mod_floatmod_float310,11386
+external frexpfrexp315,11655
+external ldexpldexp322,11974
+external modfmodf325,12077
+external floatfloat329,12217
+external float_of_intfloat_of_int332,12307
+external truncatetruncate335,12406
+external int_of_floatint_of_float338,12499
+val infinityinfinity343,12727
+val neg_infinityneg_infinity346,12775
+val nannan349,12827
+val max_floatmax_float357,13221
+val min_floatmin_float360,13302
+val epsilon_floatepsilon_float363,13405
+type fpclassfpclass366,13500
+    FP_normalFP_normal367,13515
+  | FP_subnormalFP_subnormal368,13579
+  | FP_zeroFP_zero369,13658
+  | FP_infiniteFP_infinite370,13711
+  | FP_nanFP_nan371,13782
+external classify_floatclassify_float375,13975
+val ( ^^385,14250
+external int_of_charint_of_char394,14415
+val char_of_intchar_of_int397,14511
+external ignoreignore405,14716
+val string_of_boolstring_of_bool416,15094
+val bool_of_stringbool_of_string419,15185
+val string_of_intstring_of_int424,15360
+external int_of_stringint_of_string427,15462
+val string_of_floatstring_of_float436,15955
+external float_of_stringfloat_of_string439,16062
+external fstfst447,16305
+external sndsnd450,16392
+val ( @@459,16566
+type in_channelin_channel465,16662
+type out_channelout_channel468,16713
+val stdinstdin471,16766
+val stdoutstdout474,16833
+val stderrstderr477,16903
+val print_charprint_char483,17027
+val print_stringprint_string486,17103
+val print_intprint_int489,17180
+val print_floatprint_float492,17266
+val print_endlineprint_endline495,17369
+val print_newlineprint_newline499,17510
+val prerr_charprerr_char507,17742
+val prerr_stringprerr_string510,17817
+val prerr_intprerr_int513,17893
+val prerr_floatprerr_float516,17978
+val prerr_endlineprerr_endline519,18080
+val prerr_newlineprerr_newline523,18218
+val read_lineread_line530,18380
+val read_intread_int535,18615
+val read_floatread_float540,18842
+type open_flagopen_flag549,19134
+    Open_rdonlyOpen_rdonly550,19151
+  | Open_wronlyOpen_wronly551,19197
+  | Open_appendOpen_append552,19243
+  | Open_creatOpen_creat553,19320
+  | Open_truncOpen_trunc554,19386
+  | Open_exclOpen_excl555,19451
+  | Open_binaryOpen_binary556,19527
+  | Open_textOpen_text557,19592
+  | Open_nonblockOpen_nonblock558,19665
+val open_outopen_out562,19806
+val open_out_binopen_out_bin569,20139
+val open_out_genopen_out_gen575,20449
+val flushflush583,20860
+val flush_allflush_all589,21121
+val output_charoutput_char592,21205
+val output_stringoutput_string595,21308
+val outputoutput598,21412
+val output_byteoutput_byte604,21711
+val output_binary_intoutput_binary_int609,21903
+val output_valueoutput_value617,22283
+val seek_outseek_out625,22725
+val pos_outpos_out631,22995
+val out_channel_lengthout_channel_length636,23196
+val close_outclose_out641,23443
+val close_out_noerrclose_out_noerr649,23867
+val set_binary_mode_outset_binary_mode_out652,23961
+val open_inopen_in665,24535
+val open_in_binopen_in_bin670,24755
+val open_in_genopen_in_gen676,25060
+val input_charinput_char683,25400
+val input_lineinput_line687,25557
+val inputinput694,25867
+val really_inputreally_input711,26760
+val input_byteinput_byte719,27177
+val input_binary_intinput_binary_int724,27368
+val input_valueinput_value730,27633
+val seek_inseek_in737,27982
+val pos_inpos_in742,28207
+val in_channel_lengthin_channel_length745,28305
+val close_inclose_in753,28708
+val close_in_noerrclose_in_noerr760,29046
+val set_binary_mode_inset_binary_mode_in763,29137
+module LargeFileLargeFile775,29707
+    val seek_outseek_out777,29732
+    val pos_outpos_out778,29780
+    val out_channel_lengthout_channel_length779,29819
+    val seek_inseek_in780,29869
+    val pos_inpos_in781,29915
+    val in_channel_lengthin_channel_length782,29952
+type 'a refref793,30391
+type 'a ref = { mutable contentscontents793,30391
+external refref797,30526
+external ( !!800,30632
+external ( :=:=804,30774
+external incrincr808,30934
+external decrdecr812,31082
+type ('a, 'b, 'c, 'd) format4format4821,31357
+type ('a, 'b, 'c) formatformat823,31424
+val string_of_formatstring_of_format831,31810
+external format_of_stringformat_of_string834,31924
+val ( ^^^^840,32130
+val exitexit851,32438
+val at_exitat_exit860,32878
+val valid_float_lexemvalid_float_lexem873,33367
+val unsafe_really_inputunsafe_really_input875,33409
+val do_at_exitdo_at_exit877,33479
+
+/usr/local/soft/ocaml/3.10.0//lib/ocaml/printexc.mli,93
+Printexc1,0
+val to_stringto_string18,999
+val printprint22,1117
+val catchcatch30,1475
+
+/usr/local/soft/ocaml/3.10.0//lib/ocaml/printf.mli,1222
+Printf1,0
+val fprintffprintf18,986
+val printfprintf110,5821
+val eprintfeprintf113,5930
+val ifprintfifprintf116,6040
+val sprintfsprintf120,6217
+val bprintfbprintf124,6414
+val kfprintfkfprintf130,6701
+val ksprintfksprintf135,6949
+val kbprintfkbprintf139,7127
+val kprintfkprintf144,7361
+module CamlinternalPrCamlinternalPr151,7536
+  module SformatSformat153,7565
+    type indexindex154,7588
+    val index_of_intindex_of_int156,7606
+    external int_of_indexint_of_index157,7644
+    external unsafe_index_of_intunsafe_index_of_int158,7701
+    val succ_indexsucc_index160,7766
+    val subsub162,7805
+    val to_stringto_string163,7880
+    external lengthlength164,7945
+    external getget166,8034
+    external unsafe_to_stringunsafe_to_string168,8130
+    external unsafe_getunsafe_get170,8227
+  module TformatTformat175,8342
+    type acac177,8366
+      mutable ac_rglrac_rglr178,8382
+      mutable ac_skipac_skip179,8411
+      mutable ac_rdrsac_rdrs180,8440
+    val ac_of_formatac_of_format183,8478
+    val sub_formatsub_format185,8543
+    val summarize_format_typesummarize_format_type190,8749
+    val scan_formatscan_format192,8825
+    val kaprkapr202,9211
+
+/usr/local/soft/ocaml/3.10.0//lib/ocaml/queue.mli,381
+Queue1,0
+tt21,1057
+exception EmptyEmpty25,1129
+val createcreate29,1227
+val addadd32,1298
+val pushpush35,1395
+val taketake38,1464
+val poppop42,1599
+val peekpeek45,1659
+val toptop49,1818
+val clearclear52,1878
+val copycopy55,1946
+val is_emptyis_empty58,2012
+val lengthlength61,2110
+val iteriter64,2185
+val foldfold69,2387
+val transfertransfer74,2579
+
+/usr/local/soft/ocaml/3.10.0//lib/ocaml/random.mli,646
+Random1,0
+val initinit20,1029
+val full_initfull_init24,1183
+val self_initself_init27,1277
+val bitsbits31,1408
+val intint34,1487
+val int32int3239,1671
+val nativeintnativeint43,1843
+val int64int6447,2031
+val floatfloat51,2203
+val boolbool57,2446
+module StateState70,2846
+  tt71,2865
+  val makemake74,2909
+  val make_self_initmake_self_init77,3005
+  val copycopy81,3133
+  val bitsbits84,3197
+  val intint85,3219
+  val int32int3286,3247
+  val nativeintnativeint87,3285
+  val int64int6488,3335
+  val floatfloat89,3373
+  val boolbool90,3407
+val get_stateget_state97,3591
+val set_stateset_state100,3702
+
+/usr/local/soft/ocaml/3.10.0//lib/ocaml/ratio.mli,2632
+Ratio1,0
+type ratioratio26,1298
+val null_denominatornull_denominator28,1310
+val numerator_rationumerator_ratio29,1347
+val denominator_ratiodenominator_ratio30,1386
+val sign_ratiosign_ratio31,1427
+val normalize_rationormalize_ratio32,1457
+val cautious_normalize_ratiocautious_normalize_ratio33,1494
+val cautious_normalize_ratio_when_printingcautious_normalize_ratio_when_printing34,1540
+val create_ratiocreate_ratio35,1600
+val create_normalized_ratiocreate_normalized_ratio36,1647
+val is_normalized_ratiois_normalized_ratio37,1705
+val report_sign_ratioreport_sign_ratio38,1745
+val abs_ratioabs_ratio39,1797
+val is_integer_ratiois_integer_ratio40,1828
+val add_ratioadd_ratio41,1865
+val minus_ratiominus_ratio42,1905
+val add_int_ratioadd_int_ratio43,1938
+val add_big_int_ratioadd_big_int_ratio44,1980
+val sub_ratiosub_ratio45,2030
+val mult_ratiomult_ratio46,2070
+val mult_int_ratiomult_int_ratio47,2111
+val mult_big_int_ratiomult_big_int_ratio48,2154
+val square_ratiosquare_ratio49,2205
+val inverse_ratioinverse_ratio50,2239
+val div_ratiodiv_ratio51,2274
+val integer_ratiointeger_ratio52,2314
+val floor_ratiofloor_ratio53,2351
+val round_ratioround_ratio54,2386
+val ceiling_ratioceiling_ratio55,2421
+val eq_ratioeq_ratio56,2458
+val compare_ratiocompare_ratio57,2496
+val lt_ratiolt_ratio58,2538
+val le_ratiole_ratio59,2576
+val gt_ratiogt_ratio60,2614
+val ge_ratioge_ratio61,2652
+val max_ratiomax_ratio62,2690
+val min_ratiomin_ratio63,2730
+val eq_big_int_ratioeq_big_int_ratio64,2770
+val compare_big_int_ratiocompare_big_int_ratio65,2818
+val lt_big_int_ratiolt_big_int_ratio66,2870
+val le_big_int_ratiole_big_int_ratio67,2918
+val gt_big_int_ratiogt_big_int_ratio68,2966
+val ge_big_int_ratioge_big_int_ratio69,3014
+val int_of_ratioint_of_ratio70,3062
+val ratio_of_intratio_of_int71,3094
+val ratio_of_natratio_of_nat72,3126
+val nat_of_rationat_of_ratio73,3158
+val ratio_of_big_intratio_of_big_int74,3190
+val big_int_of_ratiobig_int_of_ratio75,3230
+val div_int_ratiodiv_int_ratio76,3270
+val div_ratio_intdiv_ratio_int77,3312
+val div_big_int_ratiodiv_big_int_ratio78,3354
+val div_ratio_big_intdiv_ratio_big_int79,3404
+val approx_ratio_fixapprox_ratio_fix80,3454
+val approx_ratio_expapprox_ratio_exp81,3500
+val float_of_rational_stringfloat_of_rational_string82,3546
+val string_of_ratiostring_of_ratio83,3593
+val ratio_of_stringratio_of_string84,3631
+val float_of_ratiofloat_of_ratio85,3669
+val power_ratio_positive_intpower_ratio_positive_int86,3705
+val power_ratio_positive_big_intpower_ratio_positive_big_int87,3758
+
+/usr/local/soft/ocaml/3.10.0//lib/ocaml/scanf.mli,780
+Scanf1,0
+module ScanningScanning54,3054
+type scanbufscanbuf56,3077
+val stdibstdib67,3626
+val from_stringfrom_string76,4039
+val from_filefrom_file82,4311
+val from_file_binfrom_file_bin90,4740
+val from_functionfrom_function93,4828
+val from_channelfrom_channel102,5205
+val end_of_inputend_of_input107,5424
+val beginning_of_inputbeginning_of_input111,5563
+val name_of_inputname_of_input115,5720
+exception Scan_failureScan_failure121,5883
+type ('a, 'b, 'c, 'd) scannerscanner125,6041
+val bscanfbscanf147,7181
+val fscanffscanf301,15480
+val sscanfsscanf320,16494
+val scanfscanf323,16610
+val kscanfkscanf327,16786
+val bscanf_formatbscanf_format336,17208
+val sscanf_formatsscanf_format345,17628
+val format_from_stringformat_from_string350,17822
+
+/usr/local/soft/ocaml/3.10.0//lib/ocaml/set.mli,919
+Set1,0
+module type OrderedTypeOrderedType26,1342
+    tt28,1374
+    val comparecompare30,1428
+module type SS41,1978
+    type eltelt43,2000
+    tt46,2055
+    val emptyempty49,2096
+    val is_emptyis_empty52,2140
+    val memmem55,2216
+    val addadd58,2310
+    val singletonsingleton62,2476
+    val removeremove65,2579
+    val unionunion69,2749
+    val interinter72,2799
+    val diffdiff76,2883
+    val comparecompare78,2910
+    val equalequal82,3050
+    val subsetsubset86,3194
+    val iteriter90,3315
+    val foldfold95,3558
+    val for_allfor_all99,3745
+    val existsexists103,3883
+    val filterfilter107,4029
+    val partitionpartition111,4168
+    val cardinalcardinal117,4452
+    val elementselements120,4531
+    val min_eltmin_elt126,4788
+    val max_eltmax_elt131,4973
+    val choosechoose135,5094
+    val splitsplit140,5314
+module MakeMake151,5788
+
+/usr/local/soft/ocaml/3.10.0//lib/ocaml/sort.mli,80
+Sort1,0
+val listlist24,1199
+val arrayarray29,1436
+val mergemerge36,1710
+
+/usr/local/soft/ocaml/3.10.0//lib/ocaml/stack.mli,265
+Stack1,0
+tt21,1057
+exception EmptyEmpty24,1128
+val createcreate28,1224
+val pushpush31,1295
+val poppop34,1390
+val toptop38,1525
+val clearclear42,1648
+val copycopy45,1716
+val is_emptyis_empty48,1782
+val lengthlength51,1880
+val iteriter54,1955
+
+/usr/local/soft/ocaml/3.10.0//lib/ocaml/stdLabels.mli,3244
+StdLabels1,0
+module ArrayArray25,1228
+    external lengthlength27,1249
+    external getget28,1305
+    external setset29,1366
+    external makemake30,1435
+    external createcreate31,1496
+    val initinit32,1559
+    val make_matrixmake_matrix33,1607
+    val create_matrixcreate_matrix34,1674
+    val appendappend35,1743
+    val concatconcat36,1793
+    val subsub37,1836
+    val copycopy38,1893
+    val fillfill39,1929
+    val blitblit40,1989
+    val to_listto_list43,2096
+    val of_listof_list44,2134
+    val iteriter45,2172
+    val mapmap46,2222
+    val iteriiteri47,2273
+    val mapimapi48,2331
+    val fold_leftfold_left49,2390
+    val fold_rightfold_right50,2458
+    val sortsort51,2527
+    val stable_sortstable_sort52,2584
+    val fast_sortfast_sort53,2648
+    external unsafe_getunsafe_get54,2710
+    external unsafe_setunsafe_set55,2780
+module ListList58,2865
+    val lengthlength60,2885
+    val hdhd61,2917
+    val tltl62,2944
+    val nthnth63,2976
+    val revrev64,3011
+    val appendappend65,3044
+    val rev_appendrev_append66,3091
+    val concatconcat67,3142
+    val flattenflatten68,3183
+    val iteriter69,3225
+    val mapmap70,3274
+    val rev_maprev_map71,3323
+    val fold_leftfold_left72,3376
+    val fold_rightfold_right73,3443
+    val iter2iter274,3511
+    val map2map275,3578
+    val rev_map2rev_map276,3645
+    val fold_left2fold_left277,3716
+    val fold_right2fold_right279,3807
+    val for_allfor_all81,3899
+    val existsexists82,3951
+    val for_all2for_all283,4002
+    val exists2exists284,4072
+    val memmem85,4141
+    val memqmemq86,4181
+    val findfind87,4222
+    val filterfilter88,4269
+    val find_allfind_all89,4323
+    val partitionpartition90,4379
+    val assocassoc91,4446
+    val assqassq92,4489
+    val mem_assocmem_assoc93,4531
+    val mem_assqmem_assq94,4584
+    val remove_assocremove_assoc95,4636
+    val remove_assqremove_assq96,4698
+    val splitsplit97,4759
+    val combinecombine98,4811
+    val sortsort99,4866
+    val stable_sortstable_sort100,4925
+    val fast_sortfast_sort101,4991
+    val mergemerge102,5055
+module StringString105,5133
+    external lengthlength107,5155
+    external getget108,5210
+    external setset109,5272
+    external createcreate110,5342
+    val makemake111,5401
+    val copycopy112,5438
+    val subsub113,5470
+    val fillfill114,5523
+    val blitblit115,5583
+    val concatconcat118,5686
+    val iteriter119,5739
+    val escapedescaped120,5789
+    val indexindex121,5824
+    val rindexrindex122,5862
+    val index_fromindex_from123,5901
+    val rindex_fromrindex_from124,5951
+    val containscontains125,6002
+    val contains_fromcontains_from126,6044
+    val rcontains_fromrcontains_from127,6098
+    val uppercaseuppercase128,6153
+    val lowercaselowercase129,6190
+    val capitalizecapitalize130,6227
+    val uncapitalizeuncapitalize131,6265
+    tt132,6305
+    val comparecompare133,6325
+    external unsafe_getunsafe_get134,6356
+    external unsafe_setunsafe_set135,6427
+    external unsafe_blitunsafe_blit136,6506
+    external unsafe_fillunsafe_fill139,6652
+
+/usr/local/soft/ocaml/3.10.0//lib/ocaml/str.mli,1362
+Str1,0
+type regexpregexp22,1045
+val regexpregexp26,1108
+val regexp_case_foldregexp_case_fold54,2554
+val quotequote59,2770
+val regexp_stringregexp_string63,2891
+val regexp_string_case_foldregexp_string_case_fold67,3032
+val string_matchstring_match75,3254
+val search_forwardsearch_forward80,3505
+val search_backwardsearch_backward87,3878
+val string_partial_matchstring_partial_match95,4279
+val matched_stringmatched_string100,4516
+val match_beginningmatch_beginning107,4853
+val match_endmatch_end112,5072
+val matched_groupmatched_group117,5296
+val group_beginninggroup_beginning131,6049
+val group_endgroup_end140,6418
+val global_replaceglobal_replace153,6820
+val replace_firstreplace_first161,7288
+val global_substituteglobal_substitute165,7469
+val substitute_firstsubstitute_first172,7860
+val replace_matchedreplace_matched176,8059
+val splitsplit187,8436
+val bounded_splitbounded_split194,8807
+val split_delimsplit_delim198,8981
+val bounded_split_delimbounded_split_delim206,9347
+type split_resultsplit_result211,9595
+    TextText212,9616
+  | DelimDelim213,9635
+val full_splitfull_split215,9656
+val bounded_full_splitbounded_full_split223,10022
+val string_beforestring_before233,10345
+val string_afterstring_after238,10547
+val first_charsfirst_chars243,10738
+val last_charslast_chars247,10909
+
+/usr/local/soft/ocaml/3.10.0//lib/ocaml/stream.mli,580
+Stream1,0
+tt18,982
+exception FailureFailure21,1049
+exception ErrorError25,1166
+val fromfrom37,1541
+val of_listof_list44,1863
+val of_stringof_string48,1974
+val of_channelof_channel51,2076
+val iteriter57,2216
+val nextnext64,2409
+val emptyempty68,2557
+val peekpeek74,2685
+val junkjunk78,2811
+val countcount82,2917
+val npeeknpeek86,3051
+val iappiapp95,3305
+val iconsicons96,3337
+val isingising97,3368
+val lapplapp99,3392
+val lconslcons100,3434
+val lsinglsing101,3475
+val semptysempty103,3509
+val slazyslazy104,3527
+val dumpdump106,3563
+
+/usr/local/soft/ocaml/3.10.0//lib/ocaml/string.mli,890
+String1,0
+external lengthlength18,980
+external getget21,1101
+external setset31,1511
+external createcreate38,1857
+val makemake44,2102
+val copycopy49,2306
+val subsub52,2377
+val fillfill60,2752
+val blitblit67,3036
+val concatconcat77,3573
+val iteriter81,3742
+val escapedescaped86,3954
+val indexindex93,4244
+val rindexrindex98,4439
+val index_fromindex_from103,4637
+val rindex_fromrindex_from108,4856
+val containscontains114,5103
+val contains_fromcontains_from118,5224
+val rcontains_fromrcontains_from124,5485
+val uppercaseuppercase130,5757
+val lowercaselowercase135,5957
+val capitalizecapitalize140,6157
+val uncapitalizeuncapitalize143,6273
+tt146,6391
+val comparecompare149,6449
+external unsafe_getunsafe_get157,6743
+external unsafe_setunsafe_set158,6810
+external unsafe_blitunsafe_blit159,6885
+external unsafe_fillunsafe_fill161,6987
+
+/usr/local/soft/ocaml/3.10.0//lib/ocaml/stringLabels.mli,896
+StringLabels1,0
+external lengthlength18,987
+external getget21,1108
+external setset31,1518
+external createcreate38,1864
+val makemake44,2109
+val copycopy49,2313
+val subsub52,2384
+val fillfill60,2773
+val blitblit67,3065
+val concatconcat78,3632
+val iteriter82,3805
+val escapedescaped87,4019
+val indexindex94,4309
+val rindexrindex99,4504
+val index_fromindex_from104,4702
+val rindex_fromrindex_from109,4927
+val containscontains115,5180
+val contains_fromcontains_from119,5301
+val rcontains_fromrcontains_from125,5562
+val uppercaseuppercase131,5834
+val lowercaselowercase136,6034
+val capitalizecapitalize141,6234
+val uncapitalizeuncapitalize144,6350
+tt147,6468
+val comparecompare150,6526
+external unsafe_getunsafe_get158,6820
+external unsafe_setunsafe_set159,6887
+external unsafe_blitunsafe_blit160,6962
+external unsafe_fillunsafe_fill163,7096
+
+/usr/local/soft/ocaml/3.10.0//lib/ocaml/sys.mli,1543
+Sys1,0
+val argvargv18,975
+val executable_nameexecutable_name24,1207
+external file_existsfile_exists27,1310
+external is_directoryis_directory30,1424
+external removeremove35,1664
+external renamerename38,1774
+external getenvgetenv44,2073
+external commandcommand48,2255
+external timetime51,2382
+external chdirchdir55,2534
+external getcwdgetcwd58,2646
+external readdirreaddir61,2760
+val interactiveinteractive70,3272
+val os_typeos_type75,3470
+val word_sizeword_size81,3756
+val max_string_lengthmax_string_length85,3876
+val max_array_lengthmax_array_length88,3940
+type signal_behaviorsignal_behavior97,4170
+    Signal_defaultSignal_default98,4193
+  | Signal_ignoreSignal_ignore99,4212
+  | Signal_handleSignal_handle100,4230
+external signalsignal108,4519
+val set_signalset_signal116,4906
+val sigabrtsigabrt122,5073
+val sigalrmsigalrm125,5120
+val sigfpesigfpe128,5154
+val sighupsighup131,5200
+val sigillsigill134,5256
+val sigintsigint137,5310
+val sigkillsigkill140,5366
+val sigpipesigpipe143,5424
+val sigquitsigquit146,5462
+val sigsegvsigsegv149,5512
+val sigtermsigterm152,5563
+val sigusr1sigusr1155,5601
+val sigusr2sigusr2158,5656
+val sigchldsigchld161,5711
+val sigcontsigcont164,5762
+val sigstopsigstop167,5797
+val sigtstpsigtstp170,5828
+val sigttinsigttin173,5871
+val sigttousigttou176,5935
+val sigvtalrmsigvtalrm179,6000
+val sigprofsigprof182,6052
+exception BreakBreak186,6099
+val catch_breakcatch_break191,6198
+val ocaml_versionocaml_version199,6501
+
+/usr/local/soft/ocaml/3.10.0//lib/ocaml/thread.mli,497
+Thread1,0
+tt18,1011
+val createcreate23,1098
+external selfself36,1770
+external idid39,1864
+val exitexit44,2094
+val killkill47,2180
+val delaydelay52,2296
+external joinjoin57,2467
+val wait_readwait_read61,2618
+val wait_writewait_write64,2691
+val wait_timed_readwait_timed_read67,2791
+val wait_timed_writewait_timed_write70,2884
+val selectselect82,3430
+val wait_pidwait_pid92,3854
+val yieldyield99,4180
+val sigmasksigmask115,4931
+val wait_signalwait_signal127,5439
+
+/usr/local/soft/ocaml/3.10.0//lib/ocaml/threadUnix.mli,708
+ThreadUnix1,0
+val execvexecv26,1330
+val execveexecve27,1373
+val execvpexecvp28,1433
+val waitwait29,1477
+val waitpidwaitpid30,1522
+val systemsystem31,1592
+val readread35,1667
+val writewrite36,1725
+val timed_readtimed_read40,1823
+val timed_writetimed_write45,1947
+val selectselect55,2308
+val pipepipe62,2517
+val open_process_inopen_process_in63,2570
+val open_process_outopen_process_out64,2612
+val open_processopen_process65,2656
+val sleepsleep69,2727
+val socketsocket73,2772
+val acceptaccept75,2863
+val connectconnect76,2927
+val recvrecv77,2982
+val recvfromrecvfrom79,3073
+val sendsend81,3188
+val sendtosendto83,3279
+val open_connectionopen_connection85,3391
+
+/usr/local/soft/ocaml/3.10.0//lib/ocaml/unix.mli,16197
+Unix1,0
+type errorerror22,1016
+    E2BIGE2BIG23,1029
+  | EACCESEACCES24,1083
+  | EAGAINEAGAIN25,1132
+  | EBADFEBADF26,1207
+  | EBUSYEBUSY27,1258
+  | ECHILDECHILD28,1310
+  | EDEADLKEDEADLK29,1358
+  | EDOMEDOM30,1419
+  | EEXISTEEXIST31,1488
+  | EFAULTEFAULT32,1531
+  | EFBIGEFBIG33,1574
+  | EINTREINTR34,1620
+  | EINVALEINVAL35,1682
+  | EIOEIO36,1730
+  | EISDIREISDIR37,1780
+  | EMFILEEMFILE38,1826
+  | EMLINKEMLINK39,1892
+  | ENAMETOOLONGENAMETOOLONG40,1938
+  | ENFILEENFILE41,1987
+  | ENODEVENODEV42,2052
+  | ENOENTENOENT43,2098
+  | ENOEXECENOEXEC44,2155
+  | ENOLCKENOLCK45,2209
+  | ENOMEMENOMEM46,2259
+  | ENOSPCENOSPC47,2308
+  | ENOSYSENOSYS48,2363
+  | ENOTDIRENOTDIR49,2417
+  | ENOTEMPTYENOTEMPTY50,2464
+  | ENOTTYENOTTY51,2515
+  | ENXIOENXIO52,2582
+  | EPERMEPERM53,2639
+  | EPIPEEPIPE54,2694
+  | ERANGEERANGE55,2737
+  | EROFSEROFS56,2785
+  | ESPIPEESPIPE57,2838
+  | ESRCHESRCH58,2897
+  | EXDEVEXDEV59,2944
+  | EWOULDBLOCKEWOULDBLOCK60,2988
+  | EINPROGRESSEINPROGRESS61,3041
+  | EALREADYEALREADY62,3098
+  | ENOTSOCKENOTSOCK63,3159
+  | EDESTADDRREQEDESTADDRREQ64,3221
+  | EMSGSIZEEMSGSIZE65,3281
+  | EPROTOTYPEEPROTOTYPE66,3329
+  | ENOPROTOOPTENOPROTOOPT67,3391
+  | EPROTONOSUPPORTEPROTONOSUPPORT68,3445
+  | ESOCKTNOSUPPORTESOCKTNOSUPPORT69,3499
+  | EOPNOTSUPPEOPNOTSUPP70,3556
+  | EPFNOSUPPORTEPFNOSUPPORT71,3621
+  | EAFNOSUPPORTEAFNOSUPPORT72,3682
+  | EADDRINUSEEADDRINUSE73,3761
+  | EADDRNOTAVAILEADDRNOTAVAIL74,3815
+  | ENETDOWNENETDOWN75,3877
+  | ENETUNREACHENETUNREACH76,3924
+  | ENETRESETENETRESET77,3978
+  | ECONNABORTEDECONNABORTED78,4045
+  | ECONNRESETECONNRESET79,4109
+  | ENOBUFSENOBUFS80,4165
+  | EISCONNEISCONN81,4222
+  | ENOTCONNENOTCONN82,4281
+  | ESHUTDOWNESHUTDOWN83,4336
+  | ETOOMANYREFSETOOMANYREFS84,4400
+  | ETIMEDOUTETIMEDOUT85,4465
+  | ECONNREFUSEDECONNREFUSED86,4517
+  | EHOSTDOWNEHOSTDOWN87,4567
+  | EHOSTUNREACHEHOSTUNREACH88,4611
+  | ELOOPELOOP89,4659
+  | EOVERFLOWEOVERFLOW90,4724
+  | EUNKNOWNERREUNKNOWNERR92,4796
+exception Unix_errorUnix_error100,5008
+val error_messageerror_message106,5325
+val handle_unix_errorhandle_unix_error109,5418
+val environmentenvironment118,5699
+val getenvgetenv122,5841
+val putenvputenv127,6047
+type process_statusprocess_status137,6312
+    WEXITEDWEXITED138,6334
+  | WSIGNALEDWSIGNALED141,6455
+  | WSTOPPEDWSTOPPED144,6573
+type wait_flagwait_flag150,6737
+    WNOHANGWNOHANG151,6754
+  | WUNTRACEDWUNTRACED153,6872
+val execvexecv156,6980
+val execveexecve163,7312
+val execvpexecvp167,7485
+val execvpeexecvpe171,7610
+val forkfork175,7753
+val waitwait179,7909
+val waitpidwaitpid183,8049
+val systemsystem192,8510
+val getpidgetpid199,8841
+val getppidgetppid202,8905
+val nicenice205,8977
+type file_descrfile_descr214,9221
+val stdinstdin217,9284
+val stdoutstdout220,9350
+val stderrstderr223,9418
+type open_flagopen_flag226,9486
+    O_RDONLYO_RDONLY227,9503
+  | O_WRONLYO_WRONLY228,9559
+  | O_RDWRO_RDWR229,9615
+  | O_NONBLOCKO_NONBLOCK230,9683
+  | O_APPENDO_APPEND231,9748
+  | O_CREATO_CREAT232,9803
+  | O_TRUNCO_TRUNC233,9864
+  | O_EXCLO_EXCL234,9936
+  | O_NOCTTYO_NOCTTY235,9992
+  | O_DSYNCO_DSYNC236,10069
+  | O_SYNCO_SYNC237,10172
+  | O_RSYNCO_RSYNC238,10275
+type file_permfile_perm242,10409
+val openfileopenfile246,10547
+val closeclose251,10786
+val readread254,10850
+val writewrite259,11108
+val single_writesingle_write266,11476
+val in_channel_of_descrin_channel_of_descr275,11749
+val out_channel_of_descrout_channel_of_descr280,11973
+val descr_of_in_channeldescr_of_in_channel285,12199
+val descr_of_out_channeldescr_of_out_channel288,12315
+type seek_commandseek_command295,12471
+    SEEK_SETSEEK_SET296,12491
+  | SEEK_CURSEEK_CUR297,12569
+  | SEEK_ENDSEEK_END298,12642
+val lseeklseek302,12760
+val truncatetruncate305,12868
+val ftruncateftruncate308,12957
+type file_kindfile_kind316,13112
+    S_REGS_REG317,13129
+  | S_DIRS_DIR318,13181
+  | S_CHRS_CHR319,13230
+  | S_BLKS_BLK320,13286
+  | S_LNKS_LNK321,13338
+  | S_FIFOS_FIFO322,13391
+  | S_SOCKS_SOCK323,13441
+type statsstats325,13488
+  { st_devst_dev326,13501
+    st_inost_ino327,13554
+    st_kindst_kind328,13606
+    st_permst_perm329,13662
+    st_nlinkst_nlink330,13715
+    st_uidst_uid331,13770
+    st_gidst_gid332,13830
+    st_rdevst_rdev333,13898
+    st_sizest_size334,13957
+    st_atimest_atime335,14010
+    st_mtimest_mtime336,14066
+    st_ctimest_ctime337,14128
+val statstat341,14256
+val lstatlstat344,14334
+val fstatfstat348,14480
+val isattyisatty352,14597
+module LargeFileLargeFile358,14785
+    val lseeklseek360,14810
+    val truncatetruncate361,14871
+    val ftruncateftruncate362,14914
+    type statsstats363,14962
+      { st_devst_dev364,14979
+        st_inost_ino365,15036
+        st_kindst_kind366,15092
+        st_permst_perm367,15152
+        st_nlinkst_nlink368,15209
+        st_uidst_uid369,15268
+        st_gidst_gid370,15332
+        st_rdevst_rdev371,15404
+        st_sizest_size372,15467
+        st_atimest_atime373,15524
+        st_mtimest_mtime374,15584
+        st_ctimest_ctime375,15650
+    val statstat377,15725
+    val lstatlstat378,15756
+    val fstatfstat379,15788
+val unlinkunlink395,16402
+val renamerename398,16461
+val linklink401,16572
+type access_permissionaccess_permission409,16744
+    R_OKR_OK410,16769
+  | W_OKW_OK411,16824
+  | X_OKX_OK412,16880
+  | F_OKF_OK413,16940
+val chmodchmod417,17035
+val fchmodfchmod420,17125
+val chownchown423,17220
+val fchownfchown426,17323
+val umaskumask429,17431
+val accessaccess433,17539
+val dupdup441,17749
+val dup2dup2445,17875
+val set_nonblockset_nonblock449,18005
+val clear_nonblockclear_nonblock457,18405
+val set_close_on_execset_close_on_exec461,18538
+val clear_close_on_execclear_close_on_exec467,18801
+val mkdirmkdir475,18971
+val rmdirrmdir478,19066
+val chdirchdir481,19128
+val getcwdgetcwd484,19201
+val chrootchroot487,19287
+type dir_handledir_handle490,19358
+val opendiropendir493,19431
+val readdirreaddir496,19507
+val rewinddirrewinddir500,19658
+val closedirclosedir503,19761
+val pipepipe511,19871
+val mkfifomkfifo516,20106
+val create_processcreate_process523,20263
+val create_process_envcreate_process_env538,21051
+val open_process_inopen_process_in546,21371
+val open_process_outopen_process_out553,21717
+val open_processopen_process561,22115
+val open_process_fullopen_process_full567,22456
+val close_process_inclose_process_in574,22803
+val close_process_outclose_process_out579,23000
+val close_processclose_process584,23200
+val close_process_fullclose_process_full589,23405
+val symlinksymlink599,23664
+val readlinkreadlink603,23801
+val selectselect610,23892
+type lock_commandlock_command627,24664
+    F_ULOCKF_ULOCK628,24684
+  | F_LOCKF_LOCK629,24725
+  | F_TLOCKF_TLOCK630,24805
+  | F_TESTF_TEST631,24883
+  | F_RLOCKF_RLOCK632,24946
+  | F_TRLOCKF_TRLOCK633,25026
+val lockflockf636,25140
+val killkill668,26617
+type sigprocmask_commandsigprocmask_command672,26729
+    SIG_SETMASKSIG_SETMASK673,26756
+  | SIG_BLOCKSIG_BLOCK674,26772
+  | SIG_UNBLOCKSIG_UNBLOCK675,26786
+val sigprocmasksigprocmask677,26803
+val sigpendingsigpending687,27276
+val sigsuspendsigsuspend690,27380
+val pausepause695,27622
+type process_timesprocess_times702,27743
+  { tms_utimetms_utime703,27764
+    tms_stimetms_stime704,27821
+    tms_cutimetms_cutime705,27880
+    tms_cstimetms_cstime706,27948
+type tmtm710,28076
+  { tm_sectm_sec711,28086
+    tm_mintm_min712,28139
+    tm_hourtm_hour713,28192
+    tm_mdaytm_mday714,28243
+    tm_montm_mon715,28301
+    tm_yeartm_year716,28360
+    tm_wdaytm_wday717,28411
+    tm_ydaytm_yday718,28476
+    tm_isdsttm_isdst719,28534
+val timetime724,28674
+val gettimeofdaygettimeofday728,28780
+val gmtimegmtime731,28885
+val localtimelocaltime735,29062
+val mktimemktime739,29210
+val alarmalarm749,29738
+val sleepsleep752,29832
+val timestimes755,29912
+val utimesutimes758,29997
+type interval_timerinterval_timer763,30210
+    ITIMER_REALITIMER_REAL764,30232
+  | ITIMER_VIRTUALITIMER_VIRTUAL766,30330
+  | ITIMER_PROFITIMER_PROF768,30435
+type interval_timer_statusinterval_timer_status774,30676
+  { it_intervalit_interval775,30705
+    it_valueit_value776,30752
+val getitimergetitimer780,30883
+val setitimersetitimer783,31002
+val getuidgetuid798,31578
+val geteuidgeteuid801,31665
+val setuidsetuid804,31758
+val getgidgetgid807,31851
+val getegidgetegid810,31939
+val setgidsetgid813,32033
+val getgroupsgetgroups816,32128
+type passwd_entrypasswd_entry820,32248
+  { pw_namepw_name821,32268
+    pw_passwdpw_passwd822,32290
+    pw_uidpw_uid823,32314
+    pw_gidpw_gid824,32332
+    pw_gecospw_gecos825,32350
+    pw_dirpw_dir826,32373
+    pw_shellpw_shell827,32394
+type group_entrygroup_entry831,32475
+  { gr_namegr_name832,32494
+    gr_passwdgr_passwd833,32516
+    gr_gidgr_gid834,32540
+    gr_memgr_mem835,32558
+val getlogingetlogin839,32643
+val getpwnamgetpwnam842,32738
+val getgrnamgetgrnam846,32856
+val getpwuidgetpwuid850,32972
+val getgrgidgetgrgid854,33090
+type inet_addrinet_addr862,33240
+val inet_addr_of_stringinet_addr_of_string865,33304
+val string_of_inet_addrstring_of_inet_addr873,33714
+val inet_addr_anyinet_addr_any878,33926
+val inet_addr_loopbackinet_addr_loopback882,34090
+val inet6_addr_anyinet6_addr_any885,34201
+val inet6_addr_loopbackinet6_addr_loopback889,34366
+type socket_domainsocket_domain896,34494
+    PF_UNIXPF_UNIX897,34515
+  | PF_INETPF_INET898,34566
+  | PF_INET6PF_INET6899,34628
+type socket_typesocket_type902,34726
+    SOCK_STREAMSOCK_STREAM903,34745
+  | SOCK_DGRAMSOCK_DGRAM904,34798
+  | SOCK_RAWSOCK_RAW905,34853
+  | SOCK_SEQPACKETSOCK_SEQPACKET906,34903
+type sockaddrsockaddr910,35048
+type sockaddr = ADDR_UNIXADDR_UNIX910,35048
+type sockaddr = ADDR_UNIX of string | ADDR_INETADDR_INET910,35048
+val socketsocket917,35409
+val domain_of_sockaddrdomain_of_sockaddr922,35650
+val socketpairsocketpair925,35772
+val acceptaccept929,35916
+val bindbind934,36142
+val connectconnect937,36221
+val listenlisten940,36306
+type shutdown_commandshutdown_command944,36471
+    SHUTDOWN_RECEIVESHUTDOWN_RECEIVE945,36495
+  | SHUTDOWN_SENDSHUTDOWN_SEND946,36554
+  | SHUTDOWN_ALLSHUTDOWN_ALL947,36611
+val shutdownshutdown951,36707
+val getsocknamegetsockname958,37052
+val getpeernamegetpeername961,37141
+type msg_flagmsg_flag964,37252
+    MSG_OOBMSG_OOB965,37268
+  | MSG_DONTROUTEMSG_DONTROUTE966,37280
+  | MSG_PEEKMSG_PEEK967,37298
+val recvrecv971,37402
+val recvfromrecvfrom974,37518
+val sendsend978,37654
+val sendtosendto981,37767
+type socket_bool_optionsocket_bool_option990,37929
+    SO_DEBUGSO_DEBUG991,37955
+  | SO_BROADCASTSO_BROADCAST992,38010
+  | SO_REUSEADDRSO_REUSEADDR993,38073
+  | SO_KEEPALIVESO_KEEPALIVE994,38139
+  | SO_DONTROUTESO_DONTROUTE995,38188
+  | SO_OOBINLINESO_OOBINLINE996,38253
+  | SO_ACCEPTCONNSO_ACCEPTCONN997,38310
+type socket_int_optionsocket_int_option1002,38550
+    SO_SNDBUFSO_SNDBUF1003,38575
+  | SO_RCVBUFSO_RCVBUF1004,38621
+  | SO_ERRORSO_ERROR1005,38671
+  | SO_TYPESO_TYPE1006,38734
+  | SO_RCVLOWATSO_RCVLOWAT1007,38783
+  | SO_SNDLOWATSO_SNDLOWAT1008,38865
+type socket_optint_optionsocket_optint_option1013,39111
+  SO_LINGERSO_LINGER1014,39139
+type socket_float_optionsocket_float_option1021,39512
+    SO_RCVTIMEOSO_RCVTIMEO1022,39539
+  | SO_SNDTIMEOSO_SNDTIMEO1023,39594
+val getsockoptgetsockopt1029,39893
+val setsockoptsetsockopt1033,40036
+external getsockopt_intgetsockopt_int1036,40168
+external setsockopt_intsetsockopt_int1040,40331
+external getsockopt_optintgetsockopt_optint1044,40502
+external setsockopt_optintsetsockopt_optint1048,40696
+external getsockopt_floatgetsockopt_float1053,40902
+external setsockopt_floatsetsockopt_float1057,41096
+val open_connectionopen_connection1064,41351
+val shutdown_connectionshutdown_connection1070,41642
+val establish_serverestablish_server1075,41872
+type host_entryhost_entry1086,42281
+  { h_nameh_name1087,42299
+    h_aliasesh_aliases1088,42320
+    h_addrtypeh_addrtype1089,42350
+    h_addr_listh_addr_list1090,42382
+type protocol_entryprotocol_entry1094,42474
+  { p_namep_name1095,42496
+    p_aliasesp_aliases1096,42517
+    p_protop_proto1097,42547
+type service_entryservice_entry1101,42627
+  { s_names_name1102,42648
+    s_aliasess_aliases1103,42669
+    s_ports_port1104,42699
+    s_protos_proto1105,42717
+val gethostnamegethostname1109,42799
+val gethostbynamegethostbyname1112,42875
+val gethostbyaddrgethostbyaddr1116,42995
+val getprotobynamegetprotobyname1120,43121
+val getprotobynumbergetprotobynumber1124,43250
+val getservbynamegetservbyname1128,43389
+val getservbyportgetservbyport1132,43525
+type addr_infoaddr_info1136,43668
+  { ai_familyai_family1137,43685
+    ai_socktypeai_socktype1138,43746
+    ai_protocolai_protocol1139,43805
+    ai_addrai_addr1140,43875
+    ai_canonnameai_canonname1141,43930
+type getaddrinfo_optiongetaddrinfo_option1145,44063
+    AI_FAMILYAI_FAMILY1146,44089
+  | AI_SOCKTYPEAI_SOCKTYPE1147,44167
+  | AI_PROTOCOLAI_PROTOCOL1148,44243
+  | AI_NUMERICHOSTAI_NUMERICHOST1149,44317
+  | AI_CANONNAMEAI_CANONNAME1151,44461
+  | AI_PASSIVEAI_PASSIVE1153,44596
+val getaddrinfogetaddrinfo1157,44784
+type name_infoname_info1176,45861
+  { ni_hostnameni_hostname1177,45878
+    ni_serviceni_service1178,45952
+type getnameinfo_optiongetnameinfo_option1181,46100
+    NI_NOFQDNNI_NOFQDN1182,46126
+  | NI_NUMERICHOSTNI_NUMERICHOST1183,46190
+  | NI_NAMEREQDNI_NAMEREQD1184,46255
+  | NI_NUMERICSERVNI_NUMERICSERV1185,46326
+  | NI_DGRAMNI_DGRAM1186,46395
+val getnameinfogetnameinfo1190,46557
+type terminal_ioterminal_io1205,47140
+    mutable c_ignbrkc_ignbrk1208,47185
+    mutable c_brkintc_brkint1209,47250
+    mutable c_ignparc_ignpar1210,47324
+    mutable c_parmrkc_parmrk1211,47399
+    mutable c_inpckc_inpck1212,47456
+    mutable c_istripc_istrip1213,47523
+    mutable c_inlcrc_inlcr1214,47595
+    mutable c_igncrc_igncr1215,47655
+    mutable c_icrnlc_icrnl1216,47712
+    mutable c_ixonc_ixon1217,47772
+    mutable c_ixoffc_ixoff1218,47849
+    mutable c_opostc_opost1220,47953
+    mutable c_obaudc_obaud1222,48041
+    mutable c_ibaudc_ibaud1223,48122
+    mutable c_csizec_csize1224,48176
+    mutable c_cstopbc_cstopb1225,48249
+    mutable c_creadc_cread1226,48313
+    mutable c_parenbc_parenb1227,48372
+    mutable c_paroddc_parodd1228,48449
+    mutable c_hupclc_hupcl1229,48522
+    mutable c_clocalc_clocal1230,48582
+    mutable c_isigc_isig1232,48669
+    mutable c_icanonc_icanon1233,48743
+    mutable c_noflshc_noflsh1235,48870
+    mutable c_echoc_echo1236,48945
+    mutable c_echoec_echoe1237,49005
+    mutable c_echokc_echok1238,49084
+    mutable c_echonlc_echonl1239,49160
+    mutable c_vintrc_vintr1241,49262
+    mutable c_vquitc_vquit1242,49337
+    mutable c_verasec_verase1243,49407
+    mutable c_vkillc_vkill1244,49485
+    mutable c_veofc_veof1245,49560
+    mutable c_veolc_veol1246,49637
+    mutable c_vminc_vmin1247,49718
+    mutable c_vtimec_vtime1249,49863
+    mutable c_vstartc_vstart1250,49935
+    mutable c_vstopc_vstop1251,50006
+val tcgetattrtcgetattr1254,50081
+type setattr_whensetattr_when1258,50210
+  TCSANOWTCSANOW1259,50230
+  | TCSADRAINTCSADRAIN1260,50240
+  | TCSAFLUSHTCSAFLUSH1261,50254
+val tcsetattrtcsetattr1263,50269
+val tcsendbreaktcsendbreak1273,50780
+val tcdraintcdrain1278,50991
+type flush_queueflush_queue1282,51117
+    TCIFLUSHTCIFLUSH1283,51136
+  | TCOFLUSHTCOFLUSH1284,51149
+  | TCIOFLUSHTCIOFLUSH1285,51162
+val tcflushtcflush1287,51177
+type flow_actionflow_action1294,51519
+    TCOOFFTCOOFF1295,51538
+  | TCOONTCOON1296,51549
+  | TCIOFFTCIOFF1297,51559
+  | TCIONTCION1298,51570
+val tcflowtcflow1300,51581
+val setsidsetsid1307,51928
+
+/usr/local/soft/ocaml/3.10.0//lib/ocaml/unixLabels.mli,16172
+UnixLabels1,0
+type errorerror24,1132
+    E2BIGE2BIG25,1158
+  | EACCESEACCES26,1212
+  | EAGAINEAGAIN27,1261
+  | EBADFEBADF28,1336
+  | EBUSYEBUSY29,1387
+  | ECHILDECHILD30,1439
+  | EDEADLKEDEADLK31,1487
+  | EDOMEDOM32,1548
+  | EEXISTEEXIST33,1617
+  | EFAULTEFAULT34,1660
+  | EFBIGEFBIG35,1703
+  | EINTREINTR36,1749
+  | EINVALEINVAL37,1811
+  | EIOEIO38,1859
+  | EISDIREISDIR39,1909
+  | EMFILEEMFILE40,1955
+  | EMLINKEMLINK41,2021
+  | ENAMETOOLONGENAMETOOLONG42,2067
+  | ENFILEENFILE43,2116
+  | ENODEVENODEV44,2181
+  | ENOENTENOENT45,2227
+  | ENOEXECENOEXEC46,2284
+  | ENOLCKENOLCK47,2338
+  | ENOMEMENOMEM48,2388
+  | ENOSPCENOSPC49,2437
+  | ENOSYSENOSYS50,2492
+  | ENOTDIRENOTDIR51,2546
+  | ENOTEMPTYENOTEMPTY52,2593
+  | ENOTTYENOTTY53,2644
+  | ENXIOENXIO54,2711
+  | EPERMEPERM55,2768
+  | EPIPEEPIPE56,2823
+  | ERANGEERANGE57,2866
+  | EROFSEROFS58,2914
+  | ESPIPEESPIPE59,2967
+  | ESRCHESRCH60,3026
+  | EXDEVEXDEV61,3073
+  | EWOULDBLOCKEWOULDBLOCK62,3117
+  | EINPROGRESSEINPROGRESS63,3170
+  | EALREADYEALREADY64,3227
+  | ENOTSOCKENOTSOCK65,3288
+  | EDESTADDRREQEDESTADDRREQ66,3350
+  | EMSGSIZEEMSGSIZE67,3410
+  | EPROTOTYPEEPROTOTYPE68,3458
+  | ENOPROTOOPTENOPROTOOPT69,3520
+  | EPROTONOSUPPORTEPROTONOSUPPORT70,3574
+  | ESOCKTNOSUPPORTESOCKTNOSUPPORT71,3628
+  | EOPNOTSUPPEOPNOTSUPP72,3685
+  | EPFNOSUPPORTEPFNOSUPPORT73,3750
+  | EAFNOSUPPORTEAFNOSUPPORT74,3811
+  | EADDRINUSEEADDRINUSE75,3890
+  | EADDRNOTAVAILEADDRNOTAVAIL76,3944
+  | ENETDOWNENETDOWN77,4006
+  | ENETUNREACHENETUNREACH78,4053
+  | ENETRESETENETRESET79,4107
+  | ECONNABORTEDECONNABORTED80,4174
+  | ECONNRESETECONNRESET81,4238
+  | ENOBUFSENOBUFS82,4294
+  | EISCONNEISCONN83,4351
+  | ENOTCONNENOTCONN84,4410
+  | ESHUTDOWNESHUTDOWN85,4465
+  | ETOOMANYREFSETOOMANYREFS86,4529
+  | ETIMEDOUTETIMEDOUT87,4594
+  | ECONNREFUSEDECONNREFUSED88,4646
+  | EHOSTDOWNEHOSTDOWN89,4696
+  | EHOSTUNREACHEHOSTUNREACH90,4740
+  | ELOOPELOOP91,4788
+  | EOVERFLOWEOVERFLOW92,4853
+  | EUNKNOWNERREUNKNOWNERR94,4925
+exception Unix_errorUnix_error102,5137
+val error_messageerror_message108,5454
+val handle_unix_errorhandle_unix_error111,5547
+val environmentenvironment120,5828
+val getenvgetenv124,5970
+val putenvputenv129,6176
+type process_statusprocess_status139,6441
+    WEXITEDWEXITED140,6485
+  | WSIGNALEDWSIGNALED143,6606
+  | WSTOPPEDWSTOPPED146,6724
+type wait_flagwait_flag152,6888
+    WNOHANGWNOHANG153,6922
+  | WUNTRACEDWUNTRACED155,7040
+val execvexecv158,7148
+val execveexecve165,7496
+val execvpexecvp169,7689
+val execvpeexecvpe173,7843
+val forkfork177,8019
+val waitwait181,8175
+val waitpidwaitpid185,8315
+val systemsystem194,8781
+val getpidgetpid201,9112
+val getppidgetppid204,9176
+val nicenice207,9248
+type file_descrfile_descr216,9492
+val stdinstdin219,9573
+val stdoutstdout222,9639
+val stderrstderr225,9707
+type open_flagopen_flag228,9775
+    O_RDONLYO_RDONLY229,9809
+  | O_WRONLYO_WRONLY230,9865
+  | O_RDWRO_RDWR231,9921
+  | O_NONBLOCKO_NONBLOCK232,9989
+  | O_APPENDO_APPEND233,10054
+  | O_CREATO_CREAT234,10109
+  | O_TRUNCO_TRUNC235,10170
+  | O_EXCLO_EXCL236,10242
+  | O_NOCTTYO_NOCTTY237,10298
+  | O_DSYNCO_DSYNC238,10375
+  | O_SYNCO_SYNC239,10478
+  | O_RSYNCO_RSYNC240,10581
+type file_permfile_perm244,10721
+val openfileopenfile248,10859
+val closeclose253,11108
+val readread256,11172
+val writewrite261,11442
+val single_writesingle_write268,11822
+val in_channel_of_descrin_channel_of_descr277,12107
+val out_channel_of_descrout_channel_of_descr282,12331
+val descr_of_in_channeldescr_of_in_channel287,12557
+val descr_of_out_channeldescr_of_out_channel290,12673
+type seek_commandseek_command297,12829
+    SEEK_SETSEEK_SET298,12869
+  | SEEK_CURSEEK_CUR299,12947
+  | SEEK_ENDSEEK_END300,13020
+val lseeklseek304,13144
+val truncatetruncate307,13257
+val ftruncateftruncate310,13350
+type file_kindfile_kind318,13509
+    S_REGS_REG319,13543
+  | S_DIRS_DIR320,13595
+  | S_CHRS_CHR321,13644
+  | S_BLKS_BLK322,13700
+  | S_LNKS_LNK323,13752
+  | S_FIFOS_FIFO324,13805
+  | S_SOCKS_SOCK325,13855
+type statsstats327,13902
+  { st_devst_dev328,13928
+    st_inost_ino329,13981
+    st_kindst_kind330,14033
+    st_permst_perm331,14089
+    st_nlinkst_nlink332,14142
+    st_uidst_uid333,14197
+    st_gidst_gid334,14257
+    st_rdevst_rdev335,14325
+    st_sizest_size336,14384
+    st_atimest_atime337,14437
+    st_mtimest_mtime338,14493
+    st_ctimest_ctime339,14555
+val statstat343,14689
+val lstatlstat346,14767
+val fstatfstat350,14919
+val isattyisatty354,15036
+module LargeFileLargeFile360,15224
+    val lseeklseek362,15249
+    val truncatetruncate363,15315
+    val ftruncateftruncate364,15362
+    type statsstats365,15414
+      { st_devst_dev366,15454
+        st_inost_ino367,15511
+        st_kindst_kind368,15567
+        st_permst_perm369,15627
+        st_nlinkst_nlink370,15684
+        st_uidst_uid371,15743
+        st_gidst_gid372,15807
+        st_rdevst_rdev373,15879
+        st_sizest_size374,15942
+        st_atimest_atime375,15999
+        st_mtimest_mtime376,16059
+        st_ctimest_ctime377,16125
+    val statstat379,16200
+    val lstatlstat380,16231
+    val fstatfstat381,16263
+val unlinkunlink398,16916
+val renamerename401,16975
+val linklink404,17094
+type access_permissionaccess_permission412,17274
+    R_OKR_OK413,17324
+  | W_OKW_OK414,17379
+  | X_OKX_OK415,17435
+  | F_OKF_OK416,17495
+val chmodchmod420,17596
+val fchmodfchmod423,17691
+val chownchown426,17791
+val fchownfchown429,17902
+val umaskumask432,18018
+val accessaccess436,18126
+val dupdup444,18341
+val dup2dup2448,18467
+val set_nonblockset_nonblock452,18605
+val clear_nonblockclear_nonblock460,19005
+val set_close_on_execset_close_on_exec464,19144
+val clear_close_on_execclear_close_on_exec470,19407
+val mkdirmkdir479,19584
+val rmdirrmdir482,19684
+val chdirchdir485,19746
+val getcwdgetcwd488,19819
+val chrootchroot491,19905
+type dir_handledir_handle494,19976
+val opendiropendir497,20067
+val readdirreaddir500,20143
+val rewinddirrewinddir504,20294
+val closedirclosedir507,20397
+val pipepipe515,20507
+val mkfifomkfifo520,20742
+val create_processcreate_process527,20904
+val create_process_envcreate_process_env543,21726
+val open_process_inopen_process_in551,22086
+val open_process_outopen_process_out558,22432
+val open_processopen_process566,22836
+val open_process_fullopen_process_full572,23183
+val close_process_inclose_process_in579,23540
+val close_process_outclose_process_out584,23744
+val close_processclose_process589,23951
+val close_process_fullclose_process_full594,24163
+val symlinksymlink604,24429
+val readlinkreadlink608,24574
+val selectselect615,24665
+type lock_commandlock_command632,25463
+    F_ULOCKF_ULOCK633,25503
+  | F_LOCKF_LOCK634,25544
+  | F_TLOCKF_TLOCK635,25624
+  | F_TESTF_TEST636,25702
+  | F_RLOCKF_RLOCK637,25765
+  | F_TRLOCKF_TRLOCK638,25845
+val lockflockf641,25965
+val killkill674,27458
+type sigprocmask_commandsigprocmask_command678,27581
+    SIG_SETMASKSIG_SETMASK679,27636
+  | SIG_BLOCKSIG_BLOCK680,27652
+  | SIG_UNBLOCKSIG_UNBLOCK681,27666
+val sigprocmasksigprocmask683,27683
+val sigpendingsigpending693,28161
+val sigsuspendsigsuspend696,28265
+val pausepause701,28507
+type process_timesprocess_times708,28628
+  { tms_utimetms_utime709,28670
+    tms_stimetms_stime710,28727
+    tms_cutimetms_cutime711,28786
+    tms_cstimetms_cstime712,28854
+type tmtm716,28982
+  { tm_sectm_sec717,29002
+    tm_mintm_min718,29055
+    tm_hourtm_hour719,29108
+    tm_mdaytm_mday720,29159
+    tm_montm_mon721,29217
+    tm_yeartm_year722,29276
+    tm_wdaytm_wday723,29327
+    tm_ydaytm_yday724,29392
+    tm_isdsttm_isdst725,29450
+val timetime730,29590
+val gettimeofdaygettimeofday734,29696
+val gmtimegmtime737,29807
+val localtimelocaltime741,29990
+val mktimemktime745,30144
+val alarmalarm755,30678
+val sleepsleep758,30772
+val timestimes761,30852
+val utimesutimes764,30937
+type interval_timerinterval_timer769,31163
+    ITIMER_REALITIMER_REAL770,31207
+  | ITIMER_VIRTUALITIMER_VIRTUAL772,31305
+  | ITIMER_PROFITIMER_PROF774,31410
+type interval_timer_statusinterval_timer_status780,31651
+  { it_intervalit_interval781,31709
+    it_valueit_value782,31756
+val getitimergetitimer786,31887
+val setitimersetitimer789,32006
+val getuidgetuid804,32582
+val geteuidgeteuid807,32669
+val setuidsetuid810,32762
+val getgidgetgid813,32855
+val getegidgetegid816,32943
+val setgidsetgid819,33037
+val getgroupsgetgroups822,33132
+type passwd_entrypasswd_entry826,33252
+  { pw_namepw_name827,33292
+    pw_passwdpw_passwd828,33314
+    pw_uidpw_uid829,33338
+    pw_gidpw_gid830,33356
+    pw_gecospw_gecos831,33374
+    pw_dirpw_dir832,33397
+    pw_shellpw_shell833,33418
+type group_entrygroup_entry837,33499
+  { gr_namegr_name838,33537
+    gr_passwdgr_passwd839,33559
+    gr_gidgr_gid840,33583
+    gr_memgr_mem841,33601
+val getlogingetlogin845,33686
+val getpwnamgetpwnam848,33781
+val getgrnamgetgrnam852,33899
+val getpwuidgetpwuid856,34015
+val getgrgidgetgrgid860,34133
+type inet_addrinet_addr868,34283
+val inet_addr_of_stringinet_addr_of_string871,34364
+val string_of_inet_addrstring_of_inet_addr879,34774
+val inet_addr_anyinet_addr_any884,34986
+val inet_addr_loopbackinet_addr_loopback888,35150
+val inet6_addr_anyinet6_addr_any891,35261
+val inet6_addr_loopbackinet6_addr_loopback895,35426
+type socket_domainsocket_domain902,35554
+    PF_UNIXPF_UNIX903,35596
+  | PF_INETPF_INET904,35647
+  | PF_INET6PF_INET6905,35709
+type socket_typesocket_type908,35807
+    SOCK_STREAMSOCK_STREAM909,35845
+  | SOCK_DGRAMSOCK_DGRAM910,35898
+  | SOCK_RAWSOCK_RAW911,35953
+  | SOCK_SEQPACKETSOCK_SEQPACKET912,36003
+type sockaddrsockaddr916,36148
+    ADDR_UNIXADDR_UNIX917,36181
+  | ADDR_INETADDR_INET918,36205
+val socketsocket925,36532
+val domain_of_sockaddrdomain_of_sockaddr931,36796
+val socketpairsocketpair934,36918
+val acceptaccept939,37087
+val bindbind944,37313
+val connectconnect947,37397
+val listenlisten950,37487
+type shutdown_commandshutdown_command954,37656
+    SHUTDOWN_RECEIVESHUTDOWN_RECEIVE955,37704
+  | SHUTDOWN_SENDSHUTDOWN_SEND956,37763
+  | SHUTDOWN_ALLSHUTDOWN_ALL957,37820
+val shutdownshutdown961,37916
+val getsocknamegetsockname968,38266
+val getpeernamegetpeername971,38355
+type msg_flagmsg_flag974,38466
+    MSG_OOBMSG_OOB975,38499
+  | MSG_DONTROUTEMSG_DONTROUTE976,38511
+  | MSG_PEEKMSG_PEEK977,38529
+val recvrecv981,38658
+val recvfromrecvfrom985,38793
+val sendsend990,38950
+val sendtosendto994,39082
+type socket_bool_optionsocket_bool_option1004,39270
+    SO_DEBUGSO_DEBUG1005,39296
+  | SO_BROADCASTSO_BROADCAST1006,39351
+  | SO_REUSEADDRSO_REUSEADDR1007,39414
+  | SO_KEEPALIVESO_KEEPALIVE1008,39480
+  | SO_DONTROUTESO_DONTROUTE1009,39529
+  | SO_OOBINLINESO_OOBINLINE1010,39594
+  | SO_ACCEPTCONNSO_ACCEPTCONN1011,39651
+type socket_int_optionsocket_int_option1016,39903
+    SO_SNDBUFSO_SNDBUF1017,39928
+  | SO_RCVBUFSO_RCVBUF1018,39974
+  | SO_ERRORSO_ERROR1019,40024
+  | SO_TYPESO_TYPE1020,40087
+  | SO_RCVLOWATSO_RCVLOWAT1021,40136
+  | SO_SNDLOWATSO_SNDLOWAT1022,40218
+type socket_optint_optionsocket_optint_option1027,40476
+  SO_LINGERSO_LINGER1028,40504
+type socket_float_optionsocket_float_option1035,40877
+    SO_RCVTIMEOSO_RCVTIMEO1036,40904
+  | SO_SNDTIMEOSO_SNDTIMEO1037,40959
+val getsockoptgetsockopt1043,41270
+val setsockoptsetsockopt1047,41413
+external getsockopt_intgetsockopt_int1050,41545
+external setsockopt_intsetsockopt_int1054,41714
+external getsockopt_optintgetsockopt_optint1058,41891
+external setsockopt_optintsetsockopt_optint1062,42091
+external getsockopt_floatgetsockopt_float1067,42303
+external setsockopt_floatsetsockopt_float1071,42503
+val open_connectionopen_connection1079,42765
+val shutdown_connectionshutdown_connection1085,43056
+val establish_serverestablish_server1090,43292
+type host_entryhost_entry1102,43714
+  { h_nameh_name1103,43750
+    h_aliasesh_aliases1104,43771
+    h_addrtypeh_addrtype1105,43801
+    h_addr_listh_addr_list1106,43833
+type protocol_entryprotocol_entry1110,43925
+  { p_namep_name1111,43969
+    p_aliasesp_aliases1112,43990
+    p_protop_proto1113,44020
+type service_entryservice_entry1117,44100
+  { s_names_name1118,44142
+    s_aliasess_aliases1119,44163
+    s_ports_port1120,44193
+    s_protos_proto1121,44211
+val gethostnamegethostname1125,44293
+val gethostbynamegethostbyname1128,44369
+val gethostbyaddrgethostbyaddr1132,44489
+val getprotobynamegetprotobyname1136,44615
+val getprotobynumbergetprotobynumber1140,44744
+val getservbynamegetservbyname1144,44883
+val getservbyportgetservbyport1148,45028
+type addr_infoaddr_info1152,45180
+  { ai_familyai_family1153,45197
+    ai_socktypeai_socktype1154,45258
+    ai_protocolai_protocol1155,45317
+    ai_addrai_addr1156,45387
+    ai_canonnameai_canonname1157,45442
+type getaddrinfo_optiongetaddrinfo_option1161,45575
+    AI_FAMILYAI_FAMILY1162,45601
+  | AI_SOCKTYPEAI_SOCKTYPE1163,45679
+  | AI_PROTOCOLAI_PROTOCOL1164,45755
+  | AI_NUMERICHOSTAI_NUMERICHOST1165,45829
+  | AI_CANONNAMEAI_CANONNAME1167,45973
+  | AI_PASSIVEAI_PASSIVE1169,46108
+val getaddrinfogetaddrinfo1173,46296
+type name_infoname_info1192,47373
+  { ni_hostnameni_hostname1193,47390
+    ni_serviceni_service1194,47464
+type getnameinfo_optiongetnameinfo_option1197,47612
+    NI_NOFQDNNI_NOFQDN1198,47638
+  | NI_NUMERICHOSTNI_NUMERICHOST1199,47702
+  | NI_NAMEREQDNI_NAMEREQD1200,47767
+  | NI_NUMERICSERVNI_NUMERICSERV1201,47838
+  | NI_DGRAMNI_DGRAM1202,47907
+val getnameinfogetnameinfo1206,48069
+type terminal_ioterminal_io1221,48652
+    mutable c_ignbrkc_ignbrk1224,48716
+    mutable c_brkintc_brkint1225,48781
+    mutable c_ignparc_ignpar1226,48855
+    mutable c_parmrkc_parmrk1227,48930
+    mutable c_inpckc_inpck1228,48987
+    mutable c_istripc_istrip1229,49054
+    mutable c_inlcrc_inlcr1230,49126
+    mutable c_igncrc_igncr1231,49186
+    mutable c_icrnlc_icrnl1232,49243
+    mutable c_ixonc_ixon1233,49303
+    mutable c_ixoffc_ixoff1234,49380
+    mutable c_opostc_opost1236,49484
+    mutable c_obaudc_obaud1238,49572
+    mutable c_ibaudc_ibaud1239,49653
+    mutable c_csizec_csize1240,49707
+    mutable c_cstopbc_cstopb1241,49780
+    mutable c_creadc_cread1242,49844
+    mutable c_parenbc_parenb1243,49903
+    mutable c_paroddc_parodd1244,49980
+    mutable c_hupclc_hupcl1245,50053
+    mutable c_clocalc_clocal1246,50113
+    mutable c_isigc_isig1248,50200
+    mutable c_icanonc_icanon1249,50274
+    mutable c_noflshc_noflsh1251,50401
+    mutable c_echoc_echo1252,50476
+    mutable c_echoec_echoe1253,50536
+    mutable c_echokc_echok1254,50615
+    mutable c_echonlc_echonl1255,50691
+    mutable c_vintrc_vintr1257,50793
+    mutable c_vquitc_vquit1258,50868
+    mutable c_verasec_verase1259,50938
+    mutable c_vkillc_vkill1260,51016
+    mutable c_veofc_veof1261,51091
+    mutable c_veolc_veol1262,51168
+    mutable c_vminc_vmin1263,51249
+    mutable c_vtimec_vtime1265,51394
+    mutable c_vstartc_vstart1266,51466
+    mutable c_vstopc_vstop1267,51537
+val tcgetattrtcgetattr1270,51612
+type setattr_whensetattr_when1274,51741
+    TCSANOWTCSANOW1275,51782
+  | TCSADRAINTCSADRAIN1276,51794
+  | TCSAFLUSHTCSAFLUSH1277,51808
+val tcsetattrtcsetattr1279,51823
+val tcsendbreaktcsendbreak1289,52339
+val tcdraintcdrain1294,52559
+type flush_queueflush_queue1298,52685
+    TCIFLUSHTCIFLUSH1299,52724
+  | TCOFLUSHTCOFLUSH1300,52737
+  | TCIOFLUSHTCIOFLUSH1301,52750
+val tcflushtcflush1303,52765
+type flow_actionflow_action1310,53112
+    TCOOFFTCOOFF1311,53151
+  | TCOONTCOON1312,53162
+  | TCIOFFTCIOFF1313,53172
+  | TCIONTCION1314,53183
+val tcflowtcflow1316,53194
+val setsidsetsid1323,53546
+
+/usr/local/soft/ocaml/3.10.0//lib/ocaml/weak.mli,624
+Weak1,0
+tt21,1050
+val createcreate33,1436
+val lengthlength38,1658
+val setset42,1759
+val getget49,2058
+val get_copyget_copy55,2315
+val checkcheck67,2852
+val fillfill72,3093
+val blitblit77,3347
+module type SS101,4425
+  type datadata102,4445
+  tt104,4514
+  val createcreate109,4738
+  val clearclear112,4882
+  val mergemerge114,4953
+  val addadd117,5104
+  val removeremove121,5324
+  val findfind124,5480
+  val find_allfind_all127,5629
+  val memmem130,5760
+  val iteriter133,5900
+  val foldfold137,6109
+  val countcount142,6382
+  val statsstats146,6597
+module MakeMake153,6926
+
+/usr/local/soft/ocaml/3.10.0//lib/ocaml/xml.mli,1352
+Xml1,0
+type xmlxml36,1372
+	| ElementElement37,1385
+	| PCDataPCData38,1445
+val parse_fileparse_file49,1857
+val parse_inparse_in53,1977
+val parse_stringparse_string57,2095
+type error_poserror_pos76,2905
+type error_msgerror_msg78,2923
+	| UnterminatedCommentUnterminatedComment79,2941
+	| UnterminatedStringUnterminatedString80,2965
+	| UnterminatedEntityUnterminatedEntity81,2988
+	| IdentExpectedIdentExpected82,3011
+	| CloseExpectedCloseExpected83,3029
+	| NodeExpectedNodeExpected84,3047
+	| AttributeNameExpectedAttributeNameExpected85,3064
+	| AttributeValueExpectedAttributeValueExpected86,3090
+	| EndOfTagExpectedEndOfTagExpected87,3117
+	| EOFExpectedEOFExpected88,3148
+type errorerror90,3166
+exception ErrorError92,3204
+exception File_not_foundFile_not_found94,3232
+val errorerror97,3322
+val error_msgerror_msg100,3400
+val lineline103,3483
+val rangerange106,3594
+val abs_rangeabs_range109,3695
+exception Not_elementNot_element113,3765
+exception Not_pcdataNot_pcdata114,3795
+exception No_attributeNo_attribute115,3824
+val tagtag119,3975
+val pcdatapcdata123,4120
+val attribsattribs128,4346
+val attribattrib135,4677
+val childrenchildren139,4840
+val iteriter147,5159
+val mapmap151,5331
+val foldfold156,5522
+val to_stringto_string162,5705
+val to_string_fmtto_string_fmt166,5857
+
+/usr/local/soft/ocaml/3.10.0//lib/ocaml/xmlParser.mli,358
+XmlParser1,0
+tt28,1109
+type sourcesource31,1180
+	| SFileSFile32,1196
+	| SChannelSChannel33,1216
+	| SStringSString34,1243
+	| SLexbufSLexbuf35,1265
+val makemake38,1361
+val proveprove44,1640
+val resolveresolve57,2436
+val check_eofcheck_eof63,2784
+val parseparse67,2974
+val concat_pcdataconcat_pcdata73,3300
+val _raises_raises78,3382
diff --git a/src/compEnv.ml b/src/compEnv.ml
deleted file mode 100644
index 4b058abbb09e479cb20542c84844e6ed55ab24c7..0000000000000000000000000000000000000000
--- a/src/compEnv.ml
+++ /dev/null
@@ -1,13 +0,0 @@
-
-(*
-
-Gère les structures nécessaires à la compil des items d'un package ? 
-
-*)
-
-
-type t = int
-
-let create stab = (
-0	
-)
diff --git a/src/compile.ml b/src/compile.ml
index a45bfaf0c116f4057a8e4a1aa77b19341f798530..4c71603b1a61bec4a2d1338b933645eab54171d5 100644
--- a/src/compile.ml
+++ b/src/compile.ml
@@ -42,35 +42,35 @@ let rec first_pack_in = (
 )
 
 let doit (srclist : Syntaxe.namespace list) (mnode : Syntaxe.idref) = (
-	(* init de la table source *)
-	let srctab = SrcTab.create srclist in
+  (* init de la table source *)
+  let srctab = SrcTab.create srclist in
 
-SrcTab.dump srctab;
+    SrcTab.dump srctab;
 
-	(* le pack par défaut est le premier de la liste ... *)
-	let dfltpack = first_pack_in srclist in
+    (* le pack par défaut est le premier de la liste ... *)
+    let dfltpack = first_pack_in srclist in
 
-	(* l'item_ref du noeud *)
-	let mnode_id = fullid_of_idref dfltpack mnode in
+    (* l'item_ref du noeud *)
+    let mnode_id = fullid_of_idref dfltpack mnode in
 
-	(* la clée "absolue" du main node (pas d'args statiques) *)
-	let mnode_key = CompileData.make_simple_node_key mnode_id in
+    (* la clée "absolue" du main node (pas d'args statiques) *)
+    let mnode_key = CompileData.make_simple_node_key mnode_id in
 
-Verbose.put "-- MAIN NODE: \"%s\"\n" (CompileData.string_of_node_key mnode_key);
+      Verbose.put "-- MAIN NODE: \"%s\"\n" (CompileData.string_of_node_key mnode_key);
 
-	(* Pour chaque package, on a un solveur de références
-	   globales, pour les types, const et oper :
-		- les références pointées (p::n) sont recherchées
-		directement dans la srctab puisqu'il n'y a pas 
-		d'ambiguité
-		- les références simple sont recherchées :
-        . dans le pack lui-même
-        . dans un des packs déclarés "uses", avec
-        priorité dans l'ordre
-	*)
-	let lzcomp = LazyCompiler.create srctab in
-	(* let res = LazyCompiler.do_node lzcomp mnode_key in *)
-	LazyCompiler.test_types lzcomp ;
+      (* Pour chaque package, on a un solveur de références
+	 globales, pour les types, const et oper :
+	 - les références pointées (p::n) sont recherchées
+	 directement dans la srctab puisqu'il n'y a pas 
+	 d'ambiguité
+	 - les références simple sont recherchées :
+         . dans le pack lui-même
+         . dans un des packs déclarés "uses", avec
+         priorité dans l'ordre
+      *)
+      let lzcomp = LazyCompiler.create srctab in
+(*       let res = LazyCompiler.do_node lzcomp mnode_key in *)
+	LazyCompiler.test_types lzcomp ; (* a virer *)
 	() 
 )
 
diff --git a/src/dump.ml b/src/dump.ml
index 5582c8880b28f171e66a402d452c8edcd658f0a2..e678111f19745d851432278da5b0377724b5a71f 100644
--- a/src/dump.ml
+++ b/src/dump.ml
@@ -88,16 +88,20 @@ and
 	    | TypeItem  id -> dump_type os (Hashtbl.find pkg.pk_type_table id)
 	    | OperItem  id -> (
 		match (Hashtbl.find pkg.pk_oper_table id) with
-		    {src = lxm ; it = Node (ninfo) } -> (
+		  | {src = lxm ; it = Node (ninfo) } -> 
 		      dump_node os {src = lxm; it = ninfo}
-		    ) |
-			{src = lxm ; it = Func finfo } -> (
-			  dump_func os {src = lxm; it = finfo}
-			)
+		  | {src = lxm ; it = Func finfo } ->
+		     dump_func os {src = lxm; it = finfo}
 	      )
-	) with Not_found -> raise
-	  (Internal_error
-	     ("dump_packbody", "unable to find a definition for \"%d\""))
+	) 
+	with Not_found -> 
+	  print_string ("*** unable to find a definition for " ^
+			  (match d with 
+			       ConstItem id -> id
+			     | TypeItem  id -> id
+			     | OperItem  id -> id
+			  ));
+	  assert false
       ) ;
       Format.fprintf os "@\n"
     ) in 
@@ -377,7 +381,7 @@ and dump_left_part_list (os: Format.formatter) (lfts: left_part list) =
     match lfts with
 	l::[] ->     dump_left_part os l
       |	l::reste ->  fprintf os "%a,@,%a" dump_left_part l dump_left_part_list reste
-      |	_ -> raise (Internal_error ("dump_left_part_list", "unexpected case"))
+      |	_ -> assert false
 	  
   )
 and dump_left_part (os: Format.formatter) (lft: left_part) =
@@ -429,6 +433,7 @@ and dump_by_pos_exp (os: Format.formatter) (oper: by_pos_op) (pars: val_exp list
       |	(INT2REAL_n,  [p0]) -> dump_unary_exp os "real" p0
 	  (* binaires *)
       |	(ARROW_n,  [p0;p1]) -> dump_binary_exp os "->" p0 p1
+      |	(FBY_n,    [p0;p1]) -> dump_binary_exp os "fby" p0 p1
       |	(WHEN_n,   [p0;p1]) -> dump_binary_exp os "when" p0 p1
       |	(AND_n,    [p0;p1]) -> dump_binary_exp os "and" p0 p1
       |	(OR_n,     [p0;p1]) -> dump_binary_exp os "or" p0 p1
@@ -468,7 +473,50 @@ and dump_by_pos_exp (os: Format.formatter) (oper: by_pos_op) (pars: val_exp list
 	    (* pseudo-unaire : acces structure *)
       |	(STRUCT_ACCESS_n fld, [p0]) -> fprintf os "%a.%s"
 	  dump_val_exp p0 fld
-      |	_ -> raise (Internal_error ("dump_by_pos_exp", "unexpected case"))
+
+      
+      | (FBY_n, _) -> assert false
+      | (PROJ_n _, _) -> assert false
+      | (NULL_exp, _) -> assert false
+
+      | (STRUCT_ACCESS_n _, _) -> assert false
+      |	(ARRAY_SLICE_n _, _) -> assert false
+      | (ARRAY_ACCES_n _, _) -> assert false
+      | (WITH_n, _) -> assert false
+      | (IF_n, _) -> assert false
+      | (CONCAT_n, _) -> assert false
+      | (HAT_n, _) -> assert false
+      | (POWER_n, _) -> assert false
+      | (TIMES_n, _) -> assert false
+      | (SLASH_n, _) -> assert false
+      | (PLUS_n, _) -> assert false
+      | (MINUS_n, _) -> assert false
+      | (MOD_n, _) -> assert false
+      | (DIV_n, _) -> assert false
+      | (GTE_n, _) -> assert false
+      | (GT_n, _) -> assert false
+      | (LTE_n, _) -> assert false
+      | (LT_n, _) -> assert false
+      | (NEQ_n, _) -> assert false
+      | (EQ_n, _) -> assert false
+      | (IMPL_n, _) -> assert false
+      | (XOR_n, _) -> assert false
+      | (OR_n, _) -> assert false
+      | (AND_n, _) -> assert false
+      | (WHEN_n, _) -> assert false
+      | (ARROW_n, _) -> assert false
+      | (INT2REAL_n, _) -> assert false
+      | (REAL2INT_n, _) -> assert false
+      | (CURRENT_n, _) -> assert false
+      | (PRE_n, _) -> assert false
+      | (UMINUS_n, _) -> assert false
+      | (NOT_n, _) -> assert false
+      | (IDENT_n _, _) -> assert false
+      | (RCONST_n _, _::_) -> assert false
+      | (ICONST_n _, _::_) -> assert false
+      | (FALSE_n, _::_) -> assert false
+      | (TRUE_n, _::_) -> assert false
+
   )
     (* les procs standard pour les operateurs predefs *)
 and dump_leaf_exp (os : Format.formatter) (s : string) = (
@@ -539,9 +587,32 @@ and op2string op = (
     |	(POWER_n  ) -> "**"
     |	(HAT_n    ) -> "^"
     |	(CONCAT_n ) -> "|"
+    |   (PROJ_n _ ) -> assert false
+    |   (IDENT_n _) -> assert false
+    |   (RCONST_n _)-> assert false
+    |   (ICONST_n _)-> assert false
+    |   (FBY_n    ) -> assert false
+    |   (INT2REAL_n)-> assert false
+    |   (REAL2INT_n)-> assert false
+    |   (FALSE_n  ) -> assert false
+    |   (TRUE_n   ) -> assert false
+    |   (NULL_exp ) -> assert false
 	  (* ternaires *)
     |	(IF_n     ) -> "if"
-    |	_ -> raise (Internal_error ("dump_by_pos_exp", "unexpected case"))
+    |	(WITH_n   ) -> "with" 
+	  (* n-aires *)
+    |	(NOR_n    ) -> "nor"
+    |	(DIESE_n  ) -> "#"
+    |	(TUPLE_n  ) -> assert false
+    |	(CALL_n _ ) -> assert false
+	  (* tableau (spécial) *)
+    |	(ARRAY_n  ) -> assert false
+	  (* pseudo-unaire : acces tableau *)
+    |	(ARRAY_ACCES_n _ ) ->  assert false
+    |	(ARRAY_SLICE_n sl) -> assert false
+	  (* pseudo-unaire : acces structure *)
+    |	(STRUCT_ACCESS_n fld) -> assert false
+
 )
 and dump_oper_exp
     (os : Format.formatter)
diff --git a/src/errors.ml b/src/errors.ml
index bd02838e1004137a138c405bc5840d2950c63f13..9c4c81b6dae4f3e0948dd01b27ef766e54a30cc7 100644
--- a/src/errors.ml
+++ b/src/errors.ml
@@ -100,11 +100,6 @@ Une erreur plus generale
 ----------------------------------------------------------------------*)
 exception Global_error of string
 
-(*---------------------------------------------------------------------
-Une erreur qui n'aurrait pas du arriver (fonction, message)
-----------------------------------------------------------------------*)
-exception Internal_error of string * string
-
 
 (*---------------------------------------------------------------------
 Formatage standard des erreurs de compil
diff --git a/src/eval.ml b/src/eval.ml
deleted file mode 100644
index 0f68135b983382ae2b07d42f596d13680a8a06f9..0000000000000000000000000000000000000000
--- a/src/eval.ml
+++ /dev/null
@@ -1,53 +0,0 @@
-match oper with 
-		TRUE_n     -> 
-	|	FALSE_n    -> 
-	|	ICONST_n s -> (0, function x -> IntVal (int_of_string s) 
-	|	RCONST_n s -> (0, function x -> IntVal (int_of_string s) 
-	|	RCONST_n s -> ICI
-	|	IDENT_n  s -> ICI
-	(* unaires *)
-	|	NOT_n       -> ICI
-	|	UMINUS_n    -> ICI
-	|	PRE_n       -> ICI
-	|	CURRENT_n   -> ICI
-	|	REAL2INT_n  -> ICI
-	|	INT2REAL_n  -> ICI
-	(* binaires *)
-	|	ARROW_n  -> ICI
-	|	WHEN_n   -> ICI
-	|	AND_n    -> ICI
-	|	OR_n     -> ICI
-	|	XOR_n    -> ICI
-	|	IMPL_n   -> ICI
-	|	EQ_n     -> ICI
-	|	NEQ_n    -> ICI
-	|	LT_n     -> ICI
-	|	LTE_n    -> ICI
-	|	GT_n     -> ICI
-	|	GTE_n    -> ICI
-	|	DIV_n    -> ICI
-	|	MOD_n    -> ICI
-	|	MINUS_n  -> ICI
-	|	PLUS_n   -> ICI
-	|	SLASH_n  -> ICI
-	|	TIMES_n  -> ICI
-	|	POWER_n  -> ICI
-	|	HAT_n    -> ICI
-	|	CONCAT_n -> ICI
-	(* ternaires *)
-	|	IF_n   -> ICI
-	|	WITH_n -> ICI
-	(* n-aires *)
-	|	NOR_n     -> ICI
-	|	DIESE_n   -> ICI
-	|	TUPLE_n   -> ICI
-	|	CALL_n s  -> ICI
-	(* tableau (spécial) *)
-	|	ARRAY_n  pl -> ICI
-	(* pseudo-unaire : acces tableau *)
-	|	ARRAY_ACCES_n ix -> ICI
-			ICI
-	|	ARRAY_SLICE_n sl -> ICI
-	(* pseudo-unaire : acces structure *)
-	|	STRUCT_ACCESS_n fld -> ICI
-	|	_ -> raise Internal_error ("ICI")
diff --git a/src/evalConst.ml b/src/evalConst.ml
index fbcaafd5328cbb82f07d5e15e30124cde286fe98..9d049b645bd9072d087205a5e9fcde542a126aa2 100644
--- a/src/evalConst.ml
+++ b/src/evalConst.ml
@@ -107,226 +107,226 @@ op_computer :
 ----------------------------------------------------*)
 
 let op_computer (posop : by_pos_op) (src: Lxm.t)
-= (* retour : (const_eff list -> const_eff_list) option *)
-(
-	(*----------------------------
-		le template pour tous les :
-		bool*bool->bool
-	----------------------------*)
-	let generic_bin_bool
-		(nm : string) 
-		(f : bool -> bool -> bool)
-		(args : const_eff list)
+    = (* retour : (const_eff list -> const_eff_list) option *)
+  (
+    (*----------------------------
+      le template pour tous les :
+      bool*bool->bool
+      ----------------------------*)
+    let generic_bin_bool
+	(nm : string) 
+	(f : bool -> bool -> bool)
+	(args : const_eff list)
 	= (
-		match args with
-			[Bool_const_eff v0; Bool_const_eff v1] -> [Bool_const_eff (f v0 v1)]
-		|	[x0; x1] -> (type_error [x0; x1] "bool*bool")
-		|	x        -> (arity_error x "2" )
+	  match args with
+	      [Bool_const_eff v0; Bool_const_eff v1] -> [Bool_const_eff (f v0 v1)]
+	    |	[x0; x1] -> (type_error [x0; x1] "bool*bool")
+	    |	x        -> (arity_error x "2" )
 	) in
-	(*----------------------------
-		le template pour tous les :
-		int*int->int
+      (*----------------------------
+	le template pour tous les :
+	int*int->int
 	----------------------------*)
-	let generic_bin_int
-		(nm : string) 
-		(f : int -> int -> int)
-		(args : const_eff list)
+    let generic_bin_int
+	(nm : string) 
+	(f : int -> int -> int)
+	(args : const_eff list)
 	= (
-		match args with
-			[Int_const_eff v0; Int_const_eff v1] -> [Int_const_eff (f v0 v1)]
-		|	[x0; x1] -> (type_error [x0; x1] "int*int")
-		|	x        -> (arity_error x "2" )
+	  match args with
+	      [Int_const_eff v0; Int_const_eff v1] -> [Int_const_eff (f v0 v1)]
+	    |	[x0; x1] -> (type_error [x0; x1] "int*int")
+	    |	x        -> (arity_error x "2" )
 	) in
-	(*----------------------------
-		le template pour tous les :
-		num*num->bool
-		N.B. on est obligé de passer 
-		2 "copie" du comparateur
-		(fi pour int, fr pour float)
-		sinon caml ne peut pas typer ...
+      (*----------------------------
+	le template pour tous les :
+	num*num->bool
+	N.B. on est obligé de passer 
+	2 "copie" du comparateur
+	(fi pour int, fr pour float)
+	sinon caml ne peut pas typer ...
 	----------------------------*)
-	let generic_num_comp
-		(nm : string)
-		(fi : int -> int -> bool)
-		(fr : float -> float -> bool)
-		(args : const_eff list)
+    let generic_num_comp
+	(nm : string)
+	(fi : int -> int -> bool)
+	(fr : float -> float -> bool)
+	(args : const_eff list)
 	= (
-		match args with
-		[Int_const_eff v0; Int_const_eff v1] -> (
-			[Bool_const_eff (fi v0 v1)]
-		) |
-		[Real_const_eff v0; Real_const_eff v1] -> (
-			let res = (fr v0 v1) in
-			warning src (sprintf "float in static exp: %f%s%f evaluated as %b" v0 nm v1 res);
-			[Bool_const_eff res]
-		) |
-		[x0; x1] -> (type_error [x0; x1] "int*int or real*real")
-		|	x     -> (arity_error x "2" )
+	  match args with
+	      [Int_const_eff v0; Int_const_eff v1] -> (
+		[Bool_const_eff (fi v0 v1)]
+	      ) |
+		  [Real_const_eff v0; Real_const_eff v1] -> (
+		    let res = (fr v0 v1) in
+		      warning src (sprintf "float in static exp: %f%s%f evaluated as %b" v0 nm v1 res);
+		      [Bool_const_eff res]
+		  ) |
+		      [x0; x1] -> (type_error [x0; x1] "int*int or real*real")
+	    |	x     -> (arity_error x "2" )
 	) in
-	(*----------------------------
-		le template pour tous les :
-		num*num->num
+      (*----------------------------
+	le template pour tous les :
+	num*num->num
 	----------------------------*)
-	let generic_bin_num
-		(nm : string)
-		(fi : int -> int -> int)
-		(fr : float -> float -> float)
-		(args : const_eff list)
+    let generic_bin_num
+	(nm : string)
+	(fi : int -> int -> int)
+	(fr : float -> float -> float)
+	(args : const_eff list)
 	= (
-		match args with
-		[Int_const_eff v0; Int_const_eff v1] -> (
-			[Int_const_eff (fi v0 v1)]
-		) |
-		[Real_const_eff v0; Real_const_eff v1] -> (
-			let res = (fr v0 v1) in
-			warning src (sprintf "float in static exp: %f%s%f evaluated as %f" v0 nm v1 res);
-			[Real_const_eff res]
-		) |
-		[x0; x1] -> (type_error [x0; x1] "int*int or real*real")
-		|	x     -> (arity_error x "2" )
+	  match args with
+	      [Int_const_eff v0; Int_const_eff v1] -> (
+		[Int_const_eff (fi v0 v1)]
+	      ) |
+		  [Real_const_eff v0; Real_const_eff v1] -> (
+		    let res = (fr v0 v1) in
+		      warning src (sprintf "float in static exp: %f%s%f evaluated as %f" v0 nm v1 res);
+		      [Real_const_eff res]
+		  ) |
+		      [x0; x1] -> (type_error [x0; x1] "int*int or real*real")
+	    |	x     -> (arity_error x "2" )
 	) in
-	(*----------------------------
-		Calcul du if
+      (*----------------------------
+	Calcul du if
 	----------------------------*)
-	let compute_if (args : const_eff list) = (
-		match args with 
-		[Bool_const_eff c; x1; x2] -> (
-			let t1 = type_of_const_eff x1 in	
-			let t2 = type_of_const_eff x2 in	
-			if (t1 = t2 ) then (if (c) then [x1] else [x2])
-			else (type_error args "bool*t*t for some type t")
-		)
-		| [x0; x1; x2] -> (type_error args "bool*t*t for some type t")
-		| x -> (arity_error x "3")
-	) in
-	(*----------------------------
-		Calcul de l'égalité
-		N.B. Sur les constantes abstraites
-		on est très méfiant
-		N.B. Sur les types structure,
-		on fait des appels récursifs
+    let compute_if (args : const_eff list) = (
+      match args with 
+	  [Bool_const_eff c; x1; x2] -> (
+	    let t1 = type_of_const_eff x1 in	
+	    let t2 = type_of_const_eff x2 in	
+	      if (t1 = t2 ) then (if (c) then [x1] else [x2])
+	      else (type_error args "bool*t*t for some type t")
+	  )
+	| [x0; x1; x2] -> (type_error args "bool*t*t for some type t")
+	| x -> (arity_error x "3")
+    ) in
+      (*----------------------------
+	Calcul de l'égalité
+	N.B. Sur les constantes abstraites
+	on est très méfiant
+	N.B. Sur les types structure,
+	on fait des appels récursifs
 	----------------------------*)
-	let rec compute_eq 
-		(args : const_eff list)
+    let rec compute_eq 
+	(args : const_eff list)
 	= (
-		let rec fields_eq f0 f1 = (
-			match (f0, f1) with
-			([], []) -> (
-				[Bool_const_eff true]
-			) |
-			((f0,h0)::t0, (f1,h1)::t1) -> (
-				if(f0 <> f1) then (
-					raise (Internal_error ("compute_eq::fields_eq", "unexpected case"))
-				) else
-				match (compute_eq [h0;h1]) with
-					[Bool_const_eff false] -> [Bool_const_eff false]
-				|  [Bool_const_eff true] -> (fields_eq t0 t1) 
-				|	_ -> raise (Internal_error ("compute_eq::fields_eq", "unexpected case"))
-			) |
-			_ -> raise (Internal_error ("compute_eq::fields_eq", "unexpected case"))
-		) in
-		match args with
-			[Bool_const_eff v0; Bool_const_eff v1] -> [Bool_const_eff (v0 = v1)]
-		|	[Int_const_eff v0; Int_const_eff v1] -> [Bool_const_eff (v0 = v1)]
-		|	[Real_const_eff v0; Real_const_eff v1] -> (
-			let res = (v0 = v1) in
-			warning src (sprintf "float in static exp: %f=%f evaluated as %b" v0 v1 res);
-			[Bool_const_eff res]
-		)
-(*
-2007-07 obsolete
-
-		|  [Extern_const_eff (v0, t0); Extern_const_eff (v1, t1)] -> (
-			if (t0 <> t1) then (
-				type_error args "t*t for some type t"
-			) else if (v0 <> v1) then (
-				uneval_error args (
-					sprintf "%s=%s (external constants)"
-					(string_of_fullid v0)
-					(string_of_fullid v1)
-				)
-			) else (
-				[Bool_const_eff true]
-			)
+	  let rec fields_eq f0 f1 = (
+	    match (f0, f1) with
+		([], []) -> (
+		  [Bool_const_eff true]
+		) |
+		    ((f0,h0)::t0, (f1,h1)::t1) -> (
+		      assert (f0 = f1);
+		      match (compute_eq [h0;h1]) with
+			  [Bool_const_eff false] -> [Bool_const_eff false]
+			| [Bool_const_eff true] -> (fields_eq t0 t1) 
+			| _ -> assert false
+		    )
+	      |
+		  _ -> assert false
+	  ) 
+	  in
+	    match args with
+		[Bool_const_eff v0; Bool_const_eff v1] -> [Bool_const_eff (v0 = v1)]
+	      |	[Int_const_eff v0; Int_const_eff v1] -> [Bool_const_eff (v0 = v1)]
+	      |	[Real_const_eff v0; Real_const_eff v1] -> (
+		  let res = (v0 = v1) in
+		    warning src (sprintf "float in static exp: %f=%f evaluated as %b" v0 v1 res);
+		    [Bool_const_eff res]
 		)
-*)
-		|	[Enum_const_eff (v0, t0); Enum_const_eff (v1, t1)] -> (
-			if (t0 = t1) then [Bool_const_eff (v0 =  v1)]
-			             else type_error args "t*t for some type t"
+		  (*
+		    2007-07 obsolete
+
+		    |  [Extern_const_eff (v0, t0); Extern_const_eff (v1, t1)] -> (
+		    if (t0 <> t1) then (
+		    type_error args "t*t for some type t"
+		    ) else if (v0 <> v1) then (
+		    uneval_error args (
+		    sprintf "%s=%s (external constants)"
+		    (string_of_fullid v0)
+		    (string_of_fullid v1)
+		    )
+		    ) else (
+		    [Bool_const_eff true]
+		    )
+		    )
+		  *)
+	      |	[Enum_const_eff (v0, t0); Enum_const_eff (v1, t1)] -> (
+		  if (t0 = t1) then [Bool_const_eff (v0 =  v1)]
+		  else type_error args "t*t for some type t"
 		)
-		|	[Struct_const_eff (f0, t0); Struct_const_eff (f1, t1)] -> (
-			if (t0 = t1) then (fields_eq f0 f1)
-			             else type_error args "t*t for some type t"
+	      |	[Struct_const_eff (f0, t0); Struct_const_eff (f1, t1)] -> (
+		  if (t0 = t1) then (fields_eq f0 f1)
+		  else type_error args "t*t for some type t"
 		)
-		|	[x;y] -> type_error args "t*t for some type t"
-		|	x -> arity_error args "2"
+	      |	[x;y] -> type_error args "t*t for some type t"
+	      |	x -> arity_error args "2"
 	) in
-(* match principal *)
-match posop with 
+      (* match principal *)
+      match posop with 
 	  TRUE_n     -> (
-		function [] -> [ Bool_const_eff true ] 
-		       | x  -> arity_error x "0"
-		)
+	    function [] -> [ Bool_const_eff true ] 
+	      | x  -> arity_error x "0"
+	  )
 	| FALSE_n    -> (
-		function [] -> [ Bool_const_eff false ]
-		       | x  -> arity_error x "0"
-		)
+	    function [] -> [ Bool_const_eff false ]
+	      | x  -> arity_error x "0"
+	  )
 	| ICONST_n s -> (
-		function  [] -> [ Int_const_eff (int_of_string s) ]
-		        | x  -> arity_error x "0"
-		)
+	    function  [] -> [ Int_const_eff (int_of_string s) ]
+	      | x  -> arity_error x "0"
+	  )
 	| RCONST_n s -> (
-		function  [] -> [ Real_const_eff (float_of_string s) ]
-		        | x  -> arity_error x "0"
-		)
-	| IDENT_n  s -> (raise (Internal_error("op_computer", "unexpected case")))
-	(* unaires *)
+	    function  [] -> [ Real_const_eff (float_of_string s) ]
+	      | x  -> arity_error x "0"
+	  )
+	| IDENT_n  s -> assert false
+	    (* unaires *)
 	| NOT_n       -> (
-		function [Bool_const_eff v] -> [Bool_const_eff (not v)]
-		       | [x] -> type_error [x] "bool"
-		       |  x  -> arity_error x "1"
-	)
+	    function [Bool_const_eff v] -> [Bool_const_eff (not v)]
+	      | [x] -> type_error [x] "bool"
+	      |  x  -> arity_error x "1"
+	  )
 	| UMINUS_n    -> (
-		function [Int_const_eff v] -> [Int_const_eff (- v)]
-	          | [Real_const_eff v] -> [Real_const_eff (-. v)]
-		       | [x] -> type_error [x] "int or real"
-		       |  x  -> arity_error x "1"
-		)
+	    function [Int_const_eff v] -> [Int_const_eff (- v)]
+	      | [Real_const_eff v] -> [Real_const_eff (-. v)]
+	      | [x] -> type_error [x] "int or real"
+	      |  x  -> arity_error x "1"
+	  )
 	| PRE_n       -> ( function x -> uneval_error x "pre")
 	| CURRENT_n   -> ( function x -> uneval_error x "current")
 	| REAL2INT_n  -> (
-		function
+	    function
 		[Real_const_eff v] -> (
-			let res = (int_of_float v) in
-			warning src (sprintf "float2int cast: '%f' converted to '%d'" v res);
-			[Int_const_eff res]
-		)
-		| [x] -> type_error [x] "real"
-		| x   -> arity_error x "1"
+		  let res = (int_of_float v) in
+		    warning src (sprintf "float2int cast: '%f' converted to '%d'" v res);
+		    [Int_const_eff res]
 		)
+	      | [x] -> type_error [x] "real"
+	      | x   -> arity_error x "1"
+	  )
 	| INT2REAL_n  -> (
-		function [Int_const_eff v] -> [Real_const_eff (float_of_int v)]
-		| [x] -> type_error [x] "int"
-		| x   -> arity_error x "1"
-	)
-	(* binaires *)
+	    function [Int_const_eff v] -> [Real_const_eff (float_of_int v)]
+	      | [x] -> type_error [x] "int"
+	      | x   -> arity_error x "1"
+	  )
+	    (* binaires *)
 	| ARROW_n  -> ( function x -> uneval_error x "->")
 	| WHEN_n   -> (
-		function x -> uneval_error x "when"
-	)
-	(* pour les operateurs binaire booléens, on a un seul "template" *)
+	    function x -> uneval_error x "when"
+	  )
+	    (* pour les operateurs binaire booléens, on a un seul "template" *)
 	| AND_n    -> ( generic_bin_bool "and" (&&) )
 	| OR_n     -> ( generic_bin_bool "or" (or) )
 	| XOR_n    -> ( generic_bin_bool "xor" (<>) )
 	| IMPL_n   -> ( generic_bin_bool "=>" (function x -> function y -> not x or y))
 	| EQ_n     -> ( compute_eq )
 	| NEQ_n    -> (
-		function x -> (
-			match (compute_eq x) with
-				[Bool_const_eff v] -> [Bool_const_eff (not v)]
-			|	x -> x 
-			)
-		)
+	    function x -> (
+	      match (compute_eq x) with
+		  [Bool_const_eff v] -> [Bool_const_eff (not v)]
+		|	x -> x 
+	    )
+	  )
 	| LT_n     -> ( generic_num_comp "<" (<) (<) )
 	| LTE_n    -> ( generic_num_comp "<=" (<=) (<=) )
 	| GT_n     -> ( generic_num_comp ">" (>) (>) )
@@ -337,27 +337,29 @@ match posop with
 	| PLUS_n   -> ( generic_bin_num "+" (+) (+.) )
 	| SLASH_n  -> ( generic_bin_num "/" (/) (/.) )
 	| TIMES_n  -> ( generic_bin_num "*" ( * ) ( *. ) )
-	| POWER_n  -> raise (Internal_error("op_computer", "unexpected case"))
-	(* ternaires *)
+	| POWER_n  -> assert false
+	    (* ternaires *)
 	| IF_n   -> (compute_if)
-	(* n-aires *)
-	| NOR_n     -> raise (Internal_error("op_computer", "unexpected case"))
-	| DIESE_n   -> raise (Internal_error("op_computer", "unexpected case"))
-	| CALL_n s  -> raise (Internal_error("op_computer", "unexpected case"))
-	(* pseudo-unaire : acces structure *)
+	    (* n-aires *)
+	| NOR_n     -> assert false
+	| DIESE_n   -> assert false
+	| CALL_n s  -> assert false
+	    (* pseudo-unaire : acces structure *)
 	| STRUCT_ACCESS_n fid -> (
-		function [Struct_const_eff (flst, typ)] -> (
-			try [List.assoc fid flst]
-			with Not_found -> raise (EvalConst_error(sprintf 
-				"%s is not a field of struct %s" fid (string_of_type_eff(typ))
-			))
-		)
-		| [x] -> type_error [x] "struct type"
-		| x -> arity_error x "1"
-	) |
-	_ -> ( raise (Internal_error ("op_computer", "unexpected case"))
-	)
-)
+	    function [Struct_const_eff (flst, typ)] -> (
+	      try [List.assoc fid flst]
+	      with Not_found -> 
+		raise (EvalConst_error(
+			 sprintf 
+			   "%s is not a field of struct %s" 
+			   fid (string_of_type_eff(typ))
+		       ))
+	    )
+	      | [x] -> type_error [x] "struct type"
+	      | x -> arity_error x "1"
+	  ) |
+	      _ -> assert false
+  )
 
 (*----------------------------------------------------
 Utilitaire :
@@ -666,17 +668,20 @@ let rec eval_const
 		) |
 		    (* extension homomorphe spéciale ? *)
 		    CALL_n s -> (
-		      raise(Internal_error("eval_by_pos_const", "node call not yet implemented"))
-		    ) | 
-			(* PAS D'EXTENTION HOMOMORPHE IMPLICITE
-
-			   Toutes les autres opérations sont des 
-		 	   cas classiques d'extention homomorphe *)
-			_ -> (
-			  let effargs = List.flatten (List.map rec_eval_const args) in
-			    (* compute_homomorphic_op (op_computer posop lxm) effargs *)
-			    (op_computer posop lxm) effargs
-			)
+		      print_string "*** node call not yet implemented\n";
+		      assert false
+		    ) 
+	      | 
+		  (* PAS D'EXTENTION HOMOMORPHE IMPLICITE
+		     
+		     Toutes les autres opérations sont des 
+		     cas classiques d'extention homomorphe *)
+		  _ -> 
+		  (
+		    let effargs = List.flatten (List.map rec_eval_const args) in
+		      (* compute_homomorphic_op (op_computer posop lxm) effargs *)
+		      (op_computer posop lxm) effargs
+		  )
 	  ) (* FIN DE : eval_by_pos_const *)
 	(*-------------------------------------*)
 	(* Fonction récursive secondaire       *)
diff --git a/src/evalType.ml b/src/evalType.ml
index b7fc2bbc3798b094287c320054024a71887839da..bf70019310292d54b8b46444c3106002e993bf65 100644
--- a/src/evalType.ml
+++ b/src/evalType.ml
@@ -53,25 +53,25 @@ Effets de bord :
 ----------------------------------------------------------------------*)
 
 let rec eval_type 
-	(env : id_solver)
-	(texp : type_exp)
-= (
-	try (
-		match texp.it with 
-     	Bool_type_exp -> Bool_type_eff
-		| Int_type_exp  -> Int_type_eff
-		| Real_type_exp -> Real_type_eff
-		| Named_type_exp s -> (
-			env.id2type s texp.src 
-		)
-		| Array_type_exp (elt_texp, szexp) -> (
-			let elt_teff = eval_type env elt_texp in
-			try (
-				let sz = EvalConst.eval_array_size env szexp in
-					Array_type_eff ( elt_teff, sz)
-			) with EvalArray_error msg -> raise(EvalType_error msg)
-		)
-	) with EvalType_error msg -> (
-		raise (Compile_error(texp.src, "can't eval type: "^msg))	
-	)
-)
+    (env : id_solver)
+    (texp : type_exp)
+    = (
+      try (
+	match texp.it with 
+     	    Bool_type_exp -> Bool_type_eff
+	  | Int_type_exp  -> Int_type_eff
+	  | Real_type_exp -> Real_type_eff
+	  | Named_type_exp s -> (
+	      env.id2type s texp.src 
+	    )
+	  | Array_type_exp (elt_texp, szexp) -> (
+	      let elt_teff = eval_type env elt_texp in
+		try (
+		  let sz = EvalConst.eval_array_size env szexp in
+		    Array_type_eff ( elt_teff, sz)
+		) with EvalArray_error msg -> raise(EvalType_error msg)
+	    )
+      ) with EvalType_error msg -> (
+	raise (Compile_error(texp.src, "can't eval type: "^msg))	
+      )
+    )
diff --git a/src/expandPack.ml b/src/expandPack.ml
index f235223d01c9880c31a8e07b2709a5422a17f125..c859de8b43d7b77c27d6646c32896319835926d1 100644
--- a/src/expandPack.ml
+++ b/src/expandPack.ml
@@ -40,126 +40,132 @@ let doit mtab pdata = (
       PackGiven pg -> (
 	(* on garde tel-quel ... *)
 	pg
-      ) |
-	  PackInstance pi -> (
-	    (* recherche du modèle *)
-	    let mi = try (
-	      Hashtbl.find mtab pi.pi_model 
-	    ) with Not_found -> (
-	      let msg = Printf.sprintf "bad pack instance: model %s undeclared"
-		pi.pi_model in
-		raise ( Compile_error (pdata.src, msg))
-	    ) in
-	      (*-----------INIT-----------------------------------*)
-	      (* On part du packbody du modèle, dont on duplique les tables :*)
-	    let ctab = Hashtbl.copy mi.it.mo_body.pk_const_table in
-	    let ttab = Hashtbl.copy mi.it.mo_body.pk_type_table in
-	    let otab = Hashtbl.copy mi.it.mo_body.pk_oper_table in
-	      (* liste des nouveaux define ... *)
-	    let newdefs = ref [] in
-	      (* liste des nouveaux provides ... *)
-	    let newprov = ref [] in
-	      (* On met en correspondance les pi_args avec les mo_needs *)
-	    let args = pi.pi_args in
-	    let pars = mi.it.mo_needs in
-	      (*--------------------------------------------------*)
-	      (* la fonction qui traite un couple ... *)
-	    let check_arg p a = (
-	      (* message d'erreur standard *)
-	      let instance_error () = (
-		let msg = Printf.sprintf
-		  "bad pack instance: uncompatible arg passed to %s"
-		  (Lxm.details p.src)
-		in
-		  raise (Compile_error (a.src, msg))
-	      ) in
-		(* on a soit un ident, à checker plus tard, 
-		   soit une expression de la bonne nature *)
-		match (p.it) with
-		    StaticParamType s -> (
-		      let te = match (a.it) with
-			  StaticArgIdent idr -> (
-			    Lxm.flagit (Named_type_exp idr) a.src
-			  ) |
-			      StaticArgType x -> x
-			| _ -> instance_error ()
-		      in
-		      let ti = AliasedType (s, te) in
-		      let x = Lxm.flagit (TypeInfo ti) p.src in
-			newprov := x::!newprov ;
-			let y = Lxm.flagit ti p.src in
-			  CompUtils.put_in_tab "type" ttab s y ;
-			  newdefs := (TypeItem s)::!newdefs
-		    ) |
-			StaticParamConst (s,te) -> (
-			  let ce = match (a.it) with
-			      StaticArgIdent idr -> (
-				Syntaxe.leafexp a.src (IDENT_n idr) 
-			      ) |
-				  StaticArgConst x -> x
-			    | _ -> instance_error ()
-			  in
-			  let ci = DefinedConst (s, Some te, ce) in
-			  let x = Lxm.flagit (ConstInfo ci) p.src in
-			    newprov := x::!newprov ;
-			    let y = Lxm.flagit ci p.src in
-			      CompUtils.put_in_tab "const" ctab s y ;
-			      newdefs := (ConstItem s)::!newdefs
-			) |
-			    StaticParamNode (s,inl,outl) -> (
-			      let ne = match (a.it) with
-				  StaticArgIdent idr -> (
-				    Lxm.flagit (CallUsrDef (idr,[])) a.src
-				  ) |
-				      StaticArgNode x -> Lxm.flagit x a.src
-				| _ -> instance_error () 
-			      in
-			      let ni = Node {
-				ni_name = s;
-				ni_staticlist = [] ;
-				ni_value = NodeAlias (Some(inl,outl), ne) ;
-			      } in
-			      let x = Lxm.flagit (OperInfo ni) p.src in
-				newprov := x::!newprov ;
-				let y = Lxm.flagit ni p.src in
-				  CompUtils.put_in_tab "node" otab s y ;
-				  newdefs := (OperItem s)::!newdefs
-			    ) 
-	    ) in
-	      try (
-		(*------------TRAITEMENT---------------------------------*)
-		List.iter2 check_arg pars args ;
-		(* on fabrique un pack_given valide avec les infos récoltées *)	
-		let body = {
-		  pk_const_table = ctab ;
-		  pk_type_table = ttab ;
-		  pk_oper_table = otab ;
-		  pk_def_list = List.append
-		    (mi.it.mo_body.pk_def_list) 
-		    (List.rev !newdefs)
-		} in
-		  (* les provides du modèle + les nouveaux de newprov *)
-		  (* SAUF SI ON EXPORTE DEJA TOUT !                   *)
-		let prov = match (mi.it.mo_provides) with
-		    Some l -> (
-		      Some (List.append l (List.rev !newprov))
-		    ) | None -> None
-		in
-		let pg = {
-		  (* les uses du modèle ... *)
-		  pg_uses = mi.it.mo_uses ;
-		  pg_provides = prov ;
-		  pg_body = body ;
-		} in
-		  pg
-	      ) with Invalid_argument _ -> (
-		let msg = Printf.sprintf
-		  "bad pack instance: %d args provided while model %s has %d params"
-		  (List.length args)
-		  pi.pi_model
-		  (List.length pars)
-		in
-		  raise ( Compile_error (pdata.src, msg))
-	      )
+      ) 
+    | PackInstance pi -> (
+	(* recherche du modèle *)
+	let mi = try (
+	  Hashtbl.find mtab pi.pi_model 
+	) with Not_found -> (
+	  let msg = Printf.sprintf "bad pack instance: model %s undeclared"
+	    pi.pi_model in
+	    raise ( Compile_error (pdata.src, msg))
+	) in
+	  (*-----------INIT-----------------------------------*)
+	  (* On part du packbody du modèle, dont on duplique les tables :*)
+	let ctab = Hashtbl.copy mi.it.mo_body.pk_const_table in
+	let ttab = Hashtbl.copy mi.it.mo_body.pk_type_table in
+	let otab = Hashtbl.copy mi.it.mo_body.pk_oper_table in
+	  (* liste des nouveaux define ... *)
+	let newdefs = ref [] in
+	  (* liste des nouveaux provides ... *)
+	let newprov = ref [] in
+	  (* On met en correspondance les pi_args avec les mo_needs *)
+	let args = pi.pi_args in
+	let pars = mi.it.mo_needs in
+	  (*--------------------------------------------------*)
+	  (* la fonction qui traite un couple ... *)
+	let check_arg p a = (
+	  (* message d'erreur standard *)
+	  let instance_error () = (
+	    let msg = Printf.sprintf
+	      "bad pack instance: uncompatible arg passed to %s"
+	      (Lxm.details p.src)
+	    in
+	      raise (Compile_error (a.src, msg))
+	  ) in
+	    (* on a soit un ident, à checker plus tard, 
+	       soit une expression de la bonne nature *)
+	    match (p.it) with
+		StaticParamType s -> (
+		  let te = match (a.it) with
+		      StaticArgIdent idr -> (
+			Lxm.flagit (Named_type_exp idr) a.src
+		      ) 
+		    |
+			StaticArgType x -> x
+		    | _ -> instance_error ()
+		  in
+		  let ti = AliasedType (s, te) in
+		  let x = Lxm.flagit (TypeInfo ti) p.src in
+		    newprov := x::!newprov ;
+		    let y = Lxm.flagit ti p.src in
+		      CompUtils.put_in_tab "type" ttab s y ;
+		      newdefs := (TypeItem s)::!newdefs
+		) 
+	      |
+		  StaticParamConst (s,te) -> (
+		    let ce = match (a.it) with
+			StaticArgIdent idr -> (
+			  Syntaxe.leafexp a.src (IDENT_n idr) 
+			) 
+		      |
+			  StaticArgConst x -> x
+		      | _ -> instance_error ()
+		    in
+		    let ci = DefinedConst (s, Some te, ce) in
+		    let x = Lxm.flagit (ConstInfo ci) p.src in
+		      newprov := x::!newprov ;
+		      let y = Lxm.flagit ci p.src in
+			CompUtils.put_in_tab "const" ctab s y ;
+			newdefs := (ConstItem s)::!newdefs
+		  ) 
+	      |
+		  StaticParamNode (s,inl,outl) -> (
+		    let ne = match (a.it) with
+			StaticArgIdent idr -> (
+			  Lxm.flagit (CallUsrDef (idr,[])) a.src
+			) 
+		      |
+			  StaticArgNode x -> Lxm.flagit x a.src
+		      | _ -> instance_error () 
+		    in
+		    let ni = Node {
+		      ni_name = s;
+		      ni_staticlist = [] ;
+		      ni_value = NodeAlias (Some(inl,outl), ne) ;
+		    } in
+		    let x = Lxm.flagit (OperInfo ni) p.src in
+		      newprov := x::!newprov ;
+		      let y = Lxm.flagit ni p.src in
+			CompUtils.put_in_tab "node" otab s y ;
+			newdefs := (OperItem s)::!newdefs
+		  ) 
+	) in
+	  try (
+	    (*------------TRAITEMENT---------------------------------*)
+	    List.iter2 check_arg pars args ;
+	    (* on fabrique un pack_given valide avec les infos récoltées *)	
+	    let body = {
+	      pk_const_table = ctab ;
+	      pk_type_table = ttab ;
+	      pk_oper_table = otab ;
+	      pk_def_list = List.append
+		(mi.it.mo_body.pk_def_list) 
+		(List.rev !newdefs)
+	    } in
+	      (* les provides du modèle + les nouveaux de newprov *)
+	      (* SAUF SI ON EXPORTE DEJA TOUT !                   *)
+	    let prov = match (mi.it.mo_provides) with
+		Some l -> (
+		  Some (List.append l (List.rev !newprov))
+		) 
+	      |  None -> None
+	    in
+	    let pg = {
+	      (* les uses du modèle ... *)
+	      pg_uses = mi.it.mo_uses ;
+	      pg_provides = prov ;
+	      pg_body = body ;
+	    } in
+	      pg
+	  ) with Invalid_argument _ -> (
+	    let msg = Printf.sprintf
+	      "bad pack instance: %d args provided while model %s has %d params"
+	      (List.length args)
+	      pi.pi_model
+	      (List.length pars)
+	    in
+	      raise ( Compile_error (pdata.src, msg))
 	  )
+      )
 )
diff --git a/src/idsolve b/src/idsolve
deleted file mode 100644
index 1f5cf9a0bf2b5d3b0ccde9f9dbc8011c20e68f08..0000000000000000000000000000000000000000
--- a/src/idsolve
+++ /dev/null
@@ -1,73 +0,0 @@
-
-Exemple sans provides
---------------------
-
-Table des symboles de mainPack.
-On construit une table string -> info partielle
-
-Si imported, rien de spécial
-Pour local, pas grand chose non plus sauf pour les déclarations qui
-ont une inflence sur le ref-ckecking, par exemple :
-   type enuméré = déclaration implicite de constantes (on traite)
-   
-
-
-[A] -> uses inter :
-   on renseigne tous les items exportés par "inter"
-
-ADD node  preced   -> imported node   inter::preced
-ADD const n        -> imported const  inter::n
-ADD type  selType  -> imported type   inter::selType
-
-[B] -> body :
-
-	1) type couleurs = enum { bleu, rose, jaune };
-   Cas spécial : implique déclation de constantes
-
-ADD type couleurs  -> local type mainPack::couleurs = enum { bleu, rose, jaune };
-
-ADD const bleu     -> local const mainPack::bleu = enumitem mainPack::couleurs 
-ADD const rose     -> local const mainPack::rose = enumitem mainPack::couleurs 
-ADD const jaune    -> local const mainPack::jaune = enumitem mainPack::couleurs 
-
-   3) type  T = int^N;
-   Rien de spécial
-
-ADD type T         -> local type T = int^N; 
-
-	4) const X = N;
-
-ADD const X  -> local const X = N;
-
-	5) const N : int = -2 * inter::n;
-
-ADD const N  -> local const N : int = -2 * inter::n;
- 
-	6) node preced <+ infos>
-
-ADD node preced  -> local node preced
-=>  WARNING SHADOWS imported node   inter::preced
-
-
-Exemple avec provides :
------------------------
-
-
-[A] uses pbool, pint, preal;
-
-type t    -> imported type pbool::t
-node fby1 -> imported node pint::fby1
-type t    -> imported type pint::
-WARNING SHADOWS !!!!
-node fby1 -> imported node pint::fby1
-WARNING SHADOWS !!!!
-type t    -> imported type preal::t
-WARNING SHADOWS !!!!
-node fby1 -> imported node preal::fby1
-WARNING SHADOWS !!!!
- 
-[B] provides
-
-node preced -> local node 
-
-
diff --git a/src/lazyCompiler.ml b/src/lazyCompiler.ml
index 6e3b597c0557dd7cf0f3ff4349859238e383303c..9ef8791903c1d739b04f39cee0a50247b1e53538 100644
--- a/src/lazyCompiler.ml
+++ b/src/lazyCompiler.ml
@@ -47,28 +47,28 @@ let recursion_error (lxm : Lxm.t) (stack : string list) = (
 
 (* Structure principale *)
 type t = {
-	src_tab : SrcTab.t;
-	(* table des defs *)
-	types  : (item_key, CompileData.type_eff chkflaged)   Hashtbl.t ;	
-	consts : (item_key, CompileData.const_eff chkflaged)   Hashtbl.t ;	
-	nodes  : (node_key, CompileData.node_eff chkflaged) Hashtbl.t;
-	(* table des prov *)
-	prov_types  : (item_key, CompileData.type_eff chkflaged)   Hashtbl.t ;	
-	prov_consts : (item_key, CompileData.const_eff chkflaged)   Hashtbl.t ;	
-	prov_nodes  : (node_key, CompileData.node_eff chkflaged) Hashtbl.t
+  src_tab : SrcTab.t;
+  (* table des defs *)
+  types  : (item_key, CompileData.type_eff chkflaged)   Hashtbl.t ;	
+  consts : (item_key, CompileData.const_eff chkflaged)   Hashtbl.t ;	
+  nodes  : (node_key, CompileData.node_eff chkflaged) Hashtbl.t;
+  (* table des prov *)
+  prov_types  : (item_key, CompileData.type_eff chkflaged)   Hashtbl.t ;	
+  prov_consts : (item_key, CompileData.const_eff chkflaged)   Hashtbl.t ;	
+  prov_nodes  : (node_key, CompileData.node_eff chkflaged) Hashtbl.t
 }
 
 let create srcs = (
-	let res = {
-		src_tab = srcs;
-		types = Hashtbl.create 50;
-		consts =  Hashtbl.create 50;
-		nodes  = Hashtbl.create 50;
-		prov_types = Hashtbl.create 50;
-		prov_consts =  Hashtbl.create 50;
-		prov_nodes  = Hashtbl.create 50;
-	} in
-	res
+  let res = {
+    src_tab = srcs;
+    types = Hashtbl.create 50;
+    consts =  Hashtbl.create 50;
+    nodes  = Hashtbl.create 50;
+    prov_types = Hashtbl.create 50;
+    prov_consts =  Hashtbl.create 50;
+    prov_nodes  = Hashtbl.create 50;
+  } in
+    res
 )
 
 (*---------------------------------------------------------------------------------------
@@ -89,407 +89,419 @@ Compiler, si besoin, le type identifi
 l'intérieur du pack correspondant.
 *)
 let rec do_type
-(this: t)    (* l'env global *)
-(tk: fullid) (* nom du pack + nom du type *)
-(lxm: Lxm.t) (* l'endroit du source qui a provoqué la demande *)
-= (
-	try (
-		match Hashtbl.find this.types tk with
-		  Checked res -> res
-		| Checking -> raise (Recursion_error (tk, ["type ref "^(Lxm.details lxm)]))	
-		| BadChecked -> raise (BadCheckRef_error)
-	) with
-	Not_found -> (
-		Hashtbl.add this.types tk Checking ;
-		let (p,t) = tk in
-		let lenv = SrcTab.pack_body_env this.src_tab p in
-		(* forcément local, sinon erreur *)
-		let tix = match SymbolTab.find_type lenv t with
+    (this: t)    (* l'env global *)
+    (tk: fullid) (* nom du pack + nom du type *)
+    (lxm: Lxm.t) (* l'endroit du source qui a provoqué la demande *)
+    = (
+      try (
+	match Hashtbl.find this.types tk with
+	    Checked res -> res
+	  | Checking -> raise (Recursion_error (tk, ["type ref "^(Lxm.details lxm)]))	
+	  | BadChecked -> raise (BadCheckRef_error)
+      ) with
+	  Not_found -> (
+	    Hashtbl.add this.types tk Checking ;
+	    let (p,t) = tk in
+	    let lenv = SrcTab.pack_body_env this.src_tab p in
+	      (* forcément local, sinon erreur *)
+	    let tix = match SymbolTab.find_type lenv t with
+		SymbolTab.Here x -> x
+	      | SymbolTab.NotHere _ -> assert false
+	    in
+	    let res = check_type_def this tk lxm lenv p tix in
+	      Hashtbl.replace this.types  tk (Checked res) ;
+	      res
+	  )
+    ) and
+    (*
+      Compiler, si besoin, la version provided d'un type :
+    *)
+    do_prov_type this tk lxm = (
+      try (
+	match Hashtbl.find this.prov_types tk with
+	    Checked res -> res
+	  | Checking -> raise (Recursion_error (tk, ["type ref "^(Lxm.details lxm)]))	
+	  | BadChecked -> raise (BadCheckRef_error)
+      ) with
+	  Not_found -> (
+	    Hashtbl.add this.prov_types tk Checking ;
+	    let (p,t) = tk in
+	    let res = ( 
+	      match SrcTab.pack_prov_env this.src_tab p with
+		  Some penv -> ( 
+		    (* forcément local, sinon erreur *)
+		    let tix = match SymbolTab.find_type penv t with
 			SymbolTab.Here x -> x
-		|	SymbolTab.NotHere _ -> (
-			raise (Internal_error("LazyCompiler.do_type", "unexpected case"))
-		) in
-		let res = check_type_def this tk lxm lenv p tix in
-		Hashtbl.replace this.types  tk (Checked res) ;
-		res
-	)
-) and
-(*
-	Compiler, si besoin, la version provided d'un type :
-*)
-do_prov_type this tk lxm = (
-	try (
-		match Hashtbl.find this.prov_types tk with
-		  Checked res -> res
-		| Checking -> raise (Recursion_error (tk, ["type ref "^(Lxm.details lxm)]))	
-		| BadChecked -> raise (BadCheckRef_error)
-	) with
-	Not_found -> (
-		Hashtbl.add this.prov_types tk Checking ;
-		let (p,t) = tk in
-		let res = ( 
-		match SrcTab.pack_prov_env this.src_tab p with
-			Some penv -> ( 
-				(* forcément local, sinon erreur *)
-				let tix = match SymbolTab.find_type penv t with
-					SymbolTab.Here x -> x
-				|	SymbolTab.NotHere _ -> (
-					raise (Internal_error("LazyCompiler.do_prov_type", "unexpected case"))
-				) in
-				(* on évalue à l'intérieur de provided *)
-				let prov_type_eff = check_type_def this tk lxm penv p tix in
-				(* on force la compil de la version body (implémentation) *)
-				let body_type_eff = do_type this tk lxm in
-				(* puis, on checke la compatibilité ... *)
-				match prov_type_eff with
-				External_type_eff _ -> (
-					(* ... abstrait -> no souci *)
-					prov_type_eff
-				) | _ -> (
-					(* ... pas abstrait : 
-				   	on compile la def prov dans l'env body, le résultat doit être
-						le même que body_type_eff
-					*)
-					let lenv = SrcTab.pack_body_env this.src_tab p in
-					let prov_type_eff_bis = check_type_def this tk lxm lenv p tix in
-					if ( prov_type_eff_bis = body_type_eff ) then (
-						(* ok *)
-						prov_type_eff
-					) else (
-						raise(Compile_error (
-							tix.src,
-							"provided type inconsistant with its implementation"
-							(* Ici ; afficahge + symap ??? *)
-						))
-					)
-				)  
-			) |
-			None -> (
-				(* pas de provided, on traite en interne ... *)
-				do_type this tk lxm
-			)
-		) in
-		(* on stocke ... *)
-		Hashtbl.replace this.prov_types  tk (Checked res) ;
-		res
-	)
-)
-(*
-Compiler une définition de type
-*)
-and check_type_def
-(this: t)           (* l'env global *)
-tk lxm              (* juste pour les erreurs de récursions *)
-(penv: SymbolTab.t) (* table des symboles courante *) 
-(p: string)         (* nom du pack courant *)
-(tix: Syntaxe.type_info srcflaged) 
- = try (
-	(* Solveur d'idref pour les  les appels à eval_type/eval_const *)
-	let eval_env = {
-		id2const = (solve_const_idref this penv p) ;
-		id2type = (solve_type_idref this penv p) ;
-	} in 
-	let tinfo = tix.it in
+		      | SymbolTab.NotHere _ -> assert false
+		    in
+		      (* on évalue à l'intérieur de provided *)
+		    let prov_type_eff = check_type_def this tk lxm penv p tix in
+		      (* on force la compil de la version body (implémentation) *)
+		    let body_type_eff = do_type this tk lxm in
+		      (* puis, on checke la compatibilité ... *)
+		      match prov_type_eff with
+			  External_type_eff _ -> (
+			    (* ... abstrait -> no souci *)
+			    prov_type_eff
+			  ) 
+			| _ -> (
+			    (* ... pas abstrait : 
+			       on compile la def prov dans l'env body, le résultat doit être
+			       le même que body_type_eff
+			    *)
+			    let lenv = SrcTab.pack_body_env this.src_tab p in
+			    let prov_type_eff_bis = check_type_def this tk lxm lenv p tix in
+			      if ( prov_type_eff_bis = body_type_eff ) then (
+				(* ok *)
+				prov_type_eff
+			      ) else (
+				raise(Compile_error (
+					tix.src,
+					"provided type inconsistant with its implementation"
+					  (* Ici ; afficahge + symap ??? *)
+				      ))
+			      )
+			  )  
+		  ) 
+		|
+		    None -> (
+		      (* pas de provided, on traite en interne ... *)
+		      do_type this tk lxm
+		    )
+	    ) in
+	      (* on stocke ... *)
+	      Hashtbl.replace this.prov_types  tk (Checked res) ;
+	      res
+	  )
+    )
+  (*
+    Compiler une définition de type
+  *)
+      and check_type_def
+    (this: t)           (* l'env global *)
+    tk lxm              (* juste pour les erreurs de récursions *)
+    (penv: SymbolTab.t) (* table des symboles courante *) 
+    (p: string)         (* nom du pack courant *)
+    (tix: Syntaxe.type_info srcflaged) 
+    = try (
+      (* Solveur d'idref pour les  les appels à eval_type/eval_const *)
+      let eval_env = {
+	id2const = (solve_const_idref this penv p) ;
+	id2type = (solve_type_idref this penv p) ;
+      } in 
+      let tinfo = tix.it in
 	match tinfo with
-	  ExternalType s -> External_type_eff (p,s)
-	| AliasedType (s, texp) -> 
-			EvalType.eval_type eval_env texp
-	| EnumType (s, clst) -> (
-		let n : fullid = (p,s) in
-		let putpack x = (p, x.it) in
-		let ncl : fullid list = List.map putpack clst in
+	    ExternalType s -> External_type_eff (p,s)
+	  | AliasedType (s, texp) -> 
+	      EvalType.eval_type eval_env texp
+	  | EnumType (s, clst) -> (
+	      let n : fullid = (p,s) in
+	      let putpack x = (p, x.it) in
+	      let ncl : fullid list = List.map putpack clst in
 		Enum_type_eff (n, ncl)
-	)
-	| StructType sti -> (
-		let make_field (fname : string) = (
-			let field_def = Hashtbl.find sti.st_ftable fname in
-			let teff = EvalType.eval_type 
-					eval_env field_def.it.fd_type in
-			match field_def.it.fd_value with
-			None -> (
-				(fname, teff, None)
-			) |
+	    )
+	  | StructType sti -> (
+	      let make_field (fname : string) = (
+		let field_def = Hashtbl.find sti.st_ftable fname in
+		let teff = EvalType.eval_type 
+		  eval_env field_def.it.fd_type in
+		  match field_def.it.fd_value with
+		      None -> (
+			(fname, teff, None)
+		      ) 
+		    |
 			Some vexp -> (
-				let veff = EvalConst.eval_const eval_env vexp in
-				match veff with
-					[v] -> (
-						let tv = type_of_const_eff v in
-						if (tv = teff) then (
-							(fname, teff, Some v)
-						) else raise (Compile_error(field_def.src,
-							Printf.sprintf
-							" this field is declared as '%s' but evaluated as '%s'"
-							(string_of_type_eff teff)
-							(string_of_type_eff tv)
-						))
-					) | _ -> raise ( Compile_error(field_def.src,
-							"bad field value: tuple not allowed" 
-						))
+			  let veff = EvalConst.eval_const eval_env vexp in
+			    match veff with
+				[v] -> (
+				  let tv = type_of_const_eff v in
+				    if (tv = teff) then (
+				      (fname, teff, Some v)
+				    ) else 
+				      raise 
+					(Compile_error(
+					   field_def.src,
+					   Printf.sprintf
+					     " this field is declared as '%s' but evaluated as '%s'"
+					     (string_of_type_eff teff)
+					     (string_of_type_eff tv)
+					 ))
+				) 
+			      | _ -> 
+				  raise ( Compile_error(
+					    field_def.src,
+					    "bad field value: tuple not allowed" 
+					  ))
 			) 
-		) in
-		let eff_fields = List.map make_field sti.st_flist in
-		let n = (p, sti.st_name) in
+	      ) in
+	      let eff_fields = List.map make_field sti.st_flist in
+	      let n = (p, sti.st_name) in
 		Struct_type_eff (n, eff_fields)
-	)
-) with
+	    )
+    ) with
 	(* capte et complete/stoppe les recursions *)
 	Recursion_error (root, stack) -> (
-	if (root = tk) then (
-		(* on stoppe *)
-		recursion_error tix.src stack
-	) else (
-		(* on complete la stack *)
-		raise ( Recursion_error (root, ("type ref "^(Lxm.details lxm))::stack))
+	  if (root = tk) then (
+	    (* on stoppe *)
+	    recursion_error tix.src stack
+	  ) else (
+	    (* on complete la stack *)
+	    raise ( Recursion_error (root, ("type ref "^(Lxm.details lxm))::stack))
+	  )
 	)
-)
-and
-(*---------------------------------------------------------------------------------------
-Compiler les consts (avec éval statique)
------------------------------------------------------------------------------------------
-- do_const      : nom absolu -> const_eff, c'est là qu'on tabule les résultat
+      and
+    (*---------------------------------------------------------------------------------------
+      Compiler les consts (avec éval statique)
+      -----------------------------------------------------------------------------------------
+      - do_const      : nom absolu -> const_eff, c'est là qu'on tabule les résultat
 
-- do_prov_const : nom absolu -> const_eff, c'est là qu'on tabule les résultat
+      - do_prov_const : nom absolu -> const_eff, c'est là qu'on tabule les résultat
 
-- check_const_def :
-  * const_info + table de symbole et nom du pack courant
-  * utilisée par do_const et par do_prov_const
-  * utilise, si nécessaire la compil val_exp -> const_eff
-    => voir eval_type/eval_const 
----------------------------------------------------------------------------------------*)
-do_const
-(this: t)    (* l'env global *)
-(ck: fullid) (* nom du pack + nom de la const *)
-(lxm: Lxm.t) (* l'endroit du source qui a provoqué la demande *)
-= (
-	try (
-		match Hashtbl.find this.consts ck with
-		  Checked res -> res
-		| Checking -> raise (Recursion_error (ck, ["const ref "^(Lxm.details lxm)]))	
-		| BadChecked -> raise (BadCheckRef_error)
-	) with
-	Not_found -> (
-		Hashtbl.add this.consts ck Checking ;
-		let (p,c) = ck in
-		let lenv = SrcTab.pack_body_env this.src_tab p in
-		(* forcément locale, sinon erreur *)
-		let cix = match SymbolTab.find_const lenv c with
+      - check_const_def :
+      * const_info + table de symbole et nom du pack courant
+      * utilisée par do_const et par do_prov_const
+      * utilise, si nécessaire la compil val_exp -> const_eff
+      => voir eval_type/eval_const 
+      ---------------------------------------------------------------------------------------*)
+    do_const
+      (this: t)    (* l'env global *)
+      (ck: fullid) (* nom du pack + nom de la const *)
+      (lxm: Lxm.t) (* l'endroit du source qui a provoqué la demande *)
+    = (
+      try (
+	match Hashtbl.find this.consts ck with
+	    Checked res -> res
+	  | Checking -> raise (Recursion_error (ck, ["const ref "^(Lxm.details lxm)]))	
+	  | BadChecked -> raise (BadCheckRef_error)
+      ) with
+	  Not_found -> (
+	    Hashtbl.add this.consts ck Checking ;
+	    let (p,c) = ck in
+	    let lenv = SrcTab.pack_body_env this.src_tab p in
+	      (* forcément locale, sinon erreur *)
+	    let cix = match SymbolTab.find_const lenv c with
+		SymbolTab.Here x -> x
+	      |	SymbolTab.NotHere _ -> assert false
+	    in
+	    let res = check_const_def this ck lxm lenv p cix in
+	      Hashtbl.replace this.consts  ck (Checked res) ;
+	      res
+	  )
+    )
+      and
+    (*
+      Compiler, si besoin, la version provided d'une const :
+      les consts provided sont toujours abstraites
+    *)
+    do_prov_const this ck lxm = (
+      try (
+	match Hashtbl.find this.prov_consts ck with
+	    Checked res -> res
+	  | Checking -> raise (Recursion_error (ck, ["const ref "^(Lxm.details lxm)]))	
+	  | BadChecked -> raise (BadCheckRef_error)
+      ) with
+	  Not_found -> (
+	    Hashtbl.add this.prov_consts ck Checking ;
+	    let (p,c) = ck in
+	    let res = ( 
+	      match SrcTab.pack_prov_env this.src_tab p with
+		  Some penv -> ( 
+		    (* forcément local, sinon erreur *)
+		    let cix = match SymbolTab.find_const penv c with
 			SymbolTab.Here x -> x
-		|	SymbolTab.NotHere _ -> (
-			raise (Internal_error("LazyCompiler.do_const", "unexpected case"))
-		) in
-		let res = check_const_def this ck lxm lenv p cix in
-		Hashtbl.replace this.consts  ck (Checked res) ;
-		res
-	)
-)
-and
-(*
-	Compiler, si besoin, la version provided d'une const :
-	les consts provided sont toujours abstraites
-*)
-do_prov_const this ck lxm = (
-	try (
-		match Hashtbl.find this.prov_consts ck with
-		  Checked res -> res
-		| Checking -> raise (Recursion_error (ck, ["const ref "^(Lxm.details lxm)]))	
-		| BadChecked -> raise (BadCheckRef_error)
-	) with
-	Not_found -> (
-		Hashtbl.add this.prov_consts ck Checking ;
-		let (p,c) = ck in
-		let res = ( 
-		match SrcTab.pack_prov_env this.src_tab p with
-			Some penv -> ( 
-				(* forcément local, sinon erreur *)
-				let cix = match SymbolTab.find_const penv c with
-					SymbolTab.Here x -> x
-				|	SymbolTab.NotHere _ -> (
-					raise (Internal_error("LazyCompiler.do_prov_const", "unexpected case"))
-				) in
-				(* on évalue à l'intérieur de provided *)
-				let prov_const_eff = check_const_def this ck lxm penv p cix in
-				(* on force la compil de la version body (implémentation) *)
-				let body_const_eff = do_const this ck lxm in
-				(* puis, on checke la compatibilité ... *)
-				match prov_const_eff with
-				(* les consts provided sont toujours abstraites *)
-				Extern_const_eff _ -> (
-					(* ... abstrait -> no souci *)
-					let tp = type_of_const_eff prov_const_eff in
-					let tb = type_of_const_eff body_const_eff in
-					if (tp = tb) then body_const_eff 
-					else (
-						raise(Compile_error (
-							cix.src,
-							"provided constant inconsistant with its implementation"
-							(* Ici ; affichage + sympa ??? *)
-						))
-					)
-				) | _ -> (
-					(* pas abstrait => impossible ! *) 
-					assert false
-				)  
-			) |
-			None -> (
-				(* pas de provided, on traite en interne ... *)
-				do_const this ck lxm
-			)
-		) in
-		(* on stocke ... *)
-		Hashtbl.replace this.prov_consts  ck (Checked res) ;
-		res
-	)
-)
-and
-(*
-Compiler une définition de const
-*)
-check_const_def
-(this: t)           (* l'env global *)
-ck lxm              (* juste pour les erreurs de récursion *)
-(penv: SymbolTab.t) (* table des symboles courante *) 
-(p: string)         (* nom du pack courant *)
-(cix: Syntaxe.const_info srcflaged) 
-= try (
-	(* Solveur d'idref pour les  les appels à eval_type/eval_const *)
-	let eval_env = {
-		id2const = (solve_const_idref this penv p) ;
-		id2type = (solve_type_idref this penv p) ;
-	} in 
-	let cinfo = cix.it in
+		      |	SymbolTab.NotHere _ -> assert false
+		    in
+		      (* on évalue à l'intérieur de provided *)
+		    let prov_const_eff = check_const_def this ck lxm penv p cix in
+		      (* on force la compil de la version body (implémentation) *)
+		    let body_const_eff = do_const this ck lxm in
+		      (* puis, on checke la compatibilité ... *)
+		      match prov_const_eff with
+			  (* les consts provided sont toujours abstraites *)
+			  Extern_const_eff _ -> (
+			    (* ... abstrait -> no souci *)
+			    let tp = type_of_const_eff prov_const_eff in
+			    let tb = type_of_const_eff body_const_eff in
+			      if (tp = tb) then body_const_eff 
+			      else (
+				raise(Compile_error (
+					cix.src,
+					"provided constant inconsistant with its implementation"
+					  (* Ici ; affichage + sympa ??? *)
+				      ))
+			      )
+			  ) 
+			| _ -> (
+			    (* pas abstrait => impossible ! *) 
+			    assert false
+			  )  
+		  ) 
+		|
+		    None -> (
+		      (* pas de provided, on traite en interne ... *)
+		      do_const this ck lxm
+		    )
+	    ) in
+	      (* on stocke ... *)
+	      Hashtbl.replace this.prov_consts  ck (Checked res) ;
+	      res
+	  )
+    )
+      and
+    (*
+      Compiler une définition de const
+    *)
+    check_const_def
+      (this: t)           (* l'env global *)
+      ck lxm              (* juste pour les erreurs de récursion *)
+      (penv: SymbolTab.t) (* table des symboles courante *) 
+      (p: string)         (* nom du pack courant *)
+      (cix: Syntaxe.const_info srcflaged) 
+    = try (
+      (* Solveur d'idref pour les  les appels à eval_type/eval_const *)
+      let eval_env = {
+	id2const = (solve_const_idref this penv p) ;
+	id2type = (solve_type_idref this penv p) ;
+      } in 
+      let cinfo = cix.it in
 	match cinfo with
-	ExternalConst (id, texp) -> (
-		Extern_const_eff ((p,id), EvalType.eval_type eval_env texp)
-	) |
-	EnumConst (id, texp) -> (
+	    ExternalConst (id, texp) -> (
+	      Extern_const_eff ((p,id), EvalType.eval_type eval_env texp)
+	    ) 
+	  |
+	      EnumConst (id, texp) -> (
 		Enum_const_eff ((p,id), EvalType.eval_type eval_env texp)
-	) |
-	DefinedConst (id, texp_opt, vexp ) -> (
+	      )
+	  |
+	      DefinedConst (id, texp_opt, vexp ) -> (
 		match (EvalConst.eval_const eval_env vexp) with
-		[ceff] -> (
-			match texp_opt with
+		    [ceff] -> (
+		      match texp_opt with
 			  None -> ( ceff)
 			| Some texp -> (
-				let tdecl = EvalType.eval_type eval_env texp in
-				let teff =  type_of_const_eff ceff in
-				if (tdecl = teff ) then ceff
-				else raise ( Compile_error (cix.src , Printf.sprintf
-						  " this constant is declared as '%s' but evaluated as '%s'"
-						  (string_of_type_eff tdecl)
-						  (string_of_type_eff teff)
-				))
-			)
-		) |
-		_ -> raise (Compile_error (cix.src, "bad constant value: tuple not allowed"))
-	)
-) with Recursion_error (root, stack) -> (
-	(* capte et complete/stoppe les recursions *)
-	if (root = ck) then (
-		recursion_error cix.src stack
-	) else (
-		(* on complete la stack *)
-		raise ( Recursion_error (root, ("const ref "^(Lxm.details lxm))::stack))
-	)
-)
-and
-(*---------------------------------------------------------------------------------------
-Résolution des référence de types et de constantes
------------------------------------------------------------------------------------------
-Les premiers arguments sont destinés à être currifiés :
-	on obtient alors un "idref -> type_eff"
----------------------------------------------------------------------------------------*)
-solve_type_idref
-(this: t)           (* l'env global *)
-(penv: SymbolTab.t) (* table des symboles courante *) 
-(curpack: string)         (* nom du pack courant *)
-(idr: Syntaxe.idref)
-(lxm: Lxm.t)
- = (
-	let s = Syntaxe.name_of_idref idr in
+			    let tdecl = EvalType.eval_type eval_env texp in
+			    let teff =  type_of_const_eff ceff in
+			      if (tdecl = teff ) then ceff
+			      else raise ( Compile_error (cix.src , Printf.sprintf
+							    " this constant is declared as '%s' but evaluated as '%s'"
+							    (string_of_type_eff tdecl)
+							    (string_of_type_eff teff)
+							 ))
+			  )
+			  )
+		  |
+		      _ -> raise (Compile_error (cix.src, "bad constant value: tuple not allowed"))
+	      )
+    ) with Recursion_error (root, stack) -> (
+      (* capte et complete/stoppe les recursions *)
+      if (root = ck) then (
+	recursion_error cix.src stack
+      ) else (
+	(* on complete la stack *)
+	raise ( Recursion_error (root, ("const ref "^(Lxm.details lxm))::stack))
+      )
+    )
+      and
+    (*---------------------------------------------------------------------------------------
+      Résolution des référence de types et de constantes
+      -----------------------------------------------------------------------------------------
+      Les premiers arguments sont destinés à être currifiés :
+      on obtient alors un "idref -> type_eff"
+      ---------------------------------------------------------------------------------------*)
+    solve_type_idref
+      (this: t)           (* l'env global *)
+      (penv: SymbolTab.t) (* table des symboles courante *) 
+      (curpack: string)         (* nom du pack courant *)
+      (idr: Syntaxe.idref)
+      (lxm: Lxm.t)
+    = (
+      let s = Syntaxe.name_of_idref idr in
 	match (Syntaxe.pack_of_idref idr) with
-	Some p -> (
-		(* référence absolue -> on refile le boulot à this *)
-		do_prov_type this (p, s) lxm
-	) |
-	None -> (
-		(* on passe par penv pour savoir quoi faire ... *)
-		try (
-			match (SymbolTab.find_type penv s) with
+	    Some p -> (
+	      (* référence absolue -> on refile le boulot à this *)
+	      do_prov_type this (p, s) lxm
+	    ) |
+		None -> (
+		  (* on passe par penv pour savoir quoi faire ... *)
+		  try (
+		    match (SymbolTab.find_type penv s) with
 			SymbolTab.Here _ -> (
-				do_type this (curpack, s) lxm
+			  do_type this (curpack, s) lxm
 			) |
-			SymbolTab.NotHere fid -> (
-				(* référence absolue -> on refile le boulot à this *)
-				do_prov_type this fid lxm
-			)
-		) with Not_found -> (
-			raise(Compile_error(lxm,"unbounded type ident"))
+			    SymbolTab.NotHere fid -> (
+			      (* référence absolue -> on refile le boulot à this *)
+			      do_prov_type this fid lxm
+			    )
+		  ) with Not_found -> (
+		    raise(Compile_error(lxm,"unbounded type ident"))
+		  )
 		)
-	)
-) and
-solve_const_idref
-(this: t)           (* l'env global *)
-(penv: SymbolTab.t) (* table des symboles courante *) 
-(curpack: string)         (* nom du pack courant *)
-(idr: Syntaxe.idref)
-(lxm: Lxm.t)
-= (
-	let s = Syntaxe.name_of_idref idr in
+    ) and
+    solve_const_idref
+      (this: t)           (* l'env global *)
+      (penv: SymbolTab.t) (* table des symboles courante *) 
+      (curpack: string)         (* nom du pack courant *)
+      (idr: Syntaxe.idref)
+      (lxm: Lxm.t)
+    = (
+      let s = Syntaxe.name_of_idref idr in
 	match (Syntaxe.pack_of_idref idr) with
-	Some p -> (
-		(* référence absolue -> on refile le boulot à this *)
-		do_prov_const this (p, s) lxm
-	) |
-	None -> (
-(* Printf.printf "solve_const_idref %s\n" s ; *)
-		(* on passe par penv pour savoir quoi faire ... *)
-		try (
-			match (SymbolTab.find_const penv s) with
+	    Some p -> (
+	      (* référence absolue -> on refile le boulot à this *)
+	      do_prov_const this (p, s) lxm
+	    ) |
+		None -> (
+		  (* Printf.printf "solve_const_idref %s\n" s ; *)
+		  (* on passe par penv pour savoir quoi faire ... *)
+		  try (
+		    match (SymbolTab.find_const penv s) with
 			SymbolTab.Here _ -> (
-				do_const this (curpack, s) lxm
+			  do_const this (curpack, s) lxm
 			) |
-			SymbolTab.NotHere fid -> (
-				(* référence absolue -> on refile le boulot à this *)
-				do_prov_const this fid lxm
-			)
-		) with Not_found -> (
-			raise(Compile_error(lxm,"unbounded const ident"))
+			    SymbolTab.NotHere fid -> (
+			      (* référence absolue -> on refile le boulot à this *)
+			      do_prov_const this fid lxm
+			    )
+		  ) with Not_found -> (
+		    raise(Compile_error(lxm,"unbounded const ident"))
+		  )
 		)
-	)
-)
+    )
 
 
 
-let do_node this nodek = (
-	raise (Internal_error ("LazyCompiler.do_node", "not implemented"))
-)
+let do_node this nodek = assert false
+
+(*-------------------------------------------------------------------------
+ Test/debug
+---------------------------------------------------------------------------*)
 
-(*-----------------------------------------------------------------------------------
-Test/debug
------------------------------------------------------------------------------------*)
 
 let test_types (this: t) = (
-	(* src_tab : SrcTab.t; *)
-	let testpack pn = (
-		Printf.printf "package %s\n" pn ;
-		let stab = match SrcTab.pack_prov_env this.src_tab pn with
-			Some tab -> tab
-		|	None -> SrcTab.pack_body_env this.src_tab pn
-		in 
-		let testtype n v = (
-			match v with
-			SymbolTab.Here cix -> (
-				(* Printf.printf "   const %s \n" n  *)
-				let teff = do_prov_type this (pn,n) Lxm.dummy  in
-				Printf.printf "   type %s -> %s\n" n 
-				(string_of_type_eff teff)
-			) |
-			SymbolTab.NotHere fid -> (
-				Printf.printf "   type %s -> %s\n" n (string_of_fullid fid) ;
-			)
-		) in
-		SymbolTab.iter_types stab testtype
-	) in
-	let plist = SrcTab.pack_list this.src_tab in 
-	List.iter testpack plist
+  (* src_tab : SrcTab.t; *)
+  let testpack pn = (
+    Printf.printf "package %s\n" pn ;
+    let stab = match SrcTab.pack_prov_env this.src_tab pn with
+	Some tab -> tab
+      |	None -> SrcTab.pack_body_env this.src_tab pn
+    in 
+    let testtype n v = (
+      match v with
+	  SymbolTab.Here cix -> (
+	    (* Printf.printf "   const %s \n" n  *)
+	    let teff = do_prov_type this (pn,n) Lxm.dummy  in
+	      Printf.printf "   type %s -> %s\n" n 
+		(string_of_type_eff teff)
+	  ) 
+	|
+	    SymbolTab.NotHere fid -> (
+	      Printf.printf "   type %s -> %s\n" n (string_of_fullid fid) ;
+	    )
+    ) 
+    in
+      SymbolTab.iter_types stab testtype
+  ) 
+  in
+  let plist = SrcTab.pack_list this.src_tab in 
+    List.iter testpack plist
 )
diff --git a/src/lexer.mll b/src/lexer.mll
index 0cb5fed91a264ac29a5a02968a5fa89aa6248076..3c84741f6f705455d013be19d0183c867cf3d916 100644
--- a/src/lexer.mll
+++ b/src/lexer.mll
@@ -41,6 +41,7 @@ Hashtbl.add keywords "not"        (function x -> TK_NOT x) ;;
 Hashtbl.add keywords "operator"   (function x -> TK_OPERATOR x) ;;
 Hashtbl.add keywords "or"         (function x -> TK_OR x) ;;
 Hashtbl.add keywords "nor"        (function x -> TK_NOR x) ;;
+Hashtbl.add keywords "fby"        (function x -> TK_FBY x) ;;
 Hashtbl.add keywords "pre"        (function x -> TK_PRE x) ;;
 Hashtbl.add keywords "real"       (function x -> TK_REAL x) ;;
 Hashtbl.add keywords "returns"    (function x -> TK_RETURNS x) ;;
@@ -123,6 +124,7 @@ let token_code tk = (
 		| TK_PCENT     lxm -> ("TK_PCENT" , lxm)
 		| TK_PLUS      lxm -> ("TK_PLUS" , lxm)
 		| TK_POWER     lxm -> ("TK_POWER" , lxm)
+		| TK_FBY       lxm -> ("TK_FBY" , lxm)
 		| TK_PRE       lxm -> ("TK_PRE" , lxm)
 		| TK_RCONST    lxm -> ("TK_RCONST" , lxm)
 		| TK_REAL      lxm -> ("TK_REAL" , lxm)
@@ -182,14 +184,6 @@ rule lexer = parse
 			handle_lexical_error comment_line lexbuf;
 			lexer lexbuf
 		}
-(* constantes entières et réelles *)
-	|  chiffres  { TK_ICONST (Lxm.make lexbuf ) }
-
-	|  chiffres (exposant) { TK_RCONST (Lxm.make lexbuf ) }
-
-	|  chiffres '.' (chiffres)? (exposant)? { TK_RCONST (Lxm.make lexbuf ) }
-
-	|  '.' chiffres (exposant)? { TK_RCONST (Lxm.make lexbuf ) }
 
 (* mots-clé débutant par un séparateurs (prioritaires) *)
 	| "->" { TK_ARROW ( Lxm.make lexbuf ) }
@@ -234,6 +228,15 @@ rule lexer = parse
 			let lxm = Lxm.make lexbuf in
 			TK_LONGIDENT (lxm)
 		}
+(* constantes entières et réelles *)
+	|  chiffres  { TK_ICONST (Lxm.make lexbuf ) }
+
+	|  chiffres (exposant) { TK_RCONST (Lxm.make lexbuf ) }
+
+	|  chiffres '.' (chiffres)? (exposant)? { TK_RCONST (Lxm.make lexbuf ) }
+
+	|  '.' chiffres (exposant)? { TK_RCONST (Lxm.make lexbuf ) }
+
 (* mot-clé ou identificateur *)
 	| ['A'-'Z' 'a'-'z'] ['A'-'Z' 'a'-'z' '\'' '_' '0'-'9'] *
 		{
diff --git a/src/main.ml b/src/main.ml
index 52e40f987838c2071fcb42f1c5d86eb87f35be1a..4e678ffa3f7860776da0795806a3abc37244b651 100644
--- a/src/main.ml
+++ b/src/main.ml
@@ -1,3 +1,4 @@
+(** Time-stamp: <modified the 16/11/2007 (at 10:10) by Erwan Jahier> *)
 
 open Verbose
 open Syntaxe
@@ -10,7 +11,8 @@ open Lexer
 open Format
 open Dump
 
-let usage_msg =  "usage: "^(Version.tool)^" [options] <file> | "^(Version.tool)^" -help"
+let usage_msg =  
+  "usage: "^(Version.tool)^" [options] <file> | "^(Version.tool)^" -help"
 
 (*---------------------------------------------------------
 Les args sont des variables GLOBALES
@@ -91,7 +93,6 @@ let lus_load lexbuf = (
 
 (* Dump d'un packbody *)
 let dump_body (pkg: Syntaxe.packbody) = (
-
   let os = Format.formatter_of_out_channel stdout in
     Dump.dump_packbody os pkg	
 )
@@ -110,11 +111,11 @@ let dump_ns (ns: Syntaxe.namespace) = (
 	) 
 )
 
-(*
-  Lance le parser et renvoie la liste name-spaces d'entrée.	
-  Dans le cas d'un fichier sans package, on lui donne
-  comme nom le basename de infile.
-*)q
+  (*
+    Lance le parser et renvoie la liste name-spaces d'entrée.	
+    Dans le cas d'un fichier sans package, on lui donne
+    comme nom le basename de infile.
+  *)
 let get_source_list infile lexbuf = (
   match (lus_load lexbuf) with
       PRPackBody pbdy -> 
@@ -154,29 +155,28 @@ let main = (
 	     (* Compile.compile (pkg_load lexbuf) _LPP_ARGS.main_node  *)
 	     let nsl = get_source_list _LPP_ARGS.infile lexbuf in
 	     let nodidf = Syntaxe.idref_of_string _LPP_ARGS.main_node in
-	     let res = Compile.doit nsl nodidf in
-	       () 
+	       Compile.doit nsl nodidf 
 	   )
   ) with
       Sys_error(s) ->
-	(
-	  prerr_string (s^"\n") ;
-	  exit 1
-	) 
-    |
-	Global_error s -> (
-	  print_global_error s ;
-	  exit 1
-	) 
-    |
-	Parse_error -> (
-	  print_compile_error (Lxm.last_made ()) "syntax error";
+	prerr_string (s^"\n") ;
+	exit 1 
+    | Global_error s ->
+       print_global_error s ;
 	  exit 1
-	)
-    | Compile_error(lxm,msg) -> (
+    | Parse_error ->
+	print_compile_error (Lxm.last_made ()) "syntax error";
+	exit 1
+    | Compile_error(lxm,msg) -> 
 	print_compile_error lxm msg ;
 	exit 1
-      )
+    | Assert_failure (file, line, col)  -> 
+	prerr_string (
+	  "\n*** An internal error occured in file "^ file ^ ", line " ^ 
+	    (string_of_int line) ^ ", column " ^
+	    (string_of_int col) ^ "\n") ;
+	exit 2
+
 	(* | Compile_node_error(nkey,lxm,msg) -> ( *)
 	(* print_compile_node_error nkey lxm msg ; *)
 	(* exit 1 *)
@@ -185,8 +185,5 @@ let main = (
 	(* print_global_node_error nkey msg ; *)
 	(* exit 1 *)
 	(* ) *)
-    | Internal_error (fname,msg) -> (
-	print_internal_error fname msg ;
-	exit 1
-      )
+
 )
diff --git a/src/netList.ml b/src/netList.ml
deleted file mode 100644
index e63b2b5fe8ac66ef4a06041833a4884aeddfdad9..0000000000000000000000000000000000000000
--- a/src/netList.ml
+++ /dev/null
@@ -1,21 +0,0 @@
-
-(*----------------------------------------------------------------------
-	module : NetList 
-	date   :
-------------------------------------------------------------------------
-----------------------------------------------------------------------*)
-
-(* un wire est la ieme sortie d'une opbox *)
-type NetWire = {
-	wire_order  : int;
-	wire_source : NetBox;
-	wire_type   : type_eff;
-	wire_clock  : NetWire; 
-}
-
-and NetBox = {
-	box_oper  : Operation;
-	box_ins   : NetWire list;	
-	box_outs  : NetWire list;	
-}
-
diff --git a/src/parser.mly b/src/parser.mly
index 5277abfd56fb0ad82248a9c4ca2e48ff9520786a..af126450777736dbca4e07e89fd75c3f12b05ae0 100644
--- a/src/parser.mly
+++ b/src/parser.mly
@@ -15,14 +15,15 @@ let def_list    = ref []
 (* Interface avec Syntaxe *)
 
 let idref_of_lxm lxm = (
-	try (
-		Lxm.flagit (
-			Syntaxe.idref_of_string (Lxm.str lxm)
-		) lxm
-	) with _ -> (
-		raise  (Internal_error ("Parser.idref_of_lxm", (Lxm.str lxm)))
-	)	
-)
+  try (
+    Lxm.flagit (
+      Syntaxe.idref_of_string (Lxm.str lxm)
+    ) lxm
+  ) with _ ->
+    print_string  ("Parser.idref_of_lxm" ^(Lxm.str lxm));
+    assert false
+  )
+
 
 
 (*---------------------------------------------------------------------
@@ -82,116 +83,116 @@ let treat_aliased_type lxm typexp = (
    de constantes enum au niveau syntaxique
 *)
 let treat_enum_type
-	(typlxm: Lxm.t)         (* le lexeme du type *)
-	(cstlxmlst: Lxm.t list) (* liste des lexemes des valeurs *)
-=  (* sortie: unit *)
-(
-	(* On anticipe l'expression de type *)
-	let tir = idref_of_lxm typlxm in
-	let typexp = Lxm.flagit (Named_type_exp tir.it) tir.src
-	in
-	(*  OBSOLETE ET DANGEREUX :
-		Il ne faut pas traiter les decl
-		de constantes enum au niveau syntaxique
-	
-	let put_in_const_tab 
-		(cstlxm: Lxm.t)
-	=  (* output: string *)
-	(
-		let cststr = (Lxm.str cstlxm) in
-		Syntaxe.add_info const_table
-			"constant" cstlxm (EnumConst (cststr, typexp));
-		lexeme_to_string_flaged cstlxm
-	) in 
-	(* On mappe cette fonction pour avoir la liste des noms *)
-	let cstnamelist = List.map put_in_const_tab cstlxmlst in
-	*)
-	let cstnamelist = List.map lexeme_to_string_flaged cstlxmlst in 
-	(* Enfin, on introduit la définition du type *)
-	let typstr = Lxm.str typlxm in
-	Syntaxe.add_info type_table
-		"type" typlxm (EnumType (typstr, cstnamelist));
-	def_list := (TypeItem typstr) :: !def_list
-)
+    (typlxm: Lxm.t)         (* le lexeme du type *)
+    (cstlxmlst: Lxm.t list) (* liste des lexemes des valeurs *)
+    =  (* sortie: unit *)
+  (
+    (* On anticipe l'expression de type *)
+    
+      (*  OBSOLETE ET DANGEREUX :
+	  Il ne faut pas traiter les decl
+	  de constantes enum au niveau syntaxique
+	  
+	  let tir = idref_of_lxm typlxm in
+	  let typexp = Lxm.flagit (Named_type_exp tir.it) tir.src in
+	  let put_in_const_tab 
+	  (cstlxm: Lxm.t)
+	  =  (* output: string *)
+	  (
+	  let cststr = (Lxm.str cstlxm) in
+	  Syntaxe.add_info const_table
+	  "constant" cstlxm (EnumConst (cststr, typexp));
+	  lexeme_to_string_flaged cstlxm
+	  ) in 
+      (* On mappe cette fonction pour avoir la liste des noms *)
+	  let cstnamelist = List.map put_in_const_tab cstlxmlst in
+      *)
+    let cstnamelist = List.map lexeme_to_string_flaged cstlxmlst in 
+      (* Enfin, on introduit la définition du type *)
+    let typstr = Lxm.str typlxm in
+      Syntaxe.add_info type_table
+	"type" typlxm (EnumType (typstr, cstnamelist));
+      def_list := (TypeItem typstr) :: !def_list
+  )
 
 (**********************************)
 (* Traitement d'un type structure *)
 (**********************************)
 let make_struct_type_info
-	(typlxm :  Lxm.t) (* le lexeme du nom de type *)
-	(flexlist: id_valopt list) (* la liste des champs *)
-=  (* sortie: struct_type_info *)
-(
-	(* On anticipe la construction de la table de champs *)
-	let ftab = Hashtbl.create 50 in
-	(* Traitement d'un champ élémentaire *)
-	let put_in_ftab (
-		(lx : Lxm.t),      (* le lexeme du champ *)
-		(ty : type_exp),      (* le type du champ   *)
-		(va : val_exp option) (* l'eventuelle valeur *)
-	) = (* sortie: string *)
-	(
-		(* fabrique le field_info *)
-		let lxstr = Lxm.str lx in
-		let fi = { fd_name = lxstr ; fd_type = ty ; fd_value =va } in
-		(* le range dans ftab *)
-		Syntaxe.add_info ftab "field" lx fi ;
-		(* renvoie juste le nom du champs *)
-		lxstr
-	) in
-	(* remplissage de ftab et recup. de la liste de noms de champ *)  
-	let flst = List.map put_in_ftab flexlist in
-	(* construction du type_info *)
-	let typstr = Lxm.str typlxm in
-	{ st_name = typstr ; st_flist = flst ; st_ftable = ftab }
-)
+    (typlxm :  Lxm.t) (* le lexeme du nom de type *)
+    (flexlist: id_valopt list) (* la liste des champs *)
+    =  (* sortie: struct_type_info *)
+  (
+    (* On anticipe la construction de la table de champs *)
+    let ftab = Hashtbl.create 50 in
+      (* Traitement d'un champ élémentaire *)
+    let put_in_ftab (
+      (lx : Lxm.t),      (* le lexeme du champ *)
+      (ty : type_exp),      (* le type du champ   *)
+      (va : val_exp option) (* l'eventuelle valeur *)
+    ) = (* sortie: string *)
+      (
+	(* fabrique le field_info *)
+	let lxstr = Lxm.str lx in
+	let fi = { fd_name = lxstr ; fd_type = ty ; fd_value =va } in
+	  (* le range dans ftab *)
+	  Syntaxe.add_info ftab "field" lx fi ;
+	  (* renvoie juste le nom du champs *)
+	  lxstr
+      ) in
+      (* remplissage de ftab et recup. de la liste de noms de champ *)  
+    let flst = List.map put_in_ftab flexlist in
+      (* construction du type_info *)
+    let typstr = Lxm.str typlxm in
+      { st_name = typstr ; st_flist = flst ; st_ftable = ftab }
+  )
 
 let treat_struct_type
-	(typlxm :  Lxm.t) (* le lexeme du nom de type *)
-	(flexlist: id_valopt list) (* la liste des champs *)
-=  (* sortie: unit *)
-(
-	let typstr = Lxm.str typlxm in
-	let typinfo = StructType 
-		(make_struct_type_info typlxm flexlist)
-	in
-	(* met l'info dans la table des types *)
-	Syntaxe.add_info type_table "type" typlxm typinfo ;
-	def_list := (TypeItem typstr) :: !def_list
-)
+    (typlxm :  Lxm.t) (* le lexeme du nom de type *)
+    (flexlist: id_valopt list) (* la liste des champs *)
+    =  (* sortie: unit *)
+  (
+    let typstr = Lxm.str typlxm in
+    let typinfo = StructType 
+      (make_struct_type_info typlxm flexlist)
+    in
+      (* met l'info dans la table des types *)
+      Syntaxe.add_info type_table "type" typlxm typinfo ;
+      def_list := (TypeItem typstr) :: !def_list
+  )
 
 (*************************************)
 (* Traitement d'une function externe *)
 (*************************************)
 let treat_external_func
-	(funclxm : Lxm.t)   (* le lexeme de la func *)
-	(inpars   : ((Lxm.t list) * type_exp) list) (* liste des ins *)
-	(outpars  : ((Lxm.t list) * type_exp) list) (* liste des outs *)
-= (* sortie: unit *)
-(
-	(* N.B. pas de src_info pour les params formels de fonctions *)
-	let make_a_param 
-		(lxm : Lxm.t) (* le lexeme du param *)
-		(typ : type_exp) (* le type du param *)
+    (funclxm : Lxm.t)   (* le lexeme de la func *)
+    (inpars   : ((Lxm.t list) * type_exp) list) (* liste des ins *)
+    (outpars  : ((Lxm.t list) * type_exp) list) (* liste des outs *)
+    = (* sortie: unit *)
+  (
+    (* N.B. pas de src_info pour les params formels de fonctions *)
+    let make_a_param 
+	(lxm : Lxm.t) (* le lexeme du param *)
+	(typ : type_exp) (* le type du param *)
 	= (* sortie: (string option * type_exp *)
-	(
-		( Some((Lxm.str lxm)) , typ )
-	) in
-	(* fabrique la liste à plat des inputs *)
-	let flat_ins = Utils.flat_flaged_list inpars make_a_param in
-	(* fabrique la liste à plat des outputs *)
-	let flat_outs = Utils.flat_flaged_list outpars make_a_param in
-	(* fabrique le func_info *)
-	let funcstr = Lxm.str funclxm in
-	let finfo = {
-		fn_name = funcstr;
-		fn_inpars = flat_ins;
-		fn_outpars = flat_outs
-	} in
-	(* range l'info correspondante dans la table des oper *)
-	Syntaxe.add_info oper_table "function or node" funclxm (Func finfo) ;
-	def_list := (OperItem funcstr) :: !def_list
-)
+      (
+	( Some((Lxm.str lxm)) , typ )
+      ) in
+      (* fabrique la liste à plat des inputs *)
+    let flat_ins = Utils.flat_flaged_list inpars make_a_param in
+      (* fabrique la liste à plat des outputs *)
+    let flat_outs = Utils.flat_flaged_list outpars make_a_param in
+      (* fabrique le func_info *)
+    let funcstr = Lxm.str funclxm in
+    let finfo = {
+      fn_name = funcstr;
+      fn_inpars = flat_ins;
+      fn_outpars = flat_outs
+    } in
+      (* range l'info correspondante dans la table des oper *)
+      Syntaxe.add_info oper_table "function or node" funclxm (Func finfo) ;
+      def_list := (OperItem funcstr) :: !def_list
+  )
 
 (********************************************)
 (* Déclarations de vars et params de noeuds *)
@@ -208,17 +209,17 @@ type typed_ids = (Lxm.t list * type_exp)
 and clocked_ids = (typed_ids list * clock_exp)
 
 let rec clocked_ids_to_var_infos vnat vdefs = (
-	let makevar lxm te ce = (
-		Lxm.flagit 
-		{
-			va_nature = vnat ;
-			va_name = (Lxm.str lxm) ;
-			va_type = te ;
-			va_clock = ce ;
-		}
-		lxm
-	) in
-	flat_twice_flaged_list vdefs makevar
+  let makevar lxm te ce = (
+    Lxm.flagit 
+      {
+	va_nature = vnat ;
+	va_name = (Lxm.str lxm) ;
+	va_type = te ;
+	va_clock = ce ;
+      }
+      lxm
+  ) in
+    flat_twice_flaged_list vdefs makevar
 )
 
 let treat_node_decl
@@ -237,7 +238,7 @@ let treat_node_decl
 	let vtable = Hashtbl.create 50 in
 	(*------------------*)
 	(* Procedure de traitement des in, out ou loc *)
-	(* elle est juste paramétrée par la fonction à fabriquer des var_nature *)
+	  (* elle est juste paramétrée par la fonction à fabriquer des var_nature *)
 	(*------------------*)
 	let rec treat_vars
 		(vdefs: clocked_ids list) (* la liste à traiter *)
@@ -258,10 +259,10 @@ let treat_node_decl
 	in
 	(* traitement des entrées *)
 	let make_input nm ty ck = (
-		{ va_nature = VarInput; va_name = nm; va_type = ty; va_clock = ck }
+	  { va_nature = VarInput; va_name = nm; va_type = ty; va_clock = ck }
 	) in
 	let innames = treat_vars indefs make_input in 
-	(* traitement des sorties *)
+	  (* traitement des sorties *)
 	let make_output nm ty ck = (
 		{ va_nature = VarOutput; va_name = nm; va_type = ty; va_clock = ck }
 	) in
@@ -341,7 +342,6 @@ let flat_output_ids (vdefs: clocked_ids list) = (
 
 %token <Lxm.t> TK_AND
 %token <Lxm.t> TK_ARROW
-%token <Lxm.t> TK_ARROW
 %token <Lxm.t> TK_ASSERT
 %token <Lxm.t> TK_BAR
 %token <Lxm.t> TK_BOOL
@@ -391,6 +391,7 @@ let flat_output_ids (vdefs: clocked_ids list) = (
 %token <Lxm.t> TK_PLUS
 %token <Lxm.t> TK_POWER
 %token <Lxm.t> TK_PRE
+%token <Lxm.t> TK_FBY
 %token <Lxm.t> TK_RCONST
 %token <Lxm.t> TK_REAL
 %token <Lxm.t> TK_RETURNS
@@ -436,6 +437,7 @@ let flat_output_ids (vdefs: clocked_ids list) = (
 %left TK_HAT TK_FIELD TK_DOT
 %right TK_OPEN_BRACKET TK_OPEN_BRACE TK_SEMICOL
 %right TK_COMA
+%left TK_FBY 
 
 /* sxEntry point */
 %start sxLusFile
@@ -850,7 +852,8 @@ sxLocalNode:
 	TK_NODE sxIdent sxStaticParams sxParams TK_RETURNS sxParams sxOptSemicol
 		sxLocals sxBody sxOptEndNode
 	{ treat_node_decl $2 $3 $4 $6 $8 (fst $9) (snd $9) }
-|	TK_NODE sxIdent sxStaticParams sxNodeProfileOpt TK_EQ sxEffectiveNode sxOptSemicol 
+|	TK_NODE sxIdent sxStaticParams sxNodeProfileOpt TK_EQ sxEffectiveNode 
+	    sxOptSemicol 
 	{ treat_node_alias $2 $3 $4 $6 }
 ;
 
@@ -1047,6 +1050,7 @@ sxExpression:
 	|   TK_INT sxExpression      { unexp $1 REAL2INT_n $2 }
 	|   TK_REAL sxExpression     { unexp $1 INT2REAL_n $2 }
 	 /* binaires */
+	|  sxExpression TK_FBY  sxExpression { binexp $2 FBY_n $1 $3 }
 	|  sxExpression TK_ARROW sxExpression { binexp $2 ARROW_n $1 $3 }
 	|  sxExpression TK_WHEN  sxExpression { binexp $2 WHEN_n $1 $3 }
 	|  sxExpression TK_AND   sxExpression { binexp $2 AND_n  $1 $3 }
@@ -1107,6 +1111,7 @@ sxExpression:
 
 sxPredefOp:
 	|   TK_NOT    { {src=$1; it=NOT_n} }
+	|   TK_FBY    { {src=$1; it=FBY_n} }
 	|   TK_PRE    { {src=$1; it=PRE_n} }
 	|   TK_CURRENT{ {src=$1; it=CURRENT_n} } 
 	|   TK_INT    { {src=$1; it=REAL2INT_n} }
@@ -1167,35 +1172,36 @@ sxStaticArgList:
 
 /* Faut se tordre l'esprit ici !
 - la nature est explicite,
-- la nature est immediate (type, const ou node predefini)
-- la nature est sans ambiguite const (expressions simples)
-- la nature est compile-time (juste un ident, a résoudre)
-*/
-sxStaticArg:
-		/* nature explicite */
-		TK_TYPE sxType 
-			{ {src=$1 ; it=StaticArgType $2 } }
+	  - la nature est immediate (type, const ou node predefini)
+	  - la nature est sans ambiguite const (expressions simples)
+	  - la nature est compile-time (juste un ident, a résoudre)
+	  */
+	    sxStaticArg:
+	  /* nature explicite */
+	    TK_TYPE sxType 
+	    { {src=$1 ; it=StaticArgType $2 } }
 	|	TK_CONST sxExpression
-			{ {src=$1 ; it=StaticArgConst $2 } }
+	    { {src=$1 ; it=StaticArgConst $2 } }
 	|	TK_NODE sxEffectiveNode
-			{ {src=$1 ; it=StaticArgNode $2.it } }
-		/* un ident OU une expression simple (à résoudre) */
-		/* c'est au retour qu'on choisit */
+	    { {src=$1 ; it=StaticArgNode $2.it } }
+	  /* un ident OU une expression simple (à résoudre) */
+	  /* c'est au retour qu'on choisit */
 	|	sxSimpleExp
-	{
-		match $1 with 
-		CallByPos (op, x) -> (
-			match op.it with
+	    {
+	      match $1 with 
+		  CallByPos (op, x) -> (
+		    match op.it with
 			IDENT_n idref -> (
-				{src=op.src ; it=StaticArgIdent idref }
+			  {src=op.src ; it=StaticArgIdent idref }
 			)|
-			_ -> (
-				{src=op.src ; it=StaticArgConst $1}
-			)
-		) | _ -> (
-			raise (Internal_error ("parser", "unexpected static argument" ))
-		)
-	}
+			    _ -> (
+			      {src=op.src ; it=StaticArgConst $1}
+			    )
+		  ) 
+		| _ -> 
+		    print_string "*** unexpected static argument\n";
+		    assert false
+	    }
 		/* un type sans ambiguite */
 	|	sxSurelyType
 			{ {src=$1.src; it=StaticArgType $1} }
diff --git a/src/srcTab.ml b/src/srcTab.ml
index 732a7da334343a2320c696a5edd60e499a090234..9393cff0f2b0b9ee7179fdd4677e1345e9e482b8 100644
--- a/src/srcTab.ml
+++ b/src/srcTab.ml
@@ -1,97 +1,104 @@
+(** Time-stamp: <modified the 16/11/2007 (at 11:52) by Erwan Jahier> *)
 
-(*----------------------------------------------------------------------
-MODULE : SrcTab
-------------------------------------------------------------------------
-DESCRIPTION :
+(** 
+    Table des infos sources : une couche au dessus de Syntaxe pour mieux
+    ranger les packages et les modèles et faciliter la résolution des
+    identificateurs.
 
-Table des infos sources : une couche au dessus de Syntaxe pour 
-mieux ranger les packages et les modèles et faciliter la résolution
-des identificateurs.
+    1) expansion des modèles
 
+    2) pour chaque package instancié, 2 tables de symboles :
 
-1) expansion des modèles
+    - une pour la vision "exportée"
+    - une pour la vision interne. Chaque table de symbole, 3 "espaces"
+    de noms (par nature d'items, type/const/oper)
 
-2) pour chaque pack instancié, 2 tables de symboles :
-   - une pour la vision "exportée"
-	- une pour la vision interne
-   Chaque table de symbole, 3 "espaces" de noms
-   (par nature d'items, type/const/oper)
+    Ces tables sont destinées à résoudre les références simples, elle
+    associent à une string :
+
+    - la definition syntaxique de l'item associé s'il est local
+    - l'identificateur absolu (package+nom) si il est externe
+*)
 
-   Ces tables sont destinées à résoudre les références
-   simples, elle associent à une string :
-   - la def syntaxique de l'item associé si il est local
-   - l'ident absolu (pack+nom) si il est externe
-----------------------------------------------------------------------*)
 open Lxm
 open CompUtils
 open Syntaxe
 open Errors
 
-(****************************************************************************
-TYPE PRINCIPAL : t
 
-- package et modèles sont rangés dans des tables, ce qui permet
-  notamment de traiter les erreurs de multi-déclarations
-  (st_raw_mod_tab et st_raw_pack_tab)
+(** Package manager
 
-- les instances de modeles sont traitées pour n'avoir plus
-  que des ``pack_given'' (i.e. pack avec provide + body)
+    Un package manager (pack_mng) contient les infos ``source'' du
+    package + DEUX tables de symboles, correspondant aux deux contextes
+    possibles de compilation :
 
-- à chaque pack (éventuellement expansé) est associé un manager
-  pour faciliter l'accès à ses infos (pack_mng) 
+    - compilation du provide
+    - compilation du body
 
-****************************************************************************)
-type t = {
-	(* liste + tables des sources bruts *)
-	st_list : Syntaxe.namespace list ;
-	st_raw_mod_tab : (string , model_info srcflaged) Hashtbl.t ;
-	st_raw_pack_tab : (string , pack_info srcflaged) Hashtbl.t ;
-	(* table des managers de packs *)
-	st_pack_mng_tab : (string , pack_mng)  Hashtbl.t ; 
-} and
-(****************************************************************************
-TYPES SECONDAIRES : pack_mng
-
-   Un pack manager (pack_mng) contient les infos ``source'' du
-package + DEUX tables de symboles, correspondant aux deux 
-contextes possibles de compilation :
-- compilation du provide
-- compilation du body
-(en effet, un ident de type, de cont ou de noeud n'est pas
-interprété de la même manihre suivant qu'il apparaît dans 
-la partie provide ou body).
-   Il contient aussi une table des items exportés pour faciliter
-le traitement des "use" du pack. C'est une correspondance
-nature+nom simple -> nom complet
-(c.a.d. Syntaxe.item_ident -> fullid)
-****************************************************************************)
-pack_mng = {
-	(* le lexeme de ref *)
-	pm_lxm : Lxm.t;
-	(* le source brut *)
-	pm_raw_src : Syntaxe.pack_info ;
-	(* le source expansé *)
-	pm_actual_src : Syntaxe.pack_given ;
-	(* table "brute" des items provided *)
-	(* pour les "user" du pack *)
-	pm_user_items : (Syntaxe.item_ident, fullid Lxm.srcflaged) Hashtbl.t ;
-	(* les tables de symboles pour compil ultérieure *)
-	pm_body_stab : SymbolTab.t ;
-	(* la table pour provide n'est créée que si besoin ... *)
-	pm_provide_stab : SymbolTab.t option ;
+    En effet, un identificateur de type, de constante ou de noeud
+    n'est pas interprété de la même manière suivant qu'il apparaît
+    dans la partie provide ou body.
+
+    Il contient aussi une table des items exportés pour faciliter le
+    traitement des "use" du package. C'est une correspondance nature+nom
+    simple -> nom complet (c.a.d. Syntaxe.item_ident -> fullid)
+*)
+
+type pack_mng = {
+  (* le lexeme de ref *)
+  pm_lxm : Lxm.t;
+  (* le source brut *)
+  pm_raw_src : Syntaxe.pack_info;
+  (* le source expansé *)
+  pm_actual_src : Syntaxe.pack_given;
+  (* table "brute" des items provided *)
+  (* pour les "user" du pack *)
+  pm_user_items : (Syntaxe.item_ident, fullid Lxm.srcflaged) Hashtbl.t;
+  (* les tables de symboles pour compil ultérieure *)
+  pm_body_stab : SymbolTab.t;
+  (* la table pour provide n'est créée que si besoin ... *)
+  pm_provide_stab : SymbolTab.t option;
 }
 
+(** TYPE PRINCIPAL : t
+
+    Packages et modèles sont rangés dans des tables, ce qui permet
+    notamment de traiter les erreurs de multi-déclarations
+    (st_raw_mod_tab et st_raw_pack_tab)
+
+    Les instances de modeles sont traitées pour n'avoir plus que des
+    ``pack_given'' (i.e. pack avec provide + body)
+
+    À chaque package (éventuellement expansé) est associé un manager
+    pour faciliter l'accès à ses infos (pack_mng)
+*)
+type t = {
+  (* liste + tables des sources bruts *)
+  st_list : Syntaxe.namespace list ;
+  st_raw_mod_tab : (string , model_info srcflaged) Hashtbl.t ;
+  st_raw_pack_tab : (string , pack_info srcflaged) Hashtbl.t ;
+  (* table des managers de packs *)
+  st_pack_mng_tab : (string , pack_mng)  Hashtbl.t; 
+} 
+
+
+
 let pack_list this = (
-	let f n p l = ( n::l ) in
-	Hashtbl.fold f this.st_pack_mng_tab []
+  let f n p l = ( n::l ) in
+    Hashtbl.fold f this.st_pack_mng_tab []
 )
 
 (* accès aux infos *)
 let pack_body_env this  p = (
-	(Hashtbl.find this.st_pack_mng_tab p).pm_body_stab
+  try
+    (Hashtbl.find this.st_pack_mng_tab p).pm_body_stab
+  with Not_found -> assert false
 )
+
 let pack_prov_env this  p = (
-	(Hashtbl.find this.st_pack_mng_tab p).pm_provide_stab
+  try
+    (Hashtbl.find this.st_pack_mng_tab p).pm_provide_stab
+  with Not_found -> assert false
 )
 
 
@@ -99,72 +106,72 @@ let pack_prov_env this  p = (
 init de la table des items provided (pour les users)
 ****************************************************************************)
 let init_user_items (this: pack_mng) = (
-	let pname = Lxm.str this.pm_lxm in
-	(* EXPORTATION D'UNE const_info *)
-	let export_const
-		(s:string)
-		(xci: Syntaxe.const_info srcflaged)
-	= (
-Verbose.put "       export const %s\n" s;
-		CompUtils.put_in_tab "const" this.pm_user_items
-			(ConstItem s)
-			(Lxm.flagit (make_fullid pname  s) xci.src)
-	) in
-	(* EXPORTATION D'UN type_info *)
-	let export_type
-		(s: string)
-		(xti: Syntaxe.type_info srcflaged)
-	= (
-		let _ = match (xti.it) with
-		EnumType (_, ecl) -> (
-			(* Cas particulier des types enums *)
-			(* on exporte les constantes ... *)
-			let treat_enum_const ec = (
-				let s = ec.it in
-				let lxm = ec.src in
-Verbose.put "       export enum const %s\n" s;
-				CompUtils.put_in_tab "const" this.pm_user_items
-					(ConstItem s)
-					(Lxm.flagit (make_fullid pname s) lxm)
-			) in
-			List.iter treat_enum_const ecl
-		) | _ -> ()
-		in
-Verbose.put "       export type %s\n" s;
-		CompUtils.put_in_tab "type" this.pm_user_items
-			(TypeItem s)
-			(Lxm.flagit (make_fullid pname  s) xti.src)
-	) in
-	(* EXPORTATION D'UN oper_info *)
-	let export_oper
-		(s: string)
-		(xoi: Syntaxe.oper_info srcflaged)
-	= (
-Verbose.put "       export oper %s\n" s;
-		CompUtils.put_in_tab "oper" this.pm_user_items
-			(OperItem s)
-			(Lxm.flagit (make_fullid pname  s) xoi.src)
-	) in
-	let pg = this.pm_actual_src in
-	match pg.pg_provides with
+  let pname = Lxm.str this.pm_lxm in
+    (* EXPORTATION D'UNE const_info *)
+  let export_const
+      (s:string)
+      (xci: Syntaxe.const_info srcflaged)
+      = (
+	Verbose.put "       export const %s\n" s;
+	CompUtils.put_in_tab "const" this.pm_user_items
+	  (ConstItem s)
+	  (Lxm.flagit (make_fullid pname  s) xci.src)
+      ) in
+    (* EXPORTATION D'UN type_info *)
+  let export_type
+      (s: string)
+      (xti: Syntaxe.type_info srcflaged)
+      = (
+	let _ = match (xti.it) with
+	    EnumType (_, ecl) -> (
+	      (* Cas particulier des types enums *)
+	      (* on exporte les constantes ... *)
+	      let treat_enum_const ec = (
+		let s = ec.it in
+		let lxm = ec.src in
+		  Verbose.put "       export enum const %s\n" s;
+		  CompUtils.put_in_tab "const" this.pm_user_items
+		    (ConstItem s)
+		    (Lxm.flagit (make_fullid pname s) lxm)
+	      ) in
+		List.iter treat_enum_const ecl
+	    ) | _ -> ()
+	in
+	  Verbose.put "       export type %s\n" s;
+	  CompUtils.put_in_tab "type" this.pm_user_items
+	    (TypeItem s)
+	    (Lxm.flagit (make_fullid pname  s) xti.src)
+      ) in
+    (* EXPORTATION D'UN oper_info *)
+  let export_oper
+      (s: string)
+      (xoi: Syntaxe.oper_info srcflaged)
+      = (
+	Verbose.put "       export oper %s\n" s;
+	CompUtils.put_in_tab "oper" this.pm_user_items
+	  (OperItem s)
+	  (Lxm.flagit (make_fullid pname  s) xoi.src)
+      ) in
+  let pg = this.pm_actual_src in
+    match pg.pg_provides with
 	None -> (
-		(* ON EXPORTE TOUT TEL QUEL *)
-		Hashtbl.iter export_type  pg.pg_body.pk_type_table ;
-		Hashtbl.iter export_const  pg.pg_body.pk_const_table ;
-		Hashtbl.iter export_oper  pg.pg_body.pk_oper_table ;
+	  (* ON EXPORTE TOUT TEL QUEL *)
+	  Hashtbl.iter export_type  pg.pg_body.pk_type_table ;
+	  Hashtbl.iter export_const  pg.pg_body.pk_const_table ;
+	  Hashtbl.iter export_oper  pg.pg_body.pk_oper_table ;
 	) |
-	Some spflg -> (
-		(* ON EXPORTE LES PROVIDES *)
-		let treat_prov x = (
-			let lxm = x.src in
-			let s = Lxm.str lxm in
-			match (x.it) with
-			  TypeInfo xti -> export_type s (Lxm.flagit xti lxm)
-			| ConstInfo xci -> export_const s (Lxm.flagit xci lxm)
-			| OperInfo xoi -> export_oper s (Lxm.flagit xoi lxm)
-		) in
+	    Some spflg -> (
+	      (* ON EXPORTE LES PROVIDES *)
+	      let treat_prov x = (
+		let lxm = x.src in
+		let s = Lxm.str lxm in
+		  match (x.it) with
+		      TypeInfo xti -> export_type s (Lxm.flagit xti lxm)
+		    | ConstInfo xci -> export_const s (Lxm.flagit xci lxm)
+		    | OperInfo xoi -> export_oper s (Lxm.flagit xoi lxm)
+	      ) in
 		List.iter treat_prov spflg
-	)
+	    )
 )
 
 (*
@@ -323,17 +330,20 @@ Verbose.put "    symbol tables for pack %s\n" pname;
 
 	(* PUIS LES DECLARATION LOCALES *)
 	(* ... dans le body : *)
-	Hashtbl.iter (SymbolTab.add_type pm.pm_body_stab)	pg.pg_body.pk_type_table;
-	Hashtbl.iter (SymbolTab.add_const pm.pm_body_stab)	pg.pg_body.pk_const_table;
-	Hashtbl.iter (SymbolTab.add_oper pm.pm_body_stab)	pg.pg_body.pk_oper_table;
+	Hashtbl.iter (SymbolTab.add_type pm.pm_body_stab)	
+	  pg.pg_body.pk_type_table;
+	Hashtbl.iter (SymbolTab.add_const pm.pm_body_stab)	
+	  pg.pg_body.pk_const_table;
+	Hashtbl.iter (SymbolTab.add_oper pm.pm_body_stab)	
+	  pg.pg_body.pk_oper_table;
 	(* ... dans le provide : *)
 	match pg.pg_provides with
 	None -> (
 	) |
 	Some spflg -> (
 		let pptab = match pm.pm_provide_stab with
-			Some pt -> pt
-		|	None -> raise (Internal_error ("SrcTab.init_pack_mng_stabs","unexpected case"))
+		    Some pt -> pt
+		  | None -> assert false
 		in
 		let treat_prov x = (
 			let lxm = x.src in
@@ -362,13 +372,16 @@ Associations :
 
 (* associations idref -> fullid *)
 let find_type (genv: t) (pck: string) (idr: Syntaxe.idref) = (
-	raise (Internal_error ("SrcTab.find_type", "not implemented"))
+  print_string "*** not implemented.\n";
+  assert false
 )
 let find_const (genv: t) (pck: string) (idr: Syntaxe.idref) = (
-	raise (Internal_error ("SrcTab.find_const", "not implemented"))
+  print_string "*** not implemented.\n";
+  assert false
 )
 let find_oper (genv: t) (pck: string) (idr: Syntaxe.idref) = (
-	raise (Internal_error ("SrcTab.find_oper", "not implemented"))
+  print_string "*** not implemented.\n";
+  assert false
 )
 
 
diff --git a/src/srcTab.mli b/src/srcTab.mli
index 4e2e8e384d7c18728d6db01aad146ec4594c9d87..99a2fd555a9ce06007fdb1d7e691d9351b50a882 100644
--- a/src/srcTab.mli
+++ b/src/srcTab.mli
@@ -1,19 +1,19 @@
-(*
+(** Time-stamp: <modified the 05/12/2007 (at 11:12) by Erwan Jahier> *)
 
+(**
 Table des infos sources
 
-- créée à partir de la liste des pack/modeles
-- s'occupe de l'instanciation (purement syntaxique) des modeles
-- crée pour chaque pack given la liste ``brute'' des noms
-  d'items exportés
-  Cette liste sera importante pour traiter les "use" lors
-  de la création des tables se symboles de chaque pack
+  - créée à partir de la liste des pack/modeles
+
+  - s'occupe de l'instanciation (purement syntaxique) des modeles
+
+  - crée pour chaque pack provided la liste ``brute'' des noms d'items
+  exportés Cette liste sera importante pour traiter les "use" lors de
+  la création des tables de symboles de chaque pack
 *)
 
-(* type principal *)
 type t
 
-(* init *)
 val create : Syntaxe.namespace list -> t
 
 (* accès aux infos *)
@@ -25,6 +25,6 @@ val pack_prov_env : t -> string -> SymbolTab.t option
 val pack_list : t -> string list 
 
 
-(* dump *)
+(* *)
 val dump : t -> unit
 
diff --git a/src/symbolTab.ml b/src/symbolTab.ml
index d785bb8f37b913e3efc7c331bd38617fa2dfcf68..afb4906f1498204e97905926b6dd539e58eccdbb 100644
--- a/src/symbolTab.ml
+++ b/src/symbolTab.ml
@@ -24,10 +24,29 @@ let create () = {
    st_opers = Hashtbl.create 50;
 }
 
-let find_type (this: t) (id: string) = ( Hashtbl.find (this.st_types) id)
-let find_const (this: t) (id: string) = ( Hashtbl.find (this.st_consts) id)
-let find_oper (this: t) (id: string) = ( Hashtbl.find (this.st_opers) id)
+let find_type (this: t) (id: string) = (
+  try 
+    Hashtbl.find (this.st_types) id
+  with Not_found -> 
+    print_string ("*** unknown type "^id^"\n");
+    assert false
+)
+  
+let find_const (this: t) (id: string) = (
+  try 
+    Hashtbl.find (this.st_consts) id
+  with Not_found -> 
+    print_string ("*** unknown const "^id^"\n");
+    assert false
+)
 
+let find_oper (this: t) (id: string) = (
+  try
+    Hashtbl.find (this.st_opers) id
+  with Not_found -> 
+    print_string ("*** unknown operator "^id^"\n");
+    assert false
+)
 
 (* Manip de SymbolTab.t *)
 let add_import_const (this: t) (id: string) (aid: fullid) = (
diff --git a/src/syntaxe.ml b/src/syntaxe.ml
index e2756cbcf3980e0cd254ae6b3db69778a25a7683..7d78baff76d9cac379cb732d1403ab305efde27c 100644
--- a/src/syntaxe.ml
+++ b/src/syntaxe.ml
@@ -1,9 +1,5 @@
-(*---------------------------------------------------------------------
-	module : syntaxe.ml
-	date :   
-------------------------------------------------------------------------
-	description :
-----------------------------------------------------------------------*)
+(** Time-stamp: <modified the 05/12/2007 (at 11:22) by Erwan Jahier> *)
+
 
 (** Syntaxe abstraite des programmes Lustre *)
 
@@ -61,15 +57,14 @@ and
   | NSModel  of  model_info srcflaged
 and
   model_info = {
-    mo_name : string ;
-    mo_uses  :    string srcflaged list ;
-    mo_needs :    static_param srcflaged list ;
+    mo_name  : string ;
+    mo_uses  : string srcflaged list ;
+    mo_needs : static_param srcflaged list ;
     (* N.B. CAS PARTICULIER DE item_info *)
     mo_provides : item_info srcflaged list option;
     mo_body : packbody ;
   }
-and
-  pack_info = {
+and pack_info = {
     pa_name : string ;
     pa_def : pack_def ;
   }
@@ -89,12 +84,11 @@ and
     pi_model : string ;
     pi_args : static_arg srcflaged list ;
   }
-    (**********************************************)
-    (** Collection de noeuds, types const etc  *)
-    (* - une table pour chaque sorte de defs      *)
-    (* - une liste de defs permettant de les      *)
-    (*   ressortir dans l'ordre                   *)
-    (**********************************************)
+    (** Collection de noeuds, types const etc.
+	- une table pour chaque sorte de defs
+	- une liste de defs permettant de les
+	ressortir dans l'ordre                   
+    *)
 and
   packbody = {
     pk_const_table : (string, const_info srcflaged ) Hashtbl.t ;
@@ -231,9 +225,7 @@ and eq_info = {
   eq_left : left_part list ;
   eq_right: val_exp
 }
-    (************************************************)
-    (* Information d'horloge pour les var de node   *)
-    (************************************************)
+    (* Information d'horloge pour les variables de noeud *)
 and clock_exp =
     BaseClock
   | NamedClock of string srcflaged
@@ -262,6 +254,7 @@ and slice_info = {
 and val_exp =
     CallByPos  of (by_pos_op  srcflaged  * val_exp list) 
   | CallByName of (by_name_op srcflaged  * (string srcflaged * val_exp) list)
+   
 	  (* Toutes les opérations classiques *)
 and by_pos_op =
     (* zeroaire *)
@@ -315,31 +308,33 @@ and by_pos_op =
       (* pseudo-unaire : A USAGE INTERNE *)
       (* projection de tuple             *)
   | PROJ_n of int
-	  (* pseudo-unaire : appel par position *)
+      (* pseudo-unaire : appel par position *)
   | CALL_n of oper_exp srcflaged
-	  (* pseudo-unaire : acces tableau *)
+      (* pseudo-unaire : acces tableau *)
   | ARRAY_ACCES_n of val_exp
   | ARRAY_SLICE_n of slice_info
-	  (* pseudo-unaire : acces structure *)
+      (* pseudo-unaire : acces structure *)
   | STRUCT_ACCESS_n    of string
-	  (*	Opération avec passage de param par nom *)
+      (* Opération avec passage de param par nom *)
+
+(*   | MERGE_n of idref * ((idref * val_exp) list) *)
+      
+
 and by_name_op =
     BYNAME_CALL_n of idref
       (* structure non typée *)
   | STRUCT_EXP_n
-      (**********************************************
-						     Descripteur d'operateur call
-      **********************************************)
+      (* Descripteur d'operateur call *)
 and oper_exp =
     CallPreDef of by_pos_op
   | CallUsrDef of (idref * static_arg srcflaged list)
-	  (**********************************************
-							 Params statiques effectifs :
-							 - val_exp (pour les constantes)
-							 - type_exp (pour les types)
-							 - oper_exp (pour les node)
-							 - ident : a résoudre, peut etre const, type ou node 
-	  **********************************************)
+	  (*
+	    Params statiques effectifs :
+	    - val_exp (pour les constantes)
+	    - type_exp (pour les types)
+	    - oper_exp (pour les node)
+	    - ident : a résoudre, peut etre const, type ou node 
+	  *)
 and static_arg =
     StaticArgIdent of idref 
   | StaticArgConst of val_exp
@@ -429,12 +424,13 @@ let add_info
       try
 	let x  = Hashtbl.find htbl (Lxm.str lxm) in 
 	  raise (
-	    Compile_error ( lxm ,
-			    (sprintf "bad %s declaration, ident already linked at %s"
-			       kindof 
-			       (Lxm.position x.src)
-			    )
-			  )
+	    Compile_error ( 
+	      lxm ,
+	      (sprintf "bad %s declaration, ident already linked at %s"
+		 kindof 
+		 (Lxm.position x.src)
+	      )
+	    )
 	  )
       with Not_found -> (
 	Hashtbl.add htbl (Lxm.str lxm) {
diff --git a/test/C.xec b/test/C.xec
deleted file mode 100644
index b6e901802e051d31711391793090c9f0e3744b59..0000000000000000000000000000000000000000
--- a/test/C.xec
+++ /dev/null
@@ -1,36 +0,0 @@
--------------------------------------------- 
--- File `C.xec' generated by 
--- the lustre-v6 compiler version 0.17
---------------------------------------------
-
---------------------------------------------
--- alias types and constant declarations
---------------------------------------------
-type TestCondact::t2 = int;
-type TestCondact::t1 = int;
-
--------------------------------------------- 
--- operator definition 
--------------------------------------------- 
-node Main::n(
- i_e : int;
- ) returns ( 
- o_s : int;
- );
-let
-   o_s = (i_e * i_e);
-tel
-
-node TestCondact::C(
- i_c : bool;
- i_d : int;
- i_x : int;
- ) returns ( 
- o_y : int;
- );
-let
-   o_y = (if i_c 
-		      then   current(Main::n(i_x)) 
-		      else  (i_d ->  pre(o_y)) );
-tel
-
diff --git a/test/Makefile b/test/Makefile
index a5a8bd1dab204944322957915f110b8a0703af0d..63b2819dcb5387be60c6759125abbad6921e6b1f 100644
--- a/test/Makefile
+++ b/test/Makefile
@@ -1,10 +1,11 @@
 
+LV6=../src/lus2lic
 
 test:
 	rm -f test.res
-	../../bin/lv6 packages.lus -main mainPack:preced    > test.res
-	../../bin/lv6 modelInst.lus -main main:main    >> test.res
-	../../bin/lv6 Condact.lus -main TestCondact:C   >> test.res
+	$(LV6) packages.lus -main mainPack:preced    > test.res
+	$(LV6) modelInst.lus -main main:main    >> test.res
+	$(LV6) Condact.lus -main TestCondact:C   >> test.res
 	diff -u test.res test.exp > test.diff 
 
 diff:
diff --git a/test/main.xec b/test/main.xec
deleted file mode 100644
index 066fa6c992b0575f62cd6116a690579840a3149d..0000000000000000000000000000000000000000
--- a/test/main.xec
+++ /dev/null
@@ -1,57 +0,0 @@
--------------------------------------------- 
--- File `main.xec' generated by 
--- the lustre-v6 compiler version 0.17
---------------------------------------------
-
---------------------------------------------
--- alias types and constant declarations
---------------------------------------------
-const main::pi : real = 3.14159;
-
--------------------------------------------- 
--- operator definition 
--------------------------------------------- 
-node Pint::n(
- i_init : int;
- i_in : int;
- ) returns ( 
- o_ok : int;
- );
-let
-   o_ok = (i_init ->  pre(i_in));
-tel
-
-node Pbool::n(
- i_init : bool;
- i_in : bool;
- ) returns ( 
- o_ok : bool;
- );
-let
-   o_ok = (i_init ->  pre(i_in));
-tel
-
-node Preal::n(
- i_init : real;
- i_in : real;
- ) returns ( 
- o_ok : real;
- );
-let
-   o_ok = (i_init ->  pre(i_in));
-tel
-
-node main::main(
- i_i : int;
- i_ray : real;
- ) returns ( 
- o_oint : int;
- o_obool : bool;
- o_oreal : real;
- );
-let
-   o_oint = Pint::n(( 0, i_i ));
-   o_obool = Pbool::n(( true, (i_i < 50) ));
-   o_oreal = Preal::n(( 0., (0. -> ((main::pi * i_ray) * i_ray)) ));
-tel
-
diff --git a/test/preced.xec b/test/preced.xec
deleted file mode 100644
index 18448b5bd4c20df312b25f574043cc2669f91c26..0000000000000000000000000000000000000000
--- a/test/preced.xec
+++ /dev/null
@@ -1,80 +0,0 @@
--------------------------------------------- 
--- File `preced.xec' generated by 
--- the lustre-v6 compiler version 0.17
---------------------------------------------
-
--------------------------------------------- 
--- internal type(s) definition(s)  
--------------------------------------------- 
-type T1_ARRAY = int^8;
-type T2_STRUCT = { i: int, b: bool, r: real };
-
---------------------------------------------
--- alias types and constant declarations
---------------------------------------------
-type pbool::t = bool;
-type pint::t = int;
-type preal::t = real;
-type inter::selType = T2_STRUCT;
-const inter::n : int = -4;
-type mainPack::T = T1_ARRAY;
-const mainPack::N : int = 8;
-const mainPack::X : int = mainPack::N;
-
--------------------------------------------- 
--- operator definition 
--------------------------------------------- 
-node pint::fby1(
- i_init : int;
- i_fb : int;
- ) returns ( 
- o_next : int;
- );
-let
-   o_next = (i_init ->  pre(i_fb));
-tel
-
-node pbool::fby1(
- i_init : bool;
- i_fb : bool;
- ) returns ( 
- o_next : bool;
- );
-let
-   o_next = (i_init ->  pre(i_fb));
-tel
-
-node preal::fby1(
- i_init : real;
- i_fb : real;
- ) returns ( 
- o_next : real;
- );
-let
-   o_next = (i_init ->  pre(i_fb));
-tel
-
-node inter::preced(
- i_in : T2_STRUCT;
- ) returns ( 
- o_out : T2_STRUCT;
- o_out2 : T2_STRUCT;
- );
-let
-   o_out2 = { i = 0, b = true, r = 0.};
-   o_out.i = pint::fby1(( o_out2.i, i_in.i ));
-   o_out.b = pbool::fby1(( o_out2.b, i_in.b ));
-   o_out.r = preal::fby1(( o_out2.r, i_in.r ));
-tel
-
-node mainPack::preced(
- i_in : T2_STRUCT;
- ) returns ( 
- o_out : T2_STRUCT;
- );
-var
- v_out2 : T2_STRUCT;
-let
-   (o_out, v_out2) = inter::preced(i_in);
-tel
-