diff --git a/test/lus2lic.sum b/test/lus2lic.sum
index 588ab8864e4d3cad1d95e3bdffcf9ab3ac39b330..ce62c8bacf01952f9ba524a309d53fdefe3034e0 100644
--- a/test/lus2lic.sum
+++ b/test/lus2lic.sum
@@ -1,4 +1,4 @@
-Test Run By jahier on Fri May 10 16:53:20 2013
+Test Run By jahier on Mon May 13 08:37:27 2013
 Native configuration is i686-pc-linux-gnu
 
 		=== lus2lic tests ===
@@ -120,7 +120,7 @@ FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node shou
 PASS: ./lus2lic {-o /tmp/bug2.lic should_work/bug2.lus}
 PASS: ./lus2lic {-ec -o /tmp/bug2.ec should_work/bug2.lus}
 PASS: ./ec2c {-o /tmp/bug2.c /tmp/bug2.ec}
-FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/bug2.lus
+PASS: ../utils/test_lus2lic_no_node should_work/bug2.lus
 PASS: ./lus2lic {-o /tmp/mm.lic should_work/mm.lus}
 PASS: ./lus2lic {-ec -o /tmp/mm.ec should_work/mm.lus}
 PASS: ./ec2c {-o /tmp/mm.c /tmp/mm.ec}
@@ -128,7 +128,7 @@ PASS: ../utils/test_lus2lic_no_node should_work/mm.lus
 PASS: ./lus2lic {-o /tmp/yyy.lic should_work/yyy.lus}
 PASS: ./lus2lic {-ec -o /tmp/yyy.ec should_work/yyy.lus}
 PASS: ./ec2c {-o /tmp/yyy.c /tmp/yyy.ec}
-FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/yyy.lus
+PASS: ../utils/test_lus2lic_no_node should_work/yyy.lus
 PASS: ./lus2lic {-o /tmp/toolate.lic should_work/toolate.lus}
 PASS: ./lus2lic {-ec -o /tmp/toolate.ec should_work/toolate.lus}
 PASS: ./ec2c {-o /tmp/toolate.c /tmp/toolate.ec}
@@ -145,9 +145,8 @@ PASS: ./lus2lic {-o /tmp/predefOp.lic should_work/predefOp.lus}
 PASS: ./lus2lic {-ec -o /tmp/predefOp.ec should_work/predefOp.lus}
 PASS: ./ec2c {-o /tmp/predefOp.c /tmp/predefOp.ec}
 FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/predefOp.lus
-PASS: ./lus2lic {-o /tmp/t1.lic should_work/t1.lus}
-PASS: ./lus2lic {-ec -o /tmp/t1.ec should_work/t1.lus}
-PASS: ./ec2c {-o /tmp/t1.c /tmp/t1.ec}
+FAIL: without any option: ./lus2lic {-o /tmp/t1.lic should_work/t1.lus}
+FAIL: Generate ec code  : ./lus2lic {-ec -o /tmp/t1.ec should_work/t1.lus}
 FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/t1.lus
 PASS: ./lus2lic {-o /tmp/nc9.lic should_work/nc9.lus}
 PASS: ./lus2lic {-ec -o /tmp/nc9.ec should_work/nc9.lus}
@@ -214,7 +213,7 @@ PASS: ../utils/test_lus2lic_no_node should_work/SWITCH.lus
 PASS: ./lus2lic {-o /tmp/cst.lic should_work/cst.lus}
 PASS: ./lus2lic {-ec -o /tmp/cst.ec should_work/cst.lus}
 PASS: ./ec2c {-o /tmp/cst.c /tmp/cst.ec}
-FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/cst.lus
+PASS: ../utils/test_lus2lic_no_node should_work/cst.lus
 PASS: ./lus2lic {-o /tmp/minmax5_random.lic should_work/minmax5_random.lus}
 PASS: ./lus2lic {-ec -o /tmp/minmax5_random.ec should_work/minmax5_random.lus}
 PASS: ./ec2c {-o /tmp/minmax5_random.c /tmp/minmax5_random.ec}
@@ -230,7 +229,7 @@ PASS: ../utils/test_lus2lic_no_node should_work/v1.lus
 PASS: ./lus2lic {-o /tmp/ply02.lic should_work/ply02.lus}
 PASS: ./lus2lic {-ec -o /tmp/ply02.ec should_work/ply02.lus}
 PASS: ./ec2c {-o /tmp/ply02.c /tmp/ply02.ec}
-FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/ply02.lus
+PASS: ../utils/test_lus2lic_no_node should_work/ply02.lus
 PASS: ./lus2lic {-o /tmp/call04.lic should_work/call04.lus}
 PASS: ./lus2lic {-ec -o /tmp/call04.ec should_work/call04.lus}
 PASS: ./ec2c {-o /tmp/call04.c /tmp/call04.ec}
@@ -242,7 +241,7 @@ PASS: ../utils/test_lus2lic_no_node should_work/bascule.lus
 PASS: ./lus2lic {-o /tmp/struct_with.lic should_work/struct_with.lus}
 PASS: ./lus2lic {-ec -o /tmp/struct_with.ec should_work/struct_with.lus}
 PASS: ./ec2c {-o /tmp/struct_with.c /tmp/struct_with.ec}
-FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/struct_with.lus
+PASS: ../utils/test_lus2lic_no_node should_work/struct_with.lus
 PASS: ./lus2lic {-o /tmp/test_node_expand.lic should_work/test_node_expand.lus}
 PASS: ./lus2lic {-ec -o /tmp/test_node_expand.ec should_work/test_node_expand.lus}
 PASS: ./ec2c {-o /tmp/test_node_expand.c /tmp/test_node_expand.ec}
@@ -282,7 +281,7 @@ FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node shou
 PASS: ./lus2lic {-o /tmp/zzz2.lic should_work/zzz2.lus}
 PASS: ./lus2lic {-ec -o /tmp/zzz2.ec should_work/zzz2.lus}
 PASS: ./ec2c {-o /tmp/zzz2.c /tmp/zzz2.ec}
-FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/zzz2.lus
+PASS: ../utils/test_lus2lic_no_node should_work/zzz2.lus
 PASS: ./lus2lic {-o /tmp/polymorphic_pack.lic should_work/polymorphic_pack.lus}
 PASS: ./lus2lic {-ec -o /tmp/polymorphic_pack.ec should_work/polymorphic_pack.lus}
 PASS: ./ec2c {-o /tmp/polymorphic_pack.c /tmp/polymorphic_pack.ec}
@@ -306,7 +305,7 @@ FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node shou
 PASS: ./lus2lic {-o /tmp/ec.lic should_work/ec.lus}
 PASS: ./lus2lic {-ec -o /tmp/ec.ec should_work/ec.lus}
 PASS: ./ec2c {-o /tmp/ec.c /tmp/ec.ec}
-FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/ec.lus
+PASS: ../utils/test_lus2lic_no_node should_work/ec.lus
 PASS: ./lus2lic {-o /tmp/morel3.lic should_work/morel3.lus}
 PASS: ./lus2lic {-ec -o /tmp/morel3.ec should_work/morel3.lus}
 PASS: ./ec2c {-o /tmp/morel3.c /tmp/morel3.ec}
@@ -314,15 +313,15 @@ FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node shou
 PASS: ./lus2lic {-o /tmp/fresh_name.lic should_work/fresh_name.lus}
 PASS: ./lus2lic {-ec -o /tmp/fresh_name.ec should_work/fresh_name.lus}
 PASS: ./ec2c {-o /tmp/fresh_name.c /tmp/fresh_name.ec}
-FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/fresh_name.lus
+PASS: ../utils/test_lus2lic_no_node should_work/fresh_name.lus
 PASS: ./lus2lic {-o /tmp/ply03.lic should_work/ply03.lus}
 PASS: ./lus2lic {-ec -o /tmp/ply03.ec should_work/ply03.lus}
 PASS: ./ec2c {-o /tmp/ply03.c /tmp/ply03.ec}
-FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/ply03.lus
+PASS: ../utils/test_lus2lic_no_node should_work/ply03.lus
 PASS: ./lus2lic {-o /tmp/param_struct.lic should_work/param_struct.lus}
 PASS: ./lus2lic {-ec -o /tmp/param_struct.ec should_work/param_struct.lus}
 PASS: ./ec2c {-o /tmp/param_struct.c /tmp/param_struct.ec}
-FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/param_struct.lus
+PASS: ../utils/test_lus2lic_no_node should_work/param_struct.lus
 PASS: ./lus2lic {-o /tmp/minmax2.lic should_work/minmax2.lus}
 PASS: ./lus2lic {-ec -o /tmp/minmax2.ec should_work/minmax2.lus}
 PASS: ./ec2c {-o /tmp/minmax2.c /tmp/minmax2.ec}
@@ -334,7 +333,7 @@ FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node shou
 PASS: ./lus2lic {-o /tmp/xx.lic should_work/xx.lus}
 PASS: ./lus2lic {-ec -o /tmp/xx.ec should_work/xx.lus}
 PASS: ./ec2c {-o /tmp/xx.c /tmp/xx.ec}
-FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/xx.lus
+PASS: ../utils/test_lus2lic_no_node should_work/xx.lus
 PASS: ./lus2lic {-o /tmp/call07.lic should_work/call07.lus}
 PASS: ./lus2lic {-ec -o /tmp/call07.ec should_work/call07.lus}
 PASS: ./ec2c {-o /tmp/call07.c /tmp/call07.ec}
@@ -342,7 +341,7 @@ FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node shou
 PASS: ./lus2lic {-o /tmp/shift_ludic.lic should_work/shift_ludic.lus}
 PASS: ./lus2lic {-ec -o /tmp/shift_ludic.ec should_work/shift_ludic.lus}
 PASS: ./ec2c {-o /tmp/shift_ludic.c /tmp/shift_ludic.ec}
-FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/shift_ludic.lus
+PASS: ../utils/test_lus2lic_no_node should_work/shift_ludic.lus
 PASS: ./lus2lic {-o /tmp/pilote-1.0.lic should_work/pilote-1.0.lus}
 PASS: ./lus2lic {-ec -o /tmp/pilote-1.0.ec should_work/pilote-1.0.lus}
 PASS: ./ec2c {-o /tmp/pilote-1.0.c /tmp/pilote-1.0.ec}
@@ -374,7 +373,7 @@ FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node shou
 PASS: ./lus2lic {-o /tmp/tri.lic should_work/tri.lus}
 PASS: ./lus2lic {-ec -o /tmp/tri.ec should_work/tri.lus}
 PASS: ./ec2c {-o /tmp/tri.c /tmp/tri.ec}
-FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/tri.lus
+PASS: ../utils/test_lus2lic_no_node should_work/tri.lus
 PASS: ./lus2lic {-o /tmp/calculs_max.lic should_work/calculs_max.lus}
 PASS: ./lus2lic {-ec -o /tmp/calculs_max.ec should_work/calculs_max.lus}
 PASS: ./ec2c {-o /tmp/calculs_max.c /tmp/calculs_max.ec}
@@ -398,14 +397,10 @@ PASS: ./lus2lic {-o /tmp/morel4.lic should_work/morel4.lus}
 PASS: ./lus2lic {-ec -o /tmp/morel4.ec should_work/morel4.lus}
 PASS: ./ec2c {-o /tmp/morel4.c /tmp/morel4.ec}
 FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/morel4.lus
-PASS: ./lus2lic {-o /tmp/enum.lic should_work/enum.lus}
-PASS: ./lus2lic {-ec -o /tmp/enum.ec should_work/enum.lus}
-PASS: ./ec2c {-o /tmp/enum.c /tmp/enum.ec}
-FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/enum.lus
 PASS: ./lus2lic {-o /tmp/param_node4.lic should_work/param_node4.lus}
 PASS: ./lus2lic {-ec -o /tmp/param_node4.ec should_work/param_node4.lus}
 PASS: ./ec2c {-o /tmp/param_node4.c /tmp/param_node4.ec}
-FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/param_node4.lus
+PASS: ../utils/test_lus2lic_no_node should_work/param_node4.lus
 PASS: ./lus2lic {-o /tmp/bad_call03.lic should_work/bad_call03.lus}
 PASS: ./lus2lic {-ec -o /tmp/bad_call03.ec should_work/bad_call03.lus}
 PASS: ./ec2c {-o /tmp/bad_call03.c /tmp/bad_call03.ec}
@@ -429,7 +424,7 @@ PASS: ../utils/test_lus2lic_no_node should_work/mouse.lus
 PASS: ./lus2lic {-o /tmp/param_node3.lic should_work/param_node3.lus}
 PASS: ./lus2lic {-ec -o /tmp/param_node3.ec should_work/param_node3.lus}
 PASS: ./ec2c {-o /tmp/param_node3.c /tmp/param_node3.ec}
-FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/param_node3.lus
+PASS: ../utils/test_lus2lic_no_node should_work/param_node3.lus
 PASS: ./lus2lic {-o /tmp/pipeline.lic should_work/pipeline.lus}
 PASS: ./lus2lic {-ec -o /tmp/pipeline.ec should_work/pipeline.lus}
 PASS: ./ec2c {-o /tmp/pipeline.c /tmp/pipeline.ec}
@@ -453,11 +448,11 @@ PASS: ../utils/test_lus2lic_no_node should_work/mm3.lus
 PASS: ./lus2lic {-o /tmp/over2.lic should_work/over2.lus}
 PASS: ./lus2lic {-ec -o /tmp/over2.ec should_work/over2.lus}
 PASS: ./ec2c {-o /tmp/over2.c /tmp/over2.ec}
-FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/over2.lus
+UNRESOLVED: Time out: ../utils/test_lus2lic_no_node should_work/over2.lus
 PASS: ./lus2lic {-o /tmp/over3.lic should_work/over3.lus}
 PASS: ./lus2lic {-ec -o /tmp/over3.ec should_work/over3.lus}
 PASS: ./ec2c {-o /tmp/over3.c /tmp/over3.ec}
-FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/over3.lus
+PASS: ../utils/test_lus2lic_no_node should_work/over3.lus
 PASS: ./lus2lic {-o /tmp/complex.lic should_work/complex.lus}
 PASS: ./lus2lic {-ec -o /tmp/complex.ec should_work/complex.lus}
 PASS: ./ec2c {-o /tmp/complex.c /tmp/complex.ec}
@@ -477,7 +472,7 @@ FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node shou
 PASS: ./lus2lic {-o /tmp/TIME_STABLE1.lic should_work/TIME_STABLE1.lus}
 PASS: ./lus2lic {-ec -o /tmp/TIME_STABLE1.ec should_work/TIME_STABLE1.lus}
 PASS: ./ec2c {-o /tmp/TIME_STABLE1.c /tmp/TIME_STABLE1.ec}
-FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/TIME_STABLE1.lus
+PASS: ../utils/test_lus2lic_no_node should_work/TIME_STABLE1.lus
 PASS: ./lus2lic {-o /tmp/nc5.lic should_work/nc5.lus}
 PASS: ./lus2lic {-ec -o /tmp/nc5.ec should_work/nc5.lus}
 PASS: ./ec2c {-o /tmp/nc5.c /tmp/nc5.ec}
@@ -511,7 +506,7 @@ PASS: ./ec2c {-o /tmp/arbitre.c /tmp/arbitre.ec}
 PASS: ./lus2lic {-o /tmp/test_const.lic should_work/test_const.lus}
 PASS: ./lus2lic {-ec -o /tmp/test_const.ec should_work/test_const.lus}
 PASS: ./ec2c {-o /tmp/test_const.c /tmp/test_const.ec}
-FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/test_const.lus
+PASS: ../utils/test_lus2lic_no_node should_work/test_const.lus
 PASS: ./lus2lic {-o /tmp/when_tuple.lic should_work/when_tuple.lus}
 PASS: ./lus2lic {-ec -o /tmp/when_tuple.ec should_work/when_tuple.lus}
 PASS: ./ec2c {-o /tmp/when_tuple.c /tmp/when_tuple.ec}
@@ -519,6 +514,10 @@ PASS: ./lus2lic {-o /tmp/carV2.lic should_work/carV2.lus}
 PASS: ./lus2lic {-ec -o /tmp/carV2.ec should_work/carV2.lus}
 PASS: ./ec2c {-o /tmp/carV2.c /tmp/carV2.ec}
 PASS: ../utils/test_lus2lic_no_node should_work/carV2.lus
+PASS: ./lus2lic {-o /tmp/test_merge.lic should_work/test_merge.lus}
+PASS: ./lus2lic {-ec -o /tmp/test_merge.ec should_work/test_merge.lus}
+PASS: ./ec2c {-o /tmp/test_merge.c /tmp/test_merge.ec}
+FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/test_merge.lus
 PASS: ./lus2lic {-o /tmp/FillFollowedByRed.lic should_work/FillFollowedByRed.lus}
 PASS: ./lus2lic {-ec -o /tmp/FillFollowedByRed.ec should_work/FillFollowedByRed.lus}
 PASS: ./ec2c {-o /tmp/FillFollowedByRed.c /tmp/FillFollowedByRed.ec}
@@ -527,10 +526,14 @@ PASS: ./lus2lic {-o /tmp/sample_time_change.lic should_work/sample_time_change.l
 PASS: ./lus2lic {-ec -o /tmp/sample_time_change.ec should_work/sample_time_change.lus}
 PASS: ./ec2c {-o /tmp/sample_time_change.c /tmp/sample_time_change.ec}
 FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/sample_time_change.lus
+PASS: ./lus2lic {-o /tmp/test_enum.lic should_work/test_enum.lus}
+PASS: ./lus2lic {-ec -o /tmp/test_enum.ec should_work/test_enum.lus}
+PASS: ./ec2c {-o /tmp/test_enum.c /tmp/test_enum.ec}
+PASS: ../utils/test_lus2lic_no_node should_work/test_enum.lus
 PASS: ./lus2lic {-o /tmp/predef01.lic should_work/predef01.lus}
 PASS: ./lus2lic {-ec -o /tmp/predef01.ec should_work/predef01.lus}
 PASS: ./ec2c {-o /tmp/predef01.c /tmp/predef01.ec}
-FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/predef01.lus
+PASS: ../utils/test_lus2lic_no_node should_work/predef01.lus
 PASS: ./lus2lic {-o /tmp/long_et_stupide_nom_de_noeud.lic should_work/long_et_stupide_nom_de_noeud.lus}
 PASS: ./lus2lic {-ec -o /tmp/long_et_stupide_nom_de_noeud.ec should_work/long_et_stupide_nom_de_noeud.lus}
 PASS: ./ec2c {-o /tmp/long_et_stupide_nom_de_noeud.c /tmp/long_et_stupide_nom_de_noeud.ec}
@@ -542,11 +545,11 @@ FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node shou
 PASS: ./lus2lic {-o /tmp/left.lic should_work/left.lus}
 PASS: ./lus2lic {-ec -o /tmp/left.ec should_work/left.lus}
 PASS: ./ec2c {-o /tmp/left.c /tmp/left.ec}
-FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/left.lus
+PASS: ../utils/test_lus2lic_no_node should_work/left.lus
 PASS: ./lus2lic {-o /tmp/ts04.lic should_work/ts04.lus}
 PASS: ./lus2lic {-ec -o /tmp/ts04.ec should_work/ts04.lus}
 PASS: ./ec2c {-o /tmp/ts04.c /tmp/ts04.ec}
-FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/ts04.lus
+PASS: ../utils/test_lus2lic_no_node should_work/ts04.lus
 FAIL: without any option: ./lus2lic {-o /tmp/bug_map_fby.lic should_work/bug_map_fby.lus}
 FAIL: Generate ec code  : ./lus2lic {-ec -o /tmp/bug_map_fby.ec should_work/bug_map_fby.lus}
 PASS: ./lus2lic {-o /tmp/multiclock.lic should_work/multiclock.lus}
@@ -600,7 +603,7 @@ PASS: ../utils/test_lus2lic_no_node should_work/activation_ec.lus
 PASS: ./lus2lic {-o /tmp/impl_priority.lic should_work/impl_priority.lus}
 PASS: ./lus2lic {-ec -o /tmp/impl_priority.ec should_work/impl_priority.lus}
 PASS: ./ec2c {-o /tmp/impl_priority.c /tmp/impl_priority.ec}
-FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/impl_priority.lus
+PASS: ../utils/test_lus2lic_no_node should_work/impl_priority.lus
 PASS: ./lus2lic {-o /tmp/exclusion.lic should_work/exclusion.lus}
 PASS: ./lus2lic {-ec -o /tmp/exclusion.ec should_work/exclusion.lus}
 PASS: ./ec2c {-o /tmp/exclusion.c /tmp/exclusion.ec}
@@ -612,7 +615,7 @@ FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node shou
 PASS: ./lus2lic {-o /tmp/consensus.lic should_work/consensus.lus}
 PASS: ./lus2lic {-ec -o /tmp/consensus.ec should_work/consensus.lus}
 PASS: ./ec2c {-o /tmp/consensus.c /tmp/consensus.ec}
-FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/consensus.lus
+PASS: ../utils/test_lus2lic_no_node should_work/consensus.lus
 PASS: ./lus2lic {-o /tmp/activation2.lic should_work/activation2.lus}
 PASS: ./lus2lic {-ec -o /tmp/activation2.ec should_work/activation2.lus}
 PASS: ./ec2c {-o /tmp/activation2.c /tmp/activation2.ec}
@@ -620,7 +623,7 @@ FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node shou
 PASS: ./lus2lic {-o /tmp/type_decl.lic should_work/type_decl.lus}
 PASS: ./lus2lic {-ec -o /tmp/type_decl.ec should_work/type_decl.lus}
 PASS: ./ec2c {-o /tmp/type_decl.c /tmp/type_decl.ec}
-FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/type_decl.lus
+PASS: ../utils/test_lus2lic_no_node should_work/type_decl.lus
 PASS: ./lus2lic {-o /tmp/import1.lic should_work/import1.lus}
 PASS: ./lus2lic {-ec -o /tmp/import1.ec should_work/import1.lus}
 PASS: ./ec2c {-o /tmp/import1.c /tmp/import1.ec}
@@ -637,18 +640,18 @@ PASS: ./lus2lic {-o /tmp/notTwo.lic should_work/notTwo.lus}
 PASS: ./lus2lic {-ec -o /tmp/notTwo.ec should_work/notTwo.lus}
 PASS: ./ec2c {-o /tmp/notTwo.c /tmp/notTwo.ec}
 PASS: ../utils/test_lus2lic_no_node should_work/notTwo.lus
-PASS: ./lus2lic {-o /tmp/struct.lic should_work/struct.lus}
-PASS: ./lus2lic {-ec -o /tmp/struct.ec should_work/struct.lus}
-PASS: ./ec2c {-o /tmp/struct.c /tmp/struct.ec}
-FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/struct.lus
 PASS: ./lus2lic {-o /tmp/stopwatch.lic should_work/stopwatch.lus}
 PASS: ./lus2lic {-ec -o /tmp/stopwatch.ec should_work/stopwatch.lus}
 PASS: ./ec2c {-o /tmp/stopwatch.c /tmp/stopwatch.ec}
 PASS: ../utils/test_lus2lic_no_node should_work/stopwatch.lus
+PASS: ./lus2lic {-o /tmp/test_condact.lic should_work/test_condact.lus}
+PASS: ./lus2lic {-ec -o /tmp/test_condact.ec should_work/test_condact.lus}
+PASS: ./ec2c {-o /tmp/test_condact.c /tmp/test_condact.ec}
+FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/test_condact.lus
 PASS: ./lus2lic {-o /tmp/contractForElementSelectionInArray.lic should_work/contractForElementSelectionInArray.lus}
 PASS: ./lus2lic {-ec -o /tmp/contractForElementSelectionInArray.ec should_work/contractForElementSelectionInArray.lus}
 PASS: ./ec2c {-o /tmp/contractForElementSelectionInArray.c /tmp/contractForElementSelectionInArray.ec}
-FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/contractForElementSelectionInArray.lus
+PASS: ../utils/test_lus2lic_no_node should_work/contractForElementSelectionInArray.lus
 PASS: ./lus2lic {-o /tmp/iterFibo.lic should_work/iterFibo.lus}
 PASS: ./lus2lic {-ec -o /tmp/iterFibo.ec should_work/iterFibo.lus}
 PASS: ./ec2c {-o /tmp/iterFibo.c /tmp/iterFibo.ec}
@@ -664,7 +667,7 @@ PASS: ../utils/test_lus2lic_no_node should_work/minmax1.lus
 PASS: ./lus2lic {-o /tmp/aa.lic should_work/aa.lus}
 PASS: ./lus2lic {-ec -o /tmp/aa.ec should_work/aa.lus}
 PASS: ./ec2c {-o /tmp/aa.c /tmp/aa.ec}
-FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/aa.lus
+PASS: ../utils/test_lus2lic_no_node should_work/aa.lus
 PASS: ./lus2lic {-o /tmp/mouse3.lic should_work/mouse3.lus}
 PASS: ./lus2lic {-ec -o /tmp/mouse3.ec should_work/mouse3.lus}
 PASS: ./ec2c {-o /tmp/mouse3.c /tmp/mouse3.ec}
@@ -676,7 +679,7 @@ PASS: ../utils/test_lus2lic_no_node should_work/ex.lus
 PASS: ./lus2lic {-o /tmp/xxx.lic should_work/xxx.lus}
 PASS: ./lus2lic {-ec -o /tmp/xxx.ec should_work/xxx.lus}
 PASS: ./ec2c {-o /tmp/xxx.c /tmp/xxx.ec}
-FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/xxx.lus
+PASS: ../utils/test_lus2lic_no_node should_work/xxx.lus
 PASS: ./lus2lic {-o /tmp/aux1.lic should_work/aux1.lus}
 PASS: ./lus2lic {-ec -o /tmp/aux1.ec should_work/aux1.lus}
 PASS: ./ec2c {-o /tmp/aux1.c /tmp/aux1.ec}
@@ -700,7 +703,7 @@ UNRESOLVED: Time out: ../utils/test_lus2lic_no_node should_work/lecteur.lus
 PASS: ./lus2lic {-o /tmp/bug.lic should_work/bug.lus}
 PASS: ./lus2lic {-ec -o /tmp/bug.ec should_work/bug.lus}
 PASS: ./ec2c {-o /tmp/bug.c /tmp/bug.ec}
-FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/bug.lus
+PASS: ../utils/test_lus2lic_no_node should_work/bug.lus
 PASS: ./lus2lic {-o /tmp/ck4.lic should_work/ck4.lus}
 PASS: ./lus2lic {-ec -o /tmp/ck4.ec should_work/ck4.lus}
 PASS: ./ec2c {-o /tmp/ck4.c /tmp/ck4.ec}
@@ -716,7 +719,7 @@ FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node shou
 PASS: ./lus2lic {-o /tmp/struct0.lic should_work/struct0.lus}
 PASS: ./lus2lic {-ec -o /tmp/struct0.ec should_work/struct0.lus}
 PASS: ./ec2c {-o /tmp/struct0.c /tmp/struct0.ec}
-FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/struct0.lus
+PASS: ../utils/test_lus2lic_no_node should_work/struct0.lus
 PASS: ./lus2lic {-o /tmp/filliter.lic should_work/filliter.lus}
 PASS: ./lus2lic {-ec -o /tmp/filliter.ec should_work/filliter.lus}
 PASS: ./ec2c {-o /tmp/filliter.c /tmp/filliter.ec}
@@ -728,7 +731,7 @@ PASS: ../utils/test_lus2lic_no_node should_work/minmax4.lus
 PASS: ./lus2lic {-o /tmp/nested.lic should_work/nested.lus}
 PASS: ./lus2lic {-ec -o /tmp/nested.ec should_work/nested.lus}
 PASS: ./ec2c {-o /tmp/nested.c /tmp/nested.ec}
-FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/nested.lus
+UNRESOLVED: Time out: ../utils/test_lus2lic_no_node should_work/nested.lus
 PASS: ./lus2lic {-o /tmp/Gyroscope.lic should_work/Gyroscope.lus}
 PASS: ./lus2lic {-ec -o /tmp/Gyroscope.ec should_work/Gyroscope.lus}
 PASS: ./ec2c {-o /tmp/Gyroscope.c /tmp/Gyroscope.ec}
@@ -761,6 +764,10 @@ PASS: ./lus2lic {-o /tmp/minmax4_bis.lic should_work/minmax4_bis.lus}
 PASS: ./lus2lic {-ec -o /tmp/minmax4_bis.ec should_work/minmax4_bis.lus}
 PASS: ./ec2c {-o /tmp/minmax4_bis.c /tmp/minmax4_bis.ec}
 PASS: ../utils/test_lus2lic_no_node should_work/minmax4_bis.lus
+PASS: ./lus2lic {-o /tmp/test_struct.lic should_work/test_struct.lus}
+PASS: ./lus2lic {-ec -o /tmp/test_struct.ec should_work/test_struct.lus}
+PASS: ./ec2c {-o /tmp/test_struct.c /tmp/test_struct.ec}
+PASS: ../utils/test_lus2lic_no_node should_work/test_struct.lus
 PASS: ./lus2lic {-o /tmp/uu.lic should_work/uu.lus}
 PASS: ./lus2lic {-ec -o /tmp/uu.ec should_work/uu.lus}
 PASS: ./ec2c {-o /tmp/uu.c /tmp/uu.ec}
@@ -784,7 +791,7 @@ PASS: ../utils/test_lus2lic_no_node should_work/pre_x.lus
 PASS: ./lus2lic {-o /tmp/ts01.lic should_work/ts01.lus}
 PASS: ./lus2lic {-ec -o /tmp/ts01.ec should_work/ts01.lus}
 PASS: ./ec2c {-o /tmp/ts01.c /tmp/ts01.ec}
-FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/ts01.lus
+PASS: ../utils/test_lus2lic_no_node should_work/ts01.lus
 PASS: ./lus2lic {-o /tmp/_N_uu.lic should_work/_N_uu.lus}
 PASS: ./lus2lic {-ec -o /tmp/_N_uu.ec should_work/_N_uu.lus}
 PASS: ./ec2c {-o /tmp/_N_uu.c /tmp/_N_uu.ec}
@@ -812,11 +819,11 @@ FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node shou
 PASS: ./lus2lic {-o /tmp/predef02.lic should_work/predef02.lus}
 PASS: ./lus2lic {-ec -o /tmp/predef02.ec should_work/predef02.lus}
 PASS: ./ec2c {-o /tmp/predef02.c /tmp/predef02.ec}
-FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/predef02.lus
+PASS: ../utils/test_lus2lic_no_node should_work/predef02.lus
 PASS: ./lus2lic {-o /tmp/toto.lic should_work/toto.lus}
 PASS: ./lus2lic {-ec -o /tmp/toto.ec should_work/toto.lus}
 PASS: ./ec2c {-o /tmp/toto.c /tmp/toto.ec}
-FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/toto.lus
+PASS: ../utils/test_lus2lic_no_node should_work/toto.lus
 PASS: ./lus2lic {-o /tmp/minmax6.lic should_work/minmax6.lus}
 PASS: ./lus2lic {-ec -o /tmp/minmax6.ec should_work/minmax6.lus}
 PASS: ./ec2c {-o /tmp/minmax6.c /tmp/minmax6.ec}
@@ -828,7 +835,7 @@ FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node shou
 PASS: ./lus2lic {-o /tmp/zzz.lic should_work/zzz.lus}
 PASS: ./lus2lic {-ec -o /tmp/zzz.ec should_work/zzz.lus}
 PASS: ./ec2c {-o /tmp/zzz.c /tmp/zzz.ec}
-FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/zzz.lus
+PASS: ../utils/test_lus2lic_no_node should_work/zzz.lus
 PASS: ./lus2lic {-o /tmp/STABLE.lic should_work/STABLE.lus}
 PASS: ./lus2lic {-ec -o /tmp/STABLE.ec should_work/STABLE.lus}
 PASS: ./ec2c {-o /tmp/STABLE.c /tmp/STABLE.ec}
@@ -840,7 +847,7 @@ FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node shou
 PASS: ./lus2lic {-o /tmp/tuple.lic should_work/tuple.lus}
 PASS: ./lus2lic {-ec -o /tmp/tuple.ec should_work/tuple.lus}
 PASS: ./ec2c {-o /tmp/tuple.c /tmp/tuple.ec}
-FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/tuple.lus
+PASS: ../utils/test_lus2lic_no_node should_work/tuple.lus
 PASS: ./lus2lic {-o /tmp/call02.lic should_work/call02.lus}
 PASS: ./lus2lic {-ec -o /tmp/call02.ec should_work/call02.lus}
 PASS: ./ec2c {-o /tmp/call02.c /tmp/call02.ec}
@@ -869,10 +876,6 @@ PASS: ./lus2lic {-o /tmp/flo.lic should_work/flo.lus}
 PASS: ./lus2lic {-ec -o /tmp/flo.ec should_work/flo.lus}
 PASS: ./ec2c {-o /tmp/flo.c /tmp/flo.ec}
 PASS: ../utils/test_lus2lic_no_node should_work/flo.lus
-PASS: ./lus2lic {-o /tmp/condact.lic should_work/condact.lus}
-PASS: ./lus2lic {-ec -o /tmp/condact.ec should_work/condact.lus}
-PASS: ./ec2c {-o /tmp/condact.c /tmp/condact.ec}
-FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/condact.lus
 PASS: ./lus2lic {-o /tmp/cond01.lic should_work/cond01.lus}
 PASS: ./lus2lic {-ec -o /tmp/cond01.ec should_work/cond01.lus}
 PASS: ./ec2c {-o /tmp/cond01.c /tmp/cond01.ec}
@@ -880,7 +883,7 @@ FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node shou
 PASS: ./lus2lic {-o /tmp/shiftFill_ludic.lic should_work/shiftFill_ludic.lus}
 PASS: ./lus2lic {-ec -o /tmp/shiftFill_ludic.ec should_work/shiftFill_ludic.lus}
 PASS: ./ec2c {-o /tmp/shiftFill_ludic.c /tmp/shiftFill_ludic.ec}
-FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/shiftFill_ludic.lus
+PASS: ../utils/test_lus2lic_no_node should_work/shiftFill_ludic.lus
 PASS: ./lus2lic {-o /tmp/after.lic should_work/after.lus}
 PASS: ./lus2lic {-ec -o /tmp/after.ec should_work/after.lus}
 PASS: ./ec2c {-o /tmp/after.c /tmp/after.ec}
@@ -949,10 +952,6 @@ PASS: ./lus2lic {-o /tmp/clock1_2ms.lic should_work/clock1_2ms.lus}
 PASS: ./lus2lic {-ec -o /tmp/clock1_2ms.ec should_work/clock1_2ms.lus}
 PASS: ./ec2c {-o /tmp/clock1_2ms.c /tmp/clock1_2ms.ec}
 FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/clock1_2ms.lus
-PASS: ./lus2lic {-o /tmp/merge.lic should_work/merge.lus}
-PASS: ./lus2lic {-ec -o /tmp/merge.ec should_work/merge.lus}
-PASS: ./ec2c {-o /tmp/merge.c /tmp/merge.ec}
-FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/merge.lus
 PASS: ./lus2lic {-o /tmp/decl.lic should_work/decl.lus}
 PASS: ./lus2lic {-ec -o /tmp/decl.ec should_work/decl.lus}
 PASS: ./ec2c {-o /tmp/decl.c /tmp/decl.ec}
@@ -976,7 +975,7 @@ FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node shou
 PASS: ./lus2lic {-o /tmp/func_with_body.lic should_work/func_with_body.lus}
 PASS: ./lus2lic {-ec -o /tmp/func_with_body.ec should_work/func_with_body.lus}
 PASS: ./ec2c {-o /tmp/func_with_body.c /tmp/func_with_body.ec}
-FAIL: Try to compare lus2lic -exec and ecexe: ../utils/test_lus2lic_no_node should_work/func_with_body.lus
+PASS: ../utils/test_lus2lic_no_node should_work/func_with_body.lus
 PASS: ./lus2lic {-o /tmp/minus.lic should_work/minus.lus}
 PASS: ./lus2lic {-ec -o /tmp/minus.ec should_work/minus.lus}
 PASS: ./ec2c {-o /tmp/minus.c /tmp/minus.ec}
@@ -1045,8 +1044,8 @@ XPASS: Test bad programs (semantics): lus2lic {-o /tmp/bug.lic should_fail/seman
 
 		=== lus2lic Summary ===
 
-# of expected passes		835
-# of unexpected failures	128
+# of expected passes		870
+# of unexpected failures	90
 # of unexpected successes	11
 # of expected failures		37
-# of unresolved testcases	22
+# of unresolved testcases	24
diff --git a/test/lus2lic.time b/test/lus2lic.time
index 765cf42b439725c552167ad0ea7bc0a2d33162bd..4774bdaf13e222d18e4d268e48d459f617c24f42 100644
--- a/test/lus2lic.time
+++ b/test/lus2lic.time
@@ -1,2 +1,2 @@
-testcase ./lus2lic.tests/non-reg.exp completed in 223 seconds
+testcase ./lus2lic.tests/non-reg.exp completed in 333 seconds
 testcase ./lus2lic.tests/progression.exp completed in 0 seconds
diff --git a/test/should_work/TIME_STABLE1.lus b/test/should_work/TIME_STABLE1.lus
index 5f5a57e49cc6d22373002e7df8a9efc2b517edb0..ab3b1fab903d75a9db6e68ba7ff9c26f5d1abde8 100644
--- a/test/should_work/TIME_STABLE1.lus
+++ b/test/should_work/TIME_STABLE1.lus
@@ -1,4 +1,6 @@
-node TIME1_STABLE1(set,second:bool; delay:int) returns (level:bool);
+
+
+node TIME_STABLE1(set,second:bool; delay:int) returns (level:bool);
 var count: int;
 let
   level = (count > 0);
diff --git a/test/should_work/aa.lus b/test/should_work/aa.lus
index 17346a32b1636b7bf920c1810cb6e9032ced6a67..226c4276f8946987a7c514928c57fe5eb7f0a1e5 100644
--- a/test/should_work/aa.lus
+++ b/test/should_work/aa.lus
@@ -8,7 +8,7 @@ let
    _acc1 = Lustre::plus(i1, i2_0);
 tel
 -- end of node n_node_alias
-node matrice2(a:int) returns (res:int);
+node aa(a:int) returns (res:int);
 var
    _acc1:int;
    _v1_0:int;
diff --git a/test/should_work/bred_lv4.lus b/test/should_work/bred_lv4.lus
index e00ea66a63457a936c8a46badc9f3c3984f39338..52414a82da43a797300fc4419aa917af0f4cc873 100644
--- a/test/should_work/bred_lv4.lus
+++ b/test/should_work/bred_lv4.lus
@@ -15,7 +15,7 @@ type T1_ARRAY = bool^2;
 -------------------------------------------- 
 -- operator definition 
 -------------------------------------------- 
-node bred(
+node bred_lv4(
  i_a : T1_ARRAY;
  ) returns ( 
  o_x : bool;
diff --git a/test/should_work/bug.lus b/test/should_work/bug.lus
index 0a8ae65a6f931b0a012d7825b4faea892b21f0d6..d9a8414c750ef450d40d08acea51bf85f7cc9b70 100644
--- a/test/should_work/bug.lus
+++ b/test/should_work/bug.lus
@@ -9,7 +9,7 @@ let
   o = x^3;
 tel
 
-node simple2(x:s) returns (o: s^3^2; i: int);
+node bug(x:s) returns (o: s^3^2; i: int);
 let 
   o[0] = simple(x);
   o[1] = simple(x);
diff --git a/test/should_work/bug2.lus b/test/should_work/bug2.lus
index 18cb2a062bf65876e0ca8cd5fb058ca607d99f0a..dd95754fdd9ac47696fe19f54ebd3f0ff4709f88 100644
--- a/test/should_work/bug2.lus
+++ b/test/should_work/bug2.lus
@@ -5,7 +5,7 @@
 
 type s =  { f1: int ; f2: int^2 };
 
-node simple(x:s) returns (i: s^2);
+node bug2(x:s) returns (i: s^2);
 let 
 
   i = s { f1 = 42; f2 = [5, 6] } ^ 2;
diff --git a/test/should_work/clock_ite.lus b/test/should_work/clock_ite.lus
index 9ddc3bf3b43eca295c7a6b64475dc7acdc69513c..cb7c16a3f59a06fd2433ccc5f5ab86660a35eb94 100644
--- a/test/should_work/clock_ite.lus
+++ b/test/should_work/clock_ite.lus
@@ -1,6 +1,6 @@
 
 
-node clock(a: bool; b: bool) returns (c: bool when a);
+node clock_ite(a: bool; b: bool) returns (c: bool when a);
 -- var
 --  z: bool;
 
diff --git a/test/should_work/cond01.lus b/test/should_work/cond01.lus
index 81e2ba3d6737b9c7ffa5ef2e9e856a9f60a63334..a9c354882414a566a7132e193d613b5b7b9dc267 100644
--- a/test/should_work/cond01.lus
+++ b/test/should_work/cond01.lus
@@ -1,6 +1,6 @@
 
 
-node main(c: bool; x,y:int) returns (o: int);
+node cond01(c: bool; x,y:int) returns (o: int);
 let
 	o = condact<<+,0>>(c,x,y);
 tel
diff --git a/test/should_work/consensus.lus b/test/should_work/consensus.lus
index 792cc7325c9aaf9990ff11bdb9e73375e1eec421..488388adfb3f003f39cc54148c54737bdd57a865 100644
--- a/test/should_work/consensus.lus
+++ b/test/should_work/consensus.lus
@@ -17,13 +17,14 @@ let
 	a = T[0] and consensus<<n-1>>(T[1..n-1]);
 tel
 *)
-node consensus<<const n : int>>(T: bool^n) returns (a: bool); 
+node consensus_gen<<const n : int>>(T: bool^n) returns (a: bool); 
 let
 	a = with (n = 1)
 		then T[0]
-		else T[0] and consensus << n-1 >> (T[1 .. n-1]);
+		else T[0] and consensus_gen << n-1 >> (T[1 .. n-1]);
 tel
 
+node consensus = consensus_gen<<8>>
 (*
 node consensus(T: bool list) returns (a: bool); 
 let
@@ -32,7 +33,7 @@ let
 tel
 *)
 
-node c8 = consensus<<8>>;
+node c8 = consensus_gen<<8>>;
 
 
 
@@ -40,7 +41,7 @@ node c8 = consensus<<8>>;
 
 node main (T : bool^4) returns (c : bool);
 let
-	c = consensus<<4>>(T);
+	c = consensus_gen<<4>>(T);
 tel
 
-node main2 = consensus<<10>>;
+node main2 = consensus_gen<<10>>;
diff --git a/test/should_work/contractForElementSelectionInArray.lus b/test/should_work/contractForElementSelectionInArray.lus
index fd16e1c63761cc6f5a698b6ad8051d802feecb1d..dbeaa99bc21518a68b07d9ba8c05eab751e04cd9 100644
--- a/test/should_work/contractForElementSelectionInArray.lus
+++ b/test/should_work/contractForElementSelectionInArray.lus
@@ -33,3 +33,5 @@ let
                                      else acc_in.elementSelected
                    };
 tel
+
+node contractForElementSelectionInArray = selectOneStage
\ No newline at end of file
diff --git a/test/should_work/cst.lus b/test/should_work/cst.lus
index 502580f81f743bebba3e8b9e567d64feccf58e88..ec91c615bbadd7d6d6f2ccdf9f851963ae66281b 100644
--- a/test/should_work/cst.lus
+++ b/test/should_work/cst.lus
@@ -1,4 +1,6 @@
-const i, j, k: int;
+const i=3;
+const j=3;
+const k=3;
 
 node cst(x:int) returns (y:int);
 var z,t: int;
diff --git a/test/should_work/ec.lus b/test/should_work/ec.lus
index 005f7fd30a805240b44e5bbb31d0ee2f9a1fdb7d..3407da374c74aba65fd32db1a41194b1ae963791 100644
--- a/test/should_work/ec.lus
+++ b/test/should_work/ec.lus
@@ -1,5 +1,5 @@
 
-node left__toto(
+node ec(
 	x:bool) 
 returns (
 	t_0_a_0:bool;
diff --git a/test/should_work/fresh_name.lus b/test/should_work/fresh_name.lus
index 6cfee3039817b94e1d0875af4a00d611515ed8e8..81429c396308687be63ef92dab65b22716d1fd6a 100644
--- a/test/should_work/fresh_name.lus
+++ b/test/should_work/fresh_name.lus
@@ -9,8 +9,7 @@ let
 	n1s = (n1b1 or n1b2);				
 tel
 
-
-node fn (b:bool) returns (res:bool);
+node fresh_name (b:bool) returns (res:bool);
 var _n1e1_1:bool;
 let
   _n1e1_1 = not b;
diff --git a/test/should_work/func_with_body.lus b/test/should_work/func_with_body.lus
index 074d0a086b5c8a848b8ad15ddedf3dcb9772f6f3..ea48b126d736abd3d1651655edf64ee7f53b8f53 100644
--- a/test/should_work/func_with_body.lus
+++ b/test/should_work/func_with_body.lus
@@ -1,5 +1,5 @@
 -- an intern function
-function trivial(x : int) returns (y : int);
+function func_with_body(x : int) returns (y : int);
 let
 	y = 1;
 tel
@@ -8,5 +8,3 @@ tel
 -- and an extern node
 extern node ext(x : int) returns (y : int);
 
-
-
diff --git a/test/should_work/impl_priority.lus b/test/should_work/impl_priority.lus
index fffbc748c71736ed91634e87e65310182b2f7f10..419204627b67f6f1ed7b646975d45c0bc849f1f5 100644
--- a/test/should_work/impl_priority.lus
+++ b/test/should_work/impl_priority.lus
@@ -1,4 +1,5 @@
-node test_impl_prio(x: int) returns (ok: bool)
+
+node impl_priority(x: int) returns (ok: bool)
 let
   ok = x=1 => true;
 tel
diff --git a/test/should_work/is_stable.lus b/test/should_work/is_stable.lus
index fb2b77e91ec799e49bdfcd60f90b06b749ac7785..56b7b1e0c3e33681e47a3b4b46d56a985ee84eb0 100644
--- a/test/should_work/is_stable.lus
+++ b/test/should_work/is_stable.lus
@@ -88,4 +88,6 @@ let
 tel
 
 node maxr=max<<real>>;
-node minr=min<<real>>;
\ No newline at end of file
+node minr=min<<real>>;
+
+node is_stable = is_d_stable<<5, 0.1>>
\ No newline at end of file
diff --git a/test/should_work/left.lus b/test/should_work/left.lus
index d9735332f77c95c7d742f94569141e55553a8c11..a498f2e7806fb78b0a435bfaa7e43d94357ec2bb 100644
--- a/test/should_work/left.lus
+++ b/test/should_work/left.lus
@@ -5,7 +5,7 @@ type truc = struct {
 };
 
 
-node toto(x : bool) returns (t : truc^3);
+node left(x : bool) returns (t : truc^3);
 let
         t[0].a[0..98 step 2][48..0 step -2] = true^25;	
 --      t[0].a[0..98 step 2][0..48 step 2] = true^25;	
diff --git a/test/should_work/map.lus b/test/should_work/map.lus
index 2b5b772b34e0784c354b63e32101e53fdc160945..001d35e41787e33c3ceafd8f0509006cf93d6199 100644
--- a/test/should_work/map.lus
+++ b/test/should_work/map.lus
@@ -12,7 +12,7 @@ let
 	(* o = titi<<int>>(x,y); *)
 tel
 
-node tutu(x,y: real^4) returns (o: real^4);
+node map(x,y: real^4) returns (o: real^4);
 let
 	o = titi<<real>>(x,y);
 tel
diff --git a/test/should_work/multipar.lus b/test/should_work/multipar.lus
index 4438119962064e1cc3f48caa899754b59a25d1f5..340343ca752086e545c7dbe6a9197ff4552c05e8 100644
--- a/test/should_work/multipar.lus
+++ b/test/should_work/multipar.lus
@@ -4,7 +4,7 @@
 
 node gup(x: int) returns (y:int);
 let
-   y = 2 * sil<< lis_bok >>(x);
+   y = 2 * sil<< multipar >>(x);
 tel
 
 node bok(x:int)returns(y:int);
@@ -22,6 +22,4 @@ let
    y = x * g(x);
 tel
 
-node lis_bok = lis <<bok>>;
-
-
+node multipar = lis <<bok>>;
diff --git a/test/should_work/nested.lus b/test/should_work/nested.lus
index aa13a71fbffa2913fc5ab484757b914048efcd0f..b48bfb8a26e7c3ea3d82404439d1dde58a584e34 100644
--- a/test/should_work/nested.lus
+++ b/test/should_work/nested.lus
@@ -4,4 +4,4 @@ let
   y=x+1;
 tel;
 
-node toto = map<<map<<map<<incr, 3>>,  5>>, 42>>;
\ No newline at end of file
+node nested = map<<map<<map<<incr, 3>>,  5>>, 42>>;
\ No newline at end of file
diff --git a/test/should_work/noeudsIndependants.lus b/test/should_work/noeudsIndependants.lus
index f188865c21e8996205b782a64a830c26f6832d93..598a294ecf2e99dd4481650566c4ef218064b9ba 100644
--- a/test/should_work/noeudsIndependants.lus
+++ b/test/should_work/noeudsIndependants.lus
@@ -8,3 +8,5 @@ node gt(a, b : int) returns (r : bool);
 let
   r = a > b;
 tel
+
+node noeudsIndependants = gt
\ No newline at end of file
diff --git a/test/should_work/over2.lus b/test/should_work/over2.lus
index c80faf870c9683c716ea0c5e4c19ab881d40cae6..24211918a616a04f14f5f7ef115a091600683664 100644
--- a/test/should_work/over2.lus
+++ b/test/should_work/over2.lus
@@ -17,12 +17,12 @@ node tutu(x,y: real^4) returns (o: real^4);
 let o = overplus(x,y); tel
 *)
 
-node tata(x,y: int^13^22) returns (o: int^13^22);
+node over2(x,y: int^13^22) returns (o: int^13^22);
 let o = map<<
 				map<<+,13>>,
 			22>>(x,y); tel
 
 (*
-node bibi(x,y: int^55) returns (o: int^55);
+node over2(x,y: int^55) returns (o: int^55);
 let o = map<<+,55>>(x,y); tel
 *)
diff --git a/test/should_work/over3.lus b/test/should_work/over3.lus
index 6ee7a0011ef4f13825f0952b1e652819aafa3402..d5c599f19c41afd93d9ecf5a1e922f4ca4fa85eb 100644
--- a/test/should_work/over3.lus
+++ b/test/should_work/over3.lus
@@ -6,4 +6,4 @@ let
    z = map<<+, n>>(x,y);
 tel
 
-node mygrossier=mypoly<<42, int, Lustre::iminus>>;
\ No newline at end of file
+node over3=mypoly<<42, int, Lustre::iminus>>;
\ No newline at end of file
diff --git a/test/should_work/param_node2.lus b/test/should_work/param_node2.lus
index a462f00c9b6ec95696f84a2ecabc8a23eb42179b..5c861f34594fcf5710c47a5b00978b277c7dbe4e 100644
--- a/test/should_work/param_node2.lus
+++ b/test/should_work/param_node2.lus
@@ -5,4 +5,4 @@ let
   res =  init ^ size;
 tel ---
 node tab_int3 = mk_tab<<int, 0, 3>>; ---
-node tab_bool4 = mk_tab<<bool, true, 4>>;
+node should_work = mk_tab<<bool, true, 4>>;
diff --git a/test/should_work/param_node3.lus b/test/should_work/param_node3.lus
index b113f7fa7517ff28f496ca28502d031138ce9b73..2d252861e786f69fbecb7a00b071b295db7fcb13 100644
--- a/test/should_work/param_node3.lus
+++ b/test/should_work/param_node3.lus
@@ -14,4 +14,4 @@ let
   res = mk_tab<<t, 0, 3>>(a);
 tel
 
-node xxx = titi<<int>>
\ No newline at end of file
+node param_node3 = titi<<int>>
\ No newline at end of file
diff --git a/test/should_work/param_node4.lus b/test/should_work/param_node4.lus
index fef62feed4d9f0730d942aafd68c1066199c37fd..59b85b3ec539ff35d28db65876d86886284e5d7e 100644
--- a/test/should_work/param_node4.lus
+++ b/test/should_work/param_node4.lus
@@ -10,4 +10,4 @@ let
 tel ---
 
 node monplus = Lustre::iplus;
-node toto_3 = toto_n<<monplus, 3>>;
+node param_node4 = toto_n<<monplus, 4>>;
diff --git a/test/should_work/param_struct.lus b/test/should_work/param_struct.lus
index 5f47f33b01383c0b4cce3b761d67bc75f7c6db24..656f4e677f719ebc8598c526a787ea11cb01a827 100644
--- a/test/should_work/param_struct.lus
+++ b/test/should_work/param_struct.lus
@@ -8,4 +8,4 @@ tel
 type toto = struct  {a : int; b : int};
 const c = toto {a = 1; b=1 };
 
-node tab_toto = mk_tab<<toto, c, 3>>;
+node param_struct = mk_tab<<toto, c, 3>>;
diff --git a/test/should_work/ply01.lus b/test/should_work/ply01.lus
index f0fc303becd5149449ffb8053faa388d0b21f64b..5457351bff2353f1d7d8f26c2d9ac41a3723ed58 100644
--- a/test/should_work/ply01.lus
+++ b/test/should_work/ply01.lus
@@ -6,4 +6,4 @@ node truc = map<<+,42>>;
 node trac = map<<Lustre::iplus,42>>;
  
 (* ne passe pas DoNotPoly ... *)
-node main = truc;
+node ply01 = truc;
diff --git a/test/should_work/ply02.lus b/test/should_work/ply02.lus
index 74cb4dba69ab0f319e2062e70c8ad206418668ca..029f1fd8cdc20648b2044b138606944c76dba45d 100644
--- a/test/should_work/ply02.lus
+++ b/test/should_work/ply02.lus
@@ -3,7 +3,7 @@
 node truc = map<<+,42>>;
 
 (* PASSE DoNotPoly en spécialisant truc ! ... *)
-node main(x,y: int) returns (o: int^42);
+node ply02(x,y: int) returns (o: int^42);
 let
 	o = if (x < y) then 0^42 else truc(x^42, y^42);
 tel
diff --git a/test/should_work/ply03.lus b/test/should_work/ply03.lus
index 57f13fb7a563993f6234f1ba3618b992dc8fc656..6c32f80fa11ce8265dbc068af4c51d61803d16f5 100644
--- a/test/should_work/ply03.lus
+++ b/test/should_work/ply03.lus
@@ -1,5 +1,5 @@
 
-node main(x,y: int) returns (o: int^42);
+node ply03(x,y: int) returns (o: int^42);
 let
 	o = if (x < y) then 0^42 else map<<+,42>>(x^42, y^42);
 tel
diff --git a/test/should_work/predef01.lus b/test/should_work/predef01.lus
index ff456acaeab74be76250bde531b19723cb835c41..bd66a1574cf546de600280235ca90ac3217cd7ad 100644
--- a/test/should_work/predef01.lus
+++ b/test/should_work/predef01.lus
@@ -1,7 +1,6 @@
 
 
-
-node main(x,y: bool^42) returns (o: bool^42);
+node predef01(x,y: bool^42) returns (o: bool^42);
 let
 	o = map<<or, 42>>(x,y);
 tel
diff --git a/test/should_work/predef02.lus b/test/should_work/predef02.lus
index 5f5822e9f90e0fc9e9d3e2eebea7f024194569b2..e00a3a170a7e557b77dfb8a0448b67496f077add 100644
--- a/test/should_work/predef02.lus
+++ b/test/should_work/predef02.lus
@@ -1,7 +1,7 @@
 
 
 
-node main(x: bool^42) returns (o: bool);
+node predef02(x: bool^42) returns (o: bool);
 let
 	o = red<<or, 42>>(false,x);
 tel
diff --git a/test/should_work/predef03.lus b/test/should_work/predef03.lus
index c9e9dcac95e3973048686871023c9a070cea8b5d..c567a7d3d5ac2dd3bfd034d59d58728a4c95e5ab 100644
--- a/test/should_work/predef03.lus
+++ b/test/should_work/predef03.lus
@@ -1,7 +1,7 @@
 
 
 
-node main(x: bool^13) returns (o: bool);
+node predef03(x: bool^13) returns (o: bool);
 let
 	o = boolred<<1,2,13>>(x);
 tel
diff --git a/test/should_work/shiftFill_ludic.lus b/test/should_work/shiftFill_ludic.lus
index 07c428a2fae376f790e00e375c4c0fea7e51ab05..a7f7212eea6665ebb017be080fb9da5b773e6569 100644
--- a/test/should_work/shiftFill_ludic.lus
+++ b/test/should_work/shiftFill_ludic.lus
@@ -55,4 +55,4 @@ let
 		      then  n_selectElementOfRank_inArray_(i_acc_in.actual_rank, i_acc_in.multiplieur) 
 		      else  false );
 tel
-
+node shiftFill_ludic = n_shiftFill
diff --git a/test/should_work/shift_ludic.lus b/test/should_work/shift_ludic.lus
index 3393e232d62f5e7e2074624c81f1f0c3e4be33bf..50ac63af823527e74022dbb6c8d580f20a4dfe10 100644
--- a/test/should_work/shift_ludic.lus
+++ b/test/should_work/shift_ludic.lus
@@ -57,7 +57,7 @@ let
 		      else  false );
 tel
 
-node n_shift(
+node shift_ludic(
  i_acc_in : T5_STRUCT;
  ) returns ( 
  o_ligne : T3_ARRAY;
diff --git a/test/should_work/struct0.lus b/test/should_work/struct0.lus
index d8e114ce3ae9a59d73f3a43bcc847e98a0dc1d73..d8bdc2884be6a1b659e0a42de7a42e4f09c5ac5d 100644
--- a/test/should_work/struct0.lus
+++ b/test/should_work/struct0.lus
@@ -3,7 +3,7 @@ type Toto = struct {
 	y : int = 2
 }; 
 
-node bibi (dummy : int) returns (z : Toto);
+node struct0 (dummy : int) returns (z : Toto);
 let
 	z = Toto { x = 3 };
 tel
diff --git a/test/should_work/struct_with.lus b/test/should_work/struct_with.lus
index cfbf83dfddfe12f85a749a0335cb8ab22654aab9..fcb4351cc89a09a0a1696007c23f7ad6b6c37a72 100644
--- a/test/should_work/struct_with.lus
+++ b/test/should_work/struct_with.lus
@@ -11,3 +11,5 @@ node plus_im_1 (b : complex) returns (c : complex);
 let
   c = complex { b with  im = 1.0+b.im };
 tel
+
+node struct_with = plus_im_1
\ No newline at end of file
diff --git a/test/should_work/t1.lus b/test/should_work/t1.lus
index 3baa87ecca6d5344a13dce38ed3d047afc4a4199..78359300e80bf3fbacd353f9d9a1b65cca592642 100644
--- a/test/should_work/t1.lus
+++ b/test/should_work/t1.lus
@@ -26,7 +26,7 @@ node fold_left <<
 	c : t1
 );
 let
-	c = with (n = 0) then a
+	c = with (n = 1) then a
 	    else
 	       fold_left << t1, t2, n-1, treat >> (
 				treat(a, X[0]),
@@ -41,7 +41,8 @@ tel
 
 (* devrait marcher ? *)
 node bt_void_bis<<const n: int>>(t : bool^n) returns (o: bool) = 
-  fold_left<<Lustre::or>>;
+  fold_left<<bool,bool,n,Lustre::or>>;
 
+node t1 = bt_void_bis<<8>>
 
 (* node bt_void(t : bool array) = fold<<operator or>>(false, t); *)
diff --git a/test/should_work/condact.lus b/test/should_work/test_condact.lus
similarity index 81%
rename from test/should_work/condact.lus
rename to test/should_work/test_condact.lus
index 72a9574245107ca5c6ff5b83f53d61b097837179..8578352ff3322b764951723d0d9f351d67382e75 100644
--- a/test/should_work/condact.lus
+++ b/test/should_work/test_condact.lus
@@ -6,7 +6,7 @@ let
 	z = x fby z + a;
 tel
 
-node titi(c: bool; a,b:int) returns (x,y,z: int);
+node test_condact(c: bool; a,b:int) returns (x,y,z: int);
 let
 	(x, y, z) = condact<<toto, (11, 42, 12)>>(c, a, b);
 
diff --git a/test/should_work/test_const.lus b/test/should_work/test_const.lus
index b9ddd50e34ca643172035a7164f5e529fdc9882d..0fa63935a03de29a8c7ce9f55ea673868f5e425a 100644
--- a/test/should_work/test_const.lus
+++ b/test/should_work/test_const.lus
@@ -19,3 +19,4 @@ let
    BINARY_INPUTS_PACQ_DIV_I = PAS_DE_COMMANDE_PACQbis;
 
 tel
+node test_const = TDF_sans_PACQ
\ No newline at end of file
diff --git a/test/should_work/enum.lus b/test/should_work/test_enum.lus
similarity index 81%
rename from test/should_work/enum.lus
rename to test/should_work/test_enum.lus
index cc2bfe5d06a17d0e29265c61ed00b605d8acabef..9078a039269d0c81161bf4a452a0d008fec92230 100644
--- a/test/should_work/enum.lus
+++ b/test/should_work/test_enum.lus
@@ -6,7 +6,7 @@ type
     color   = enum {blue, white, redd};
 
 
-node boo(e: int) returns (c: couleur;  c2: color);
+node test_enum(e: int) returns (c: couleur;  c2: color);
 let
   c = if e = 0 then bleu else if e = 1 then blanc else rouge;
   c2 = if e = 0 then blue else if e = 1 then white else redd;
diff --git a/test/should_work/merge.lus b/test/should_work/test_merge.lus
similarity index 94%
rename from test/should_work/merge.lus
rename to test/should_work/test_merge.lus
index cfb377e283858b8c09b17c4c5d6a53bcc97bb18e..9c7d0a167cfd2f4da5ea36117684605cd985c048 100644
--- a/test/should_work/merge.lus
+++ b/test/should_work/test_merge.lus
@@ -1,5 +1,5 @@
 type piece = enum { Pile, Face, Tranche }; ---
-node merge_node(clk: piece; ---
+node test_merge(clk: piece; ---
    i1 : int when Pile(clk) ; 
    i2 : int when Face(clk); 
    i3 : int when Tranche(clk)) 
diff --git a/test/should_work/test_node_expand.lus b/test/should_work/test_node_expand.lus
index b053ebef5fc93e7771c7830820d1f0fb4f43d9fc..93384a10f64cb54fa28c75ac2432dd424b5cec3e 100644
--- a/test/should_work/test_node_expand.lus
+++ b/test/should_work/test_node_expand.lus
@@ -11,8 +11,7 @@ let
 tel
 
 
-node test(i1, i2: int) returns (o1, o2: int);
+node test_node_expand(i1, i2: int) returns (o1, o2: int);
 let
   o1,o2 = n(i1, i2);
 tel
-
diff --git a/test/should_work/test_node_expand2.lus b/test/should_work/test_node_expand2.lus
index 57393eec5a509da70fe5098237c949acc876dcd1..e2d481223c5cf85bd73eb15ccab3ad2945424ec3 100644
--- a/test/should_work/test_node_expand2.lus
+++ b/test/should_work/test_node_expand2.lus
@@ -8,7 +8,7 @@ let
   v2 = x*y;
   a = v1*x;
   b = v2*y;
-  assert(x>v1+a);
+--  assert(x>v1+a);
 tel
 
 node f(i: int) returns (o: int);
@@ -16,9 +16,8 @@ let
   o = i+1;
 tel
 
-node test(i: int^2) returns (o1, o2: int);
+node test_node_expand2(i: int^2) returns (o1, o2: int);
 let
   o1,o2 = n(i[0], f(f(i[1])+i[0]));
-  assert(i[1]<=o1+o2);
+--  assert(i[1]<=o1+o2);
 tel
-
diff --git a/test/should_work/struct.lus b/test/should_work/test_struct.lus
similarity index 68%
rename from test/should_work/struct.lus
rename to test/should_work/test_struct.lus
index c221174d12e37e653f54dd2c5aa98e8c22de6a15..64c36035d48a2f5d03ec47ef1d86d885502b1359 100644
--- a/test/should_work/struct.lus
+++ b/test/should_work/test_struct.lus
@@ -3,7 +3,7 @@ type complex = struct {
 	im : real = 0.
 }; ---
 
-node plus (a, b : complex) returns (c : complex);
+node test_struct (a, b : complex) returns (c : complex);
 let
   c = complex { re = a.re+b.re ; im = a.im+b.im };
 tel
diff --git a/test/should_work/toto.lus b/test/should_work/toto.lus
index d15b085ce52713bab34e79a892c813ad2d5c9185..36481ac693b2348cf3ab8ffea4f04511a75e1a5e 100644
--- a/test/should_work/toto.lus
+++ b/test/should_work/toto.lus
@@ -16,7 +16,7 @@ tel
 -- 	t[1..2] = (truc { a = true^100; b = 0 })^2;
 
 
-node simple2(x:s) returns (
+node toto(x:s) returns (
                            o: s^3^2; 
                            i: s^2);
 let 
diff --git a/test/should_work/tri.lus b/test/should_work/tri.lus
index 60985893fd08129106225c04d90564ba7aa58e48..810407f2927a9a8ea99f0ce5f7f2b984645ce3c3 100644
--- a/test/should_work/tri.lus
+++ b/test/should_work/tri.lus
@@ -172,7 +172,7 @@ tel
 
 
 -- the main node gets an array TIn as inputs and give the corresponding sorted array Ttrie
-node main(TIn : int^size) returns (TSorted : int^size); 
+node tri(TIn : int^size) returns (TSorted : int^size); 
 var 
 	UnarySort_accu_out : Sort_accu;
 let
@@ -212,7 +212,7 @@ node Sorted(TIn :  int^size)
 var accu_out : sorted_iter_accu;
     TSorted :  int^size;
 let
-  TSorted = main(TIn);
+  TSorted = tri(TIn);
   accu_out = red<<sorted_iter,size>>(sorted_iter_accu{prev_elt = 0; prop_is_tt = true}, TSorted);
   res = accu_out.prop_is_tt;
 tel
diff --git a/test/should_work/ts01.lus b/test/should_work/ts01.lus
index c1c07f8c04f0b34572c98a243b214fb666495af6..45f6f47355840f01f5913afeff275bc085212e1f 100644
--- a/test/should_work/ts01.lus
+++ b/test/should_work/ts01.lus
@@ -6,4 +6,4 @@ let
    y = i + x;
 tel
 
-node main = ma_macro<<32>>;
+node ts01 = ma_macro<<32>>;
diff --git a/test/should_work/ts04.lus b/test/should_work/ts04.lus
index c1c07f8c04f0b34572c98a243b214fb666495af6..4a14bda935b5896d3afdf6ba75094892cf5255bb 100644
--- a/test/should_work/ts04.lus
+++ b/test/should_work/ts04.lus
@@ -5,5 +5,4 @@ node ma_macro<<const i : int>>(x: int) returns (y: int);
 let
    y = i + x;
 tel
-
-node main = ma_macro<<32>>;
+node ts04 = ma_macro<<32>>;
diff --git a/test/should_work/tuple.lus b/test/should_work/tuple.lus
index dcf528d0bec07cd94e069e65b823921f41cc61b2..1bdb672c001b7049e78d62e7a6da1017dae75b70 100644
--- a/test/should_work/tuple.lus
+++ b/test/should_work/tuple.lus
@@ -1,4 +1,4 @@
-node toto (x: int) returns (a, b, c: int);
+node tuple (x: int) returns (a, b, c: int);
 
 let
   (a, b, c) =  if true then ((x, x), x) else (x, (x, x));
diff --git a/test/should_work/type_decl.lus b/test/should_work/type_decl.lus
index 2a67438d483646d18605a8a22dded88201f6f59b..8f2ad58633a1e1591bc9b0315d55babf07665306 100644
--- a/test/should_work/type_decl.lus
+++ b/test/should_work/type_decl.lus
@@ -2,7 +2,7 @@ type alias = int;
 type pair = struct { a:int; b:int };
 type color = enum { blue, white, black };
 
-node x(i1, i2: int) returns (x: pair);
+node type_decl(i1, i2: int) returns (x: pair);
 let
   x= pair {a=i1; b=i2};
 tel
\ No newline at end of file
diff --git a/test/should_work/xx.lus b/test/should_work/xx.lus
index aecd3b9dc97b9e75fc189e268af5a6fc71ac6332..1ea553df04a58c9c20e1c6548f95cfdc427cc603 100644
--- a/test/should_work/xx.lus
+++ b/test/should_work/xx.lus
@@ -1,4 +1,4 @@
-node matrice2__n_node_alias(i1:int; i2:A_int_2) returns (o:int);
+node xx(i1:int; i2:A_int_2) returns (o:int);
 let
    o = Lustre::red<<Lustre::plus, 2>>(i1, i2);
 tel
diff --git a/test/should_work/xxx.lus b/test/should_work/xxx.lus
index 833b909ed76c9119869fb1399d5571631c525ce0..66616158769c6e905791bc2ee751f6a8e0d13b27 100644
--- a/test/should_work/xxx.lus
+++ b/test/should_work/xxx.lus
@@ -1,5 +1,5 @@
 
-node matrice2 ( a : int ) returns ( res : int );
+node xxx ( a : int ) returns ( res : int );
 let 
 --	res = red <<red <<red <<iplus, 2 >>, 2>>, 2>> (0, 1^2^2^2 ); 
 	res = red <<red <<+, 2 >>, 2>> (0, 1^2^2 ); 
diff --git a/test/should_work/yyy.lus b/test/should_work/yyy.lus
index f95e5e0465ea6b5ab0ddfd1c7f503847ed328e61..da36177c8f769ec34b78539c0d8f5def9455c876 100644
--- a/test/should_work/yyy.lus
+++ b/test/should_work/yyy.lus
@@ -1,2 +1,2 @@
 
- node alias = red<< iplus, 2>>
+node yyy = red<< iplus, 2>>
diff --git a/test/should_work/zzz.lus b/test/should_work/zzz.lus
index 6934cee0b61ef8f425b8a33bdc93ab13c07df77a..99b35310fc9a425ea2a79e37030753c734002df2 100644
--- a/test/should_work/zzz.lus
+++ b/test/should_work/zzz.lus
@@ -1,5 +1,5 @@
 type A_int_2 = int^2;
-node matrice2__n_node_alias(i1:int; i2:A_int_2) returns (o:int);
+node zzz(i1:int; i2:A_int_2) returns (o:int);
 var
    _acc1:int;
 let
diff --git a/test/should_work/zzz2.lus b/test/should_work/zzz2.lus
index 78c9b2ea9f0a869858cfc2ff006cbb1b35fcc01d..5cbf14272ae7db05b81b0e499bcd96926fb0b2d5 100644
--- a/test/should_work/zzz2.lus
+++ b/test/should_work/zzz2.lus
@@ -1,5 +1,5 @@
 type A_int_2 = int^2;
-node matrice2__n_node_alias(i1:int; i2:A_int_2) returns (o:int);
+node zzz2(i1:int; i2:A_int_2) returns (o:int);
 var
    _acc1:int;
    _v1:int;
diff --git a/todo.org b/todo.org
index 793e539de83647c346f736f8ad2137a502fadca9..5e5fc8db67d1ead71f7171ad72b55f6f1c58e09f 100644
--- a/todo.org
+++ b/todo.org
@@ -3,6 +3,107 @@
 
 * lus2lic -exec
 
+** TODO assert violation  ~/lus2lic/src/socExecValue.ml::239
+   - State "TODO"       from ""           [2013-05-10 Fri 17:38]
+ ../utils/test_lus2lic_no_node should_work/X3.lus
+
+** TODO assert violation  ~/lus2lic/src/socExecValue.ml::267
+   - State "TODO"       from ""           [2013-05-10 Fri 17:38]
+ ../utils/test_lus2lic_no_node should_work/is_stable.lus
+../utils/test_lus2lic_no_node should_work/arrays.lus
+
+
+** oops: lus2lic internal error
+	File "objlinux/lic2soc.ml", line 648, column 14
+
+./lus2lic should_work/noeudsIndependants.lus -n noeudsIndependants --gen-autotest -np
+../utils/test_lus2lic_no_node should_work/ply01.lus
+
+** TODO oops: lus2lic internal error
+   - State "TODO"       from ""           [2013-05-10 Fri 17:46]
+	File "objlinux/lic2soc.ml", line 680, column 18
+ when compiling lustre program should_work/morel3.lus
+
+** TODO oops: lus2lic internal error
+   - State "TODO"       from ""           [2013-05-10 Fri 18:05]
+	File "objlinux/lic2soc.ml", line 680, column 18
+ when compiling lustre program should_work/left.lus
+
+** TODO oops: lus2lic internal error
+   - State "TODO"       from ""           [2013-05-13 Mon 08:11]
+	File "objlinux/lic2soc.ml", line 870, column 14
+ when compiling lustre program should_work/decl.lus
+
+../utils/test_lus2lic_no_node should_work/decl.lus
+
+** oops: lus2lic internal error
+	File "objlinux/socExec.ml", line 202, column 22
+ when compiling lustre program should_work/simple.lus
+
+../utils/test_lus2lic_no_node should_work/simple.lus
+
+
+** pb gen-autotest
+../utils/test_lus2lic_no_node should_work/plus.lus
+ + ./lus2lic _plus_oracle.lus -n plus_oracle -lv4 -eei -en --no-prefix -o lv4_plus_oracle.lus
+
+ Error in file "/home/jahier/lus2lic/test/_plus_oracle.lus", line 6, col 28 to 28, token '=':
+ tuple size error: 
+ the tuple size is
+	4 for the left-hand-side, and 
+	1 for the right-hand-side (in c_bis,d_bis,e_bis,f_bis = a + b)
+
+et aussi :
+../utils/test_lus2lic_no_node should_work/bred.lus
+../utils/test_lus2lic_no_node should_work/alias.lus
+../utils/test_lus2lic_no_node should_work/bred_lv4.lus
+../utils/test_lus2lic_no_node should_work/minus.lus
+
+
+** TODO Lurette trouve un mismatch sur ce prog au step 0
+   - State "TODO"       from ""           [2013-05-10 Fri 17:08]
+../utils/test_lus2lic_no_node should_work/exclusion.lus
+../utils/test_lus2lic_no_node should_work/mapdeRed.lus
+../utils/test_lus2lic_no_node should_work/matrice.lus
+ ../utils/test_lus2lic_no_node should_work/over2.lus
+../utils/test_lus2lic_no_node should_work/mapiter.lus
+
+** TODO Lurette trouve un mismatch sur ce prog au step 1
+   - State "TODO"       from ""           [2013-05-10 Fri 17:08]
+
+../utils/test_lus2lic_no_node should_work/pipeline.lus
+
+** TODO Lurette trouve un mismatch sur ce prog au step 2
+   - State "TODO"       from ""           [2013-05-10 Fri 17:08]
+../utils/test_lus2lic_no_node should_work/X2.lus
+../utils/test_lus2lic_no_node should_work/cond01.lus
+
+** TODO Lurette trouve un mismatch sur ce prog au step 7
+   - State "TODO"       from ""           [2013-05-10 Fri 17:08]
+
+ ../utils/test_lus2lic_no_node should_work/call07.lus
+
+** TODO Lurette trouve un mismatch sur ce prog au step 6
+   - State "TODO"       from ""           [2013-05-10 Fri 17:08]
+
+file:test/should_work/deSimone.lus 
+
+../utils/test_lus2lic_no_node should_work/deSimone.lus
+
+** TODO Lurette trouve un mismatch sur ce prog au step 0
+   - State "TODO"       from ""           [2013-05-10 Fri 17:08]
+file:test/should_work/predefOp.lus
+../utils/test_lus2lic_no_node should_work/predefOp.lus
+
+** TODO Lurette trouve un mismatch sur ce prog au step 2
+   - State "TODO"       from ""           [2013-05-10 Fri 17:08]
+../utils/test_lus2lic_no_node should_work/test.lus
+
+** TODO internal error
+   - State "TODO"       from ""           [2013-05-10 Fri 17:19]
+	File "objlinux/unifyType.ml", line 106, column 3
+ ../utils/test_lus2lic_no_node should_work/t1.lus
+
 ** TODO ce noeud ne compile pas en mode -ec
    - State "TODO"       from ""           [2013-04-17 Wed 15:51]
 
@@ -32,7 +133,7 @@ tel;
 
 ** TODO Écrire un test qui mette en jeu exhaustivement tous les operateurs
    - State "TODO"       from ""           [2013-03-19 Tue 10:38]
-** TODO fonctions externes 
+** TODO fonctions externes  pas supportées en mode -exec (ni dans les tests du coup)
    - State "TODO"       from ""           [2013-03-19 Tue 10:33]
 ** TODO Découper un peu les fonctions dans src/lic2soc.ml
    - State "TODO"       from ""           [2013-03-19 Tue 10:26]
@@ -111,6 +212,15 @@ entre les var inventées dans split et dans ExpandNodes !!)
 Pascal a introduit un mecanisme qui shunte LicName -> en discuter avec lui.
 
 
+** TODO Il faudrait traiter proprement les programmes lutin (et lustre) qui débordent (int)
+   - State "TODO"       from ""           [2013-05-10 Fri 17:28]
+
+ ../utils/test_lus2lic_no_node should_work/test_node_expand.lus
+ ../utils/test_lus2lic_no_node should_work/test_node_expand2.lus
+** TODO lus2lic genere du ec mal typé !!
+   - State "TODO"       from ""           [2013-05-10 Fri 17:24]
+
+ ../utils/test_lus2lic_no_node should_work/predef03.lus
 ** TODO au sujet des tests de non-regression
    - State "TODO"       from ""           [2013-04-23 Tue 17:31]
 
@@ -235,6 +345,13 @@ bon, y'a plus d'erreur, mais ca ne compile pas. Est-ce choquant ?
 On pourrait utiliser   file:src/misc.ml pour prendre finement en compte les 
 struct et les arrays.
 
+** TODO la aussi il semble y avoir un pb de self loop
+   - State "TODO"       from ""           [2013-05-10 Fri 17:44]
+../utils/test_lus2lic_no_node should_work/filter.lus
+../utils/test_lus2lic_no_node should_work/activation2.lus
+../utils/test_lus2lic_no_node should_work/activation1.lus
+../utils/test_lus2lic_no_node should_work/speedcontrol.lus
+
 
 ** WAITING Ya un probleme avec ce fichier lustre (compilait avant)
    - State "WAITING"    from "STARTED"    [2013-01-17 Thu 10:48]