diff --git a/src/OCamlMakefile b/src/OCamlMakefile
index 20ef17c6ef6295d7a74efa68c137e6ae4c3e25be..e9deb247da8176127583035f864c801fd5a47f4f 100644
--- a/src/OCamlMakefile
+++ b/src/OCamlMakefile
@@ -1,14 +1,14 @@
 ###########################################################################
 #                              OCamlMakefile
-#                  Copyright (C) 1999-2002  Markus Mottl
+#                  Copyright (C) 1999-  Markus Mottl
 #
 #                             For updates see:
-#                http://www.oefai.at/~markus/ocaml_sources
-#
-#        $Id: OCamlMakefile,v 1.20 2002/08/29 11:26:39 markus Exp $
+#                http://www.ocaml.info/home/ocaml_sources.html
 #
 ###########################################################################
 
+# Modified by damien for .glade.ml compilation
+
 # Set these variables to the names of the sources to be processed and
 # the result variable. Order matters during linkage!
 
@@ -25,14 +25,15 @@ export RES_CLIB_SUF
 ifndef RESULT
   RESULT := foo
 endif
-export RESULT
+export RESULT := $(strip $(RESULT))
+
+export LIB_PACK_NAME
 
 ifndef DOC_FILES
-  MLY_SOURCES := $(filter %.mly,$(SOURCES))
-  MLL_SOURCES := $(filter %.mll,$(SOURCES))
-  DOC_FILES := $(filter %.mli %.ml,$(SOURCES)) $(MLY_SOURCES:.mly=.ml) $(MLL_SOURCES:.mll=.ml)
+  DOC_FILES := $(filter %.mli, $(SOURCES))
 endif
 export DOC_FILES
+FIRST_DOC_FILE := $(firstword $(DOC_FILES))
 
 export BCSUFFIX
 export NCSUFFIX
@@ -40,7 +41,6 @@ export NCSUFFIX
 ifndef TOPSUFFIX
   TOPSUFFIX := .top
 endif
-
 export TOPSUFFIX
 
 # Eventually set include- and library-paths, libraries to link,
@@ -50,16 +50,19 @@ export TOPSUFFIX
 # USE_CAMLP4)!
 
 export THREADS
+export VMTHREADS
+export ANNOTATE
 export USE_CAMLP4
 
 export INCDIRS
 export LIBDIRS
 export EXTLIBDIRS
+export RESULTDEPS
 export OCAML_DEFAULT_DIRS
-export OCAML_LIB_INSTALL
 
 export LIBS
 export CLIBS
+export CFRAMEWORKS
 
 export OCAMLFLAGS
 export OCAMLNCFLAGS
@@ -69,17 +72,28 @@ export OCAMLLDFLAGS
 export OCAMLNLDFLAGS
 export OCAMLBLDFLAGS
 
+export OCAMLMKLIB_FLAGS
+
 ifndef OCAMLCPFLAGS
   OCAMLCPFLAGS := a
 endif
-
 export OCAMLCPFLAGS
 
+ifndef DOC_DIR
+  DOC_DIR := doc
+endif
+export DOC_DIR
+
+export PPFLAGS
+
+export LFLAGS
 export YFLAGS
 export IDLFLAGS
 
 export OCAMLDOCFLAGS
 
+export OCAMLFIND_INSTFLAGS
+
 export DVIPSFLAGS
 
 export STATIC
@@ -87,21 +101,56 @@ export STATIC
 # Add a list of optional trash files that should be deleted by "make clean"
 export TRASH
 
+ECHO := echo
+
+ifdef REALLY_QUIET
+  export REALLY_QUIET
+  ECHO := true
+  LFLAGS := $(LFLAGS) -q
+  YFLAGS := $(YFLAGS) -q
+endif
+
 ####################  variables depending on your OCaml-installation
 
+SYSTEM := $(shell ocamlc -config 2>/dev/null | grep system | sed 's/system: //')
+    # This may be
+    # - mingw
+    # - win32
+    # - cygwin
+    # - some other string means Unix
+    # - empty means ocamlc does not support -config
+
+ifeq ($(SYSTEM),mingw)
+  MINGW=1
+endif
+ifeq ($(SYSTEM),win32)
+  MSVC=1
+endif
+
 ifdef MINGW
   export MINGW
-  WIN32   := 1
+  WIN32 := 1
+  # We are compiling with cygwin tools:
+  CFLAGS_WIN32 := -mno-cygwin
+  # The default value 'cc' makes 'ocamlc -cc "cc"' raises the error 'The
+  # NTVDM CPU has encountered an illegal instruction'.
+  CC := gcc
+  # The OCaml C header files use this flag:
+  CFLAGS += -D__MINGW32__
 endif
 ifdef MSVC
   export MSVC
   WIN32   := 1
+  ifndef STATIC
+    CPPFLAGS_WIN32 := -DCAML_DLL
+  endif
+  CFLAGS_WIN32 += -nologo
   EXT_OBJ := obj
   EXT_LIB := lib
   ifeq ($(CC),gcc)
     # work around GNU Make default value
     ifdef THREADS
-      CC := cl /MT
+      CC := cl -MT
     else
       CC := cl
     endif
@@ -138,118 +187,200 @@ export CXX
 export CFLAGS
 export CXXFLAGS
 export LDFLAGS
+export CPPFLAGS
+
+ifndef RPATH_FLAG
+  ifdef ELF_RPATH_FLAG
+    RPATH_FLAG := $(ELF_RPATH_FLAG)
+  else
+    RPATH_FLAG := -R
+  endif
+endif
+export RPATH_FLAG
+
+ifndef MSVC
+ifndef PIC_CFLAGS
+  PIC_CFLAGS := -fPIC
+endif
+ifndef PIC_CPPFLAGS
+  PIC_CPPFLAGS := -DPIC
+endif
+endif
+
+export PIC_CFLAGS
+export PIC_CPPFLAGS
 
 BCRESULT  := $(addsuffix $(BCSUFFIX), $(RESULT))
 NCRESULT  := $(addsuffix $(NCSUFFIX), $(RESULT))
 TOPRESULT := $(addsuffix $(TOPSUFFIX), $(RESULT))
 
+ifndef OCAMLFIND
+  OCAMLFIND := ocamlfind
+endif
+export OCAMLFIND
+
 ifndef OCAMLC
   OCAMLC := ocamlc
 endif
-
 export OCAMLC
 
 ifndef OCAMLOPT
   OCAMLOPT := ocamlopt
 endif
-
 export OCAMLOPT
 
 ifndef OCAMLMKTOP
   OCAMLMKTOP := ocamlmktop
 endif
-
 export OCAMLMKTOP
 
 ifndef OCAMLCP
   OCAMLCP := ocamlcp
 endif
-
 export OCAMLCP
 
 ifndef OCAMLDEP
   OCAMLDEP := ocamldep
 endif
-
 export OCAMLDEP
 
 ifndef OCAMLLEX
   OCAMLLEX := ocamllex
 endif
-
 export OCAMLLEX
 
 ifndef OCAMLYACC
   OCAMLYACC := ocamlyacc
 endif
-
 export OCAMLYACC
 
+ifndef OCAMLMKLIB
+  OCAMLMKLIB := ocamlmklib
+endif
+export OCAMLMKLIB
+
+ifndef OCAML_GLADECC
+  OCAML_GLADECC := lablgladecc2
+endif
+export OCAML_GLADECC
+
+ifndef OCAML_GLADECC_FLAGS
+  OCAML_GLADECC_FLAGS :=
+endif
+export OCAML_GLADECC_FLAGS
+
+ifndef CAMELEON_REPORT
+  CAMELEON_REPORT := report
+endif
+export CAMELEON_REPORT
+
+ifndef CAMELEON_REPORT_FLAGS
+  CAMELEON_REPORT_FLAGS :=
+endif
+export CAMELEON_REPORT_FLAGS
+
+ifndef CAMELEON_ZOGGY
+  CAMELEON_ZOGGY := camlp4o pa_zog.cma pr_o.cmo
+endif
+export CAMELEON_ZOGGY
+
+ifndef CAMELEON_ZOGGY_FLAGS
+  CAMELEON_ZOGGY_FLAGS :=
+endif
+export CAMELEON_ZOGGY_FLAGS
+
+ifndef OXRIDL
+  OXRIDL := oxridl
+endif
+export OXRIDL
+
 ifndef CAMLIDL
   CAMLIDL := camlidl
 endif
-
 export CAMLIDL
 
 ifndef CAMLIDLDLL
   CAMLIDLDLL := camlidldll
 endif
-
 export CAMLIDLDLL
 
 ifndef NOIDLHEADER
   MAYBE_IDL_HEADER := -header
 endif
-
 export NOIDLHEADER
 
+export NO_CUSTOM
+
 ifndef CAMLP4
   CAMLP4 := camlp4
 endif
-
 export CAMLP4
 
+ifndef REAL_OCAMLFIND
+  ifdef PACKS
+    ifndef CREATE_LIB
+      ifdef THREADS
+	PACKS += threads
+      endif
+    endif
+    empty :=
+    space := $(empty) $(empty)
+    comma := ,
+    ifdef PREDS
+      PRE_OCAML_FIND_PREDICATES := $(subst $(space),$(comma),$(PREDS))
+      PRE_OCAML_FIND_PACKAGES := $(subst $(space),$(comma),$(PACKS))
+      OCAML_FIND_PREDICATES := -predicates $(PRE_OCAML_FIND_PREDICATES)
+  #    OCAML_DEP_PREDICATES := -syntax $(PRE_OCAML_FIND_PREDICATES)
+      OCAML_FIND_PACKAGES := $(OCAML_FIND_PREDICATES) -package $(PRE_OCAML_FIND_PACKAGES)
+      OCAML_DEP_PACKAGES := $(OCAML_DEP_PREDICATES) -package $(PRE_OCAML_FIND_PACKAGES)
+    else
+      OCAML_FIND_PACKAGES := -package $(subst $(space),$(comma),$(PACKS))
+      OCAML_DEP_PACKAGES :=
+    endif
+    OCAML_FIND_LINKPKG := -linkpkg
+    REAL_OCAMLFIND := $(OCAMLFIND)
+  endif
+endif
+
+export OCAML_FIND_PACKAGES
+export OCAML_DEP_PACKAGES
+export OCAML_FIND_LINKPKG
+export REAL_OCAMLFIND
+
 ifndef OCAMLDOC
   OCAMLDOC := ocamldoc
 endif
-
 export OCAMLDOC
 
 ifndef LATEX
   LATEX := latex
 endif
-
 export LATEX
 
 ifndef DVIPS
   DVIPS := dvips
 endif
-
 export DVIPS
 
 ifndef PS2PDF
   PS2PDF := ps2pdf
 endif
-
 export PS2PDF
 
 ifndef OCAMLMAKEFILE
   OCAMLMAKEFILE := OCamlMakefile
 endif
-
 export OCAMLMAKEFILE
 
 ifndef OCAMLLIBPATH
   OCAMLLIBPATH := \
     $(shell $(OCAMLC) 2>/dev/null -where || echo /usr/local/lib/ocaml)
 endif
-
 export OCAMLLIBPATH
 
 ifndef OCAML_LIB_INSTALL
   OCAML_LIB_INSTALL := $(OCAMLLIBPATH)/contrib
 endif
-
 export OCAML_LIB_INSTALL
 
 ###########################################################################
@@ -268,6 +399,13 @@ export CAMLIDLFLAGS
 export THREAD_FLAG
 export RES_CLIB
 export MAKEDLL
+export ANNOT_FLAG
+export C_OXRIDL
+export SUBPROJS
+export CFLAGS_WIN32
+export CPPFLAGS_WIN32
+
+INCFLAGS :=
 
 SHELL := /bin/sh
 
@@ -275,10 +413,23 @@ MLDEPDIR := ._d
 BCDIDIR  := ._bcdi
 NCDIDIR  := ._ncdi
 
-FILTERED     := $(filter %.mli %.ml %.mll %.mly %.idl %.c %.$(EXT_CXX), \
-                         $(SOURCES))
+FILTER_EXTNS := %.mli %.ml %.mll %.mly %.idl %.oxridl %.c %.m %.$(EXT_CXX) %.rep %.zog %.glade
+
+FILTERED     := $(filter $(FILTER_EXTNS), $(SOURCES))
 SOURCE_DIRS  := $(filter-out ./, $(sort $(dir $(FILTERED))))
 
+FILTERED_REP := $(filter %.rep, $(FILTERED))
+DEP_REP      := $(FILTERED_REP:%.rep=$(MLDEPDIR)/%.d)
+AUTO_REP     := $(FILTERED_REP:.rep=.ml)
+
+FILTERED_ZOG := $(filter %.zog, $(FILTERED))
+DEP_ZOG      := $(FILTERED_ZOG:%.zog=$(MLDEPDIR)/%.d)
+AUTO_ZOG     := $(FILTERED_ZOG:.zog=.ml)
+
+FILTERED_GLADE := $(filter %.glade, $(FILTERED))
+DEP_GLADE      := $(FILTERED_GLADE:%.glade=$(MLDEPDIR)/%.d)
+AUTO_GLADE     := $(FILTERED_GLADE:.glade=.ml)
+
 FILTERED_ML  := $(filter %.ml, $(FILTERED))
 DEP_ML       := $(FILTERED_ML:%.ml=$(MLDEPDIR)/%.d)
 
@@ -295,23 +446,32 @@ AUTO_MLY     := $(FILTERED_MLY:.mly=.mli) $(FILTERED_MLY:.mly=.ml)
 
 FILTERED_IDL := $(filter %.idl, $(FILTERED))
 DEP_IDL      := $(FILTERED_IDL:%.idl=$(MLDEPDIR)/%.d) $(FILTERED_IDL:.idl=.di)
-C_IDL        := $(FILTERED_IDL:%.idl=%_stubs.c) $(FILTERED_IDL:.idl=.h)
+C_IDL        := $(FILTERED_IDL:%.idl=%_stubs.c)
+ifndef NOIDLHEADER
+ C_IDL += $(FILTERED_IDL:.idl=.h)
+endif
 OBJ_C_IDL    := $(FILTERED_IDL:%.idl=%_stubs.$(EXT_OBJ))
 AUTO_IDL     := $(FILTERED_IDL:.idl=.mli) $(FILTERED_IDL:.idl=.ml) $(C_IDL)
 
-FILTERED_C_CXX := $(filter %.c %.$(EXT_CXX), $(FILTERED))
+FILTERED_OXRIDL := $(filter %.oxridl, $(FILTERED))
+DEP_OXRIDL      := $(FILTERED_OXRIDL:%.oxridl=$(MLDEPDIR)/%.d) $(FILTERED_OXRIDL:.oxridl=.di)
+AUTO_OXRIDL     := $(FILTERED_OXRIDL:.oxridl=.mli) $(FILTERED_OXRIDL:.oxridl=.ml) $(C_OXRIDL)
+
+FILTERED_C_CXX := $(filter %.c %.m %.$(EXT_CXX), $(FILTERED))
 OBJ_C_CXX      := $(FILTERED_C_CXX:.c=.$(EXT_OBJ))
+OBJ_C_CXX      := $(OBJ_C_CXX:.m=.$(EXT_OBJ))
 OBJ_C_CXX      := $(OBJ_C_CXX:.$(EXT_CXX)=.$(EXT_OBJ))
 
-PRE_TARGETS  += $(AUTO_MLL) $(AUTO_MLY) $(AUTO_IDL)
+PRE_TARGETS  += $(AUTO_MLL) $(AUTO_MLY) $(AUTO_IDL) $(AUTO_OXRIDL) $(AUTO_ZOG) $(AUTO_REP) $(AUTO_GLADE)
+
+ALL_DEPS     := $(DEP_ML) $(DEP_MLI) $(DEP_MLL) $(DEP_MLY) $(DEP_IDL) $(DEP_OXRIDL) $(DEP_ZOG) $(DEP_REP) $(DEP_GLADE)
 
-ALL_DEPS     := $(DEP_ML) $(DEP_MLI) $(DEP_MLL) $(DEP_MLY) $(DEP_IDL)
 MLDEPS       := $(filter %.d, $(ALL_DEPS))
 MLIDEPS      := $(filter %.di, $(ALL_DEPS))
 BCDEPIS      := $(MLIDEPS:%.di=$(BCDIDIR)/%.di)
 NCDEPIS      := $(MLIDEPS:%.di=$(NCDIDIR)/%.di)
 
-ALLML        := $(filter %.mli %.ml %.mll %.mly %.idl, $(FILTERED))
+ALLML        := $(filter %.mli %.ml %.mll %.mly %.idl %.oxridl %.rep %.zog %.glade, $(FILTERED))
 
 IMPLO_INTF   := $(ALLML:%.mli=%.mli.__)
 IMPLO_INTF   := $(foreach file, $(IMPLO_INTF), \
@@ -324,6 +484,8 @@ IMPLX_INTF   := $(IMPLO_INTF:.cmo=.cmx)
 INTF         := $(filter %.cmi, $(IMPLO_INTF))
 IMPL_CMO     := $(filter %.cmo, $(IMPLO_INTF))
 IMPL_CMX     := $(IMPL_CMO:.cmo=.cmx)
+IMPL_ASM     := $(IMPL_CMO:.cmo=.asm)
+IMPL_S       := $(IMPL_CMO:.cmo=.s)
 
 OBJ_LINK     := $(OBJ_C_IDL) $(OBJ_C_CXX)
 OBJ_FILES    := $(IMPL_CMO:.cmo=.$(EXT_OBJ)) $(OBJ_LINK)
@@ -338,22 +500,40 @@ CLIB_BASE    := $(RESULT)$(RES_CLIB_SUF)
 ifneq ($(strip $(OBJ_LINK)),)
   RES_CLIB     := lib$(CLIB_BASE).$(EXT_LIB)
 endif
-DLLSONAME    := dll$(CLIB_BASE).so
-NONEXECS     := $(INTF) $(IMPL_CMO) $(IMPL_CMX) $(OBJ_FILES) $(PRE_TARGETS) \
-                $(BCRESULT).cma $(NCRESULT).cmxa $(NCRESULT).$(EXT_LIB) \
-		$(BCRESULT).cmi $(BCRESULT).cmo \
-		$(NCRESULT).cmi $(NCRESULT).cmx $(NCRESULT).o \
-		$(RES_CLIB) $(DLLSONAME)
+
+ifdef WIN32
+DLLSONAME := dll$(CLIB_BASE).dll
+else
+DLLSONAME := dll$(CLIB_BASE).so
+endif
+
+NONEXECS     := $(INTF) $(IMPL_CMO) $(IMPL_CMX) $(IMPL_ASM) $(IMPL_S) \
+		$(OBJ_FILES) $(PRE_TARGETS) $(BCRESULT).cma $(NCRESULT).cmxa \
+		$(NCRESULT).$(EXT_LIB) $(BCRESULT).cmi $(BCRESULT).cmo \
+		$(NCRESULT).cmi $(NCRESULT).cmx $(NCRESULT).$(EXT_OBJ) \
+		$(RES_CLIB) $(IMPL_CMO:.cmo=.annot) \
+		$(LIB_PACK_NAME).cmi $(LIB_PACK_NAME).cmo $(LIB_PACK_NAME).cmx \
+		$(LIB_PACK_NAME).$(EXT_OBJ)
+
+ifndef STATIC
+  NONEXECS += $(DLLSONAME)
+endif
 
 ifndef LIBINSTALL_FILES
   LIBINSTALL_FILES := $(RESULT).mli $(RESULT).cmi $(RESULT).cma \
-		      $(RESULT).cmxa $(RESULT).a $(RES_CLIB) $(DLLSONAME)
+		      $(RESULT).cmxa $(RESULT).$(EXT_LIB) $(RES_CLIB)
+  ifndef STATIC
+    ifneq ($(strip $(OBJ_LINK)),)
+      LIBINSTALL_FILES += $(DLLSONAME)
+    endif
+  endif
 endif
+
 export LIBINSTALL_FILES
 
 ifdef WIN32
   # some extra stuff is created while linking DLLs
-  NONEXECS   += $(BCRESULT).$(EXT_LIB) $(BCRESULT).exp $(NCRESULT).exp
+  NONEXECS   += $(BCRESULT).$(EXT_LIB) $(BCRESULT).exp $(NCRESULT).exp $(CLIB_BASE).exp $(CLIB_BASE).lib
 endif
 
 TARGETS      := $(EXECS) $(NONEXECS)
@@ -370,11 +550,18 @@ ifdef USE_CAMLP4
   CINCFLAGS := -I$(CAMLP4PATH)
 endif
 
-INCFLAGS += $(SOURCE_DIRS:%=-I %) $(INCDIRS:%=-I %) $(OCAML_DEFAULT_DIRS:%=-I %)
+DINCFLAGS := $(INCFLAGS) $(SOURCE_DIRS:%=-I %) $(OCAML_DEFAULT_DIRS:%=-I %)
+INCFLAGS := $(DINCFLAGS) $(INCDIRS:%=-I %)
 CINCFLAGS += $(SOURCE_DIRS:%=-I%) $(INCDIRS:%=-I%) $(OCAML_DEFAULT_DIRS:%=-I%)
-CLIBFLAGS += $(SOURCE_DIRS:%=-L%) $(LIBDIRS:%=-L%) \
-             $(EXTLIBDIRS:%=-L%) $(EXTLIBDIRS:%=-R%) \
-             $(OCAML_DEFAULT_DIRS:%=-L%)
+
+ifndef MSVC
+  CLIBFLAGS += $(SOURCE_DIRS:%=-L%) $(LIBDIRS:%=-L%) \
+               $(EXTLIBDIRS:%=-L%) $(OCAML_DEFAULT_DIRS:%=-L%)
+
+  ifeq ($(ELF_RPATH), yes)
+    CLIBFLAGS += $(EXTLIBDIRS:%=-Wl,$(RPATH_FLAG)%)
+  endif
+endif
 
 ifndef PROFILING
   INTF_OCAMLC := $(OCAMLC)
@@ -387,25 +574,32 @@ else
     ifndef REAL_OCAMLC
       $(error Profiling of multithreaded byte code not yet supported by OCaml)
     endif
+    INTF_OCAMLC := $(OCAMLC)
   endif
 endif
 
 ifndef MSVC
   COMMON_LDFLAGS := $(LDFLAGS:%=-ccopt %) $(SOURCE_DIRS:%=-ccopt -L%) \
-                    $(LIBDIRS:%=-ccopt -L%) \
-                    $(EXTLIBDIRS:%=-ccopt -L%) $(EXTLIBDIRS:%=-ccopt -R%) \
-                    $(OCAML_DEFAULT_DIRS:%=-ccopt -L%)
+		    $(LIBDIRS:%=-ccopt -L%) $(EXTLIBDIRS:%=-ccopt -L%) \
+		    $(EXTLIBDIRS:%=-ccopt -Wl $(OCAML_DEFAULT_DIRS:%=-ccopt -L%))
+
+  ifeq ($(ELF_RPATH),yes)
+    COMMON_LDFLAGS += $(EXTLIBDIRS:%=-ccopt -Wl,$(RPATH_FLAG)%)
+  endif
 else
-  # currenly MSVC-build ocamlc/ocamlopt cannot pass any option to C linker :-(
-  COMMON_LDFLAGS :=
+  COMMON_LDFLAGS := -ccopt "/link -NODEFAULTLIB:LIBC $(LDFLAGS:%=%) $(SOURCE_DIRS:%=-LIBPATH:%) \
+		    $(LIBDIRS:%=-LIBPATH:%) $(EXTLIBDIRS:%=-LIBPATH:%) \
+		    $(OCAML_DEFAULT_DIRS:%=-LIBPATH:%) "
 endif
 
-ifndef MSVC
-  CLIBS_OPTS := $(CLIBS:%=-cclib -l%)
-else
+CLIBS_OPTS := $(CLIBS:%=-cclib -l%) $(CFRAMEWORKS:%=-cclib '-framework %')
+ifdef MSVC
+  ifndef STATIC
   # MSVC libraries do not have 'lib' prefix
-  CLIBS_OPTS := $(CLIBS:%=-ccopt %)
+  CLIBS_OPTS := $(CLIBS:%=-cclib %.lib)
+  endif
 endif
+
 ifneq ($(strip $(OBJ_LINK)),)
   ifdef CREATE_LIB
     OBJS_LIBS := -cclib -l$(CLIB_BASE) $(CLIBS_OPTS) $(MAYBE_IDL)
@@ -416,15 +610,27 @@ else
   OBJS_LIBS := $(CLIBS_OPTS) $(MAYBE_IDL)
 endif
 
+ifdef LIB_PACK_NAME
+  FOR_PACK_NAME := $(shell echo $(LIB_PACK_NAME) | awk '{print toupper(substr($$0,1,1))substr($$0,2)}')
+endif
+
 # If we have to make byte-code
 ifndef REAL_OCAMLC
+  BYTE_OCAML := y
+
   # EXTRADEPS is added dependencies we have to insert for all
   # executable files we generate.  Ideally it should be all of the
   # libraries we use, but it's hard to find the ones that get searched on
   # the path since I don't know the paths built into the compiler, so
-  # just include the ones with slashes in their names. 
+  # just include the ones with slashes in their names.
   EXTRADEPS := $(addsuffix .cma,$(foreach i,$(LIBS),$(if $(findstring /,$(i)),$(i))))
-  SPECIAL_OCAMLFLAGS := $(OCAMLBCFLAGS)
+
+
+  ifndef LIB_PACK_NAME
+    SPECIAL_OCAMLFLAGS := $(OCAMLBCFLAGS)
+  else	
+    SPECIAL_OCAMLFLAGS := -for-pack $(FOR_PACK_NAME) $(OCAMLBCFLAGS)
+  endif
 
   REAL_OCAMLC := $(INTF_OCAMLC)
 
@@ -436,6 +642,8 @@ ifndef REAL_OCAMLC
   MAKE_DEPS := $(MLDEPS) $(BCDEPIS)
 
   ifdef CREATE_LIB
+    override CFLAGS := $(PIC_CFLAGS) $(CFLAGS)
+    override CPPFLAGS := $(PIC_CPPFLAGS) $(CPPFLAGS)
     ifndef STATIC
       ifneq ($(strip $(OBJ_LINK)),)
 	MAKEDLL := $(DLLSONAME)
@@ -445,7 +653,7 @@ ifndef REAL_OCAMLC
   endif
 
   ifndef NO_CUSTOM
-    ifneq "$(strip $(OBJ_LINK) $(THREADS) $(MAYBE_IDL) $(CLIBS))" ""
+    ifneq "$(strip $(OBJ_LINK) $(THREADS) $(MAYBE_IDL) $(CLIBS) $(CFRAMEWORKS))" ""
       ALL_LDFLAGS += -custom
     endif
   endif
@@ -455,11 +663,17 @@ ifndef REAL_OCAMLC
   CAMLIDLDLLFLAGS :=
 
   ifdef THREADS
-    ALL_LDFLAGS := -thread $(ALL_LDFLAGS)
+    ifdef VMTHREADS
+      THREAD_FLAG := -vmthread
+    else
+      THREAD_FLAG := -thread
+    endif
+    ALL_LDFLAGS := $(THREAD_FLAG) $(ALL_LDFLAGS)
     ifndef CREATE_LIB
-      ALL_LDFLAGS := unix.cma threads.cma $(ALL_LDFLAGS)
+      ifndef REAL_OCAMLFIND
+        ALL_LDFLAGS := unix.cma threads.cma $(ALL_LDFLAGS)
+      endif
     endif
-    THREAD_FLAG := -thread
   endif
 
 # we have to make native-code
@@ -473,11 +687,16 @@ else
     PLDFLAGS := -p
   endif
 
+  ifndef LIB_PACK_NAME
+    SPECIAL_OCAMLFLAGS := $(OCAMLNCFLAGS)
+  else	
+    SPECIAL_OCAMLFLAGS := -for-pack $(FOR_PACK_NAME) $(OCAMLNCFLAGS)
+  endif
   REAL_IMPL := $(IMPL_CMX)
   REAL_IMPL_INTF := $(IMPLX_INTF)
   IMPL_SUF := .cmx
 
-  CFLAGS := -DNATIVE_CODE $(CFLAGS)
+  override CPPFLAGS := -DNATIVE_CODE $(CPPFLAGS)
 
   DEPFLAGS  := -native
   MAKE_DEPS := $(MLDEPS) $(NCDEPIS)
@@ -488,18 +707,30 @@ else
 
   ifndef CREATE_LIB
     ALL_LDFLAGS += $(LIBS:%=%.cmxa)
+  else
+    override CFLAGS := $(PIC_CFLAGS) $(CFLAGS)
+    override CPPFLAGS := $(PIC_CPPFLAGS) $(CPPFLAGS)
   endif
 
   ifdef THREADS
-    ALL_LDFLAGS := -thread $(ALL_LDFLAGS)
+    THREAD_FLAG := -thread
+    ALL_LDFLAGS := $(THREAD_FLAG) $(ALL_LDFLAGS)
     ifndef CREATE_LIB
-      ALL_LDFLAGS := unix.cmxa threads.cmxa $(ALL_LDFLAGS)
+      ifndef REAL_OCAMLFIND
+        ALL_LDFLAGS := unix.cmxa threads.cmxa $(ALL_LDFLAGS)
+      endif
     endif
-    THREAD_FLAG := -thread
   endif
 endif
 
-ALL_OCAMLCFLAGS := $(THREAD_FLAG) $(OCAMLFLAGS) \
+export MAKE_DEPS
+
+ifdef ANNOTATE
+  ANNOT_FLAG := -dtypes
+else
+endif
+
+ALL_OCAMLCFLAGS := $(THREAD_FLAG) $(ANNOT_FLAG) $(OCAMLFLAGS) \
                    $(INCFLAGS) $(SPECIAL_OCAMLFLAGS)
 
 ifdef make_deps
@@ -590,6 +821,30 @@ debug-code:		$(PRE_TARGETS)
 				OCAMLLDFLAGS="-g $(OCAMLLDFLAGS)"
 dc:	debug-code
 
+debug-code-nolink:	$(PRE_TARGETS)
+			$(QUIET)$(MAKE) -r -f $(OCAMLMAKEFILE) nolink \
+				REAL_RESULT="$(BCRESULT)" make_deps=yes \
+				OCAMLFLAGS="-g $(OCAMLFLAGS)" \
+				OCAMLLDFLAGS="-g $(OCAMLLDFLAGS)"
+dcnl:	debug-code-nolink
+
+# generates byte-code with debugging information (native code)
+debug-native-code:	$(PRE_TARGETS)
+			$(QUIET)$(MAKE) -r -f $(OCAMLMAKEFILE) $(NCRESULT) \
+				REAL_RESULT="$(NCRESULT)" make_deps=yes \
+				REAL_OCAMLC="$(OCAMLOPT)" \
+				OCAMLFLAGS="-g $(OCAMLFLAGS)" \
+				OCAMLLDFLAGS="-g $(OCAMLLDFLAGS)"
+dnc:	debug-native-code
+
+debug-native-code-nolink:	$(PRE_TARGETS)
+			$(QUIET)$(MAKE) -r -f $(OCAMLMAKEFILE) nolink \
+				REAL_RESULT="$(NCRESULT)" make_deps=yes \
+				REAL_OCAMLC="$(OCAMLOPT)" \
+				OCAMLFLAGS="-g $(OCAMLFLAGS)" \
+				OCAMLLDFLAGS="-g $(OCAMLLDFLAGS)"
+dncnl:	debug-native-code-nolink
+
 # generates byte-code libraries with debugging information
 debug-code-library:	$(PRE_TARGETS)
 			$(QUIET)$(MAKE) -r -f $(OCAMLMAKEFILE) \
@@ -600,6 +855,17 @@ debug-code-library:	$(PRE_TARGETS)
 				OCAMLLDFLAGS="-g $(OCAMLLDFLAGS)"
 dcl:	debug-code-library
 
+# generates byte-code libraries with debugging information (native code)
+debug-native-code-library:	$(PRE_TARGETS)
+			$(QUIET)$(MAKE) -r -f $(OCAMLMAKEFILE) \
+				$(RES_CLIB) $(NCRESULT).cma \
+				REAL_RESULT="$(NCRESULT)" make_deps=yes \
+				REAL_OCAMLC="$(OCAMLOPT)" \
+				CREATE_LIB=yes \
+				OCAMLFLAGS="-g $(OCAMLFLAGS)" \
+				OCAMLLDFLAGS="-g $(OCAMLLDFLAGS)"
+dncl:	debug-native-code-library
+
 # generates byte-code for profiling
 profiling-byte-code:		$(PRE_TARGETS)
 			$(QUIET)$(MAKE) -r -f $(OCAMLMAKEFILE) $(BCRESULT) \
@@ -646,38 +912,35 @@ pabc:	pack-byte-code
 # packs native-code objects
 pack-native-code:		$(PRE_TARGETS)
 			$(QUIET)$(MAKE) -r -f $(OCAMLMAKEFILE) \
-				$(NCRESULT).cmx $(NCRESULT).o \
+				$(NCRESULT).cmx $(NCRESULT).$(EXT_OBJ) \
 				REAL_RESULT="$(NCRESULT)" \
 				REAL_OCAMLC="$(OCAMLOPT)" \
 				PACK_LIB=yes make_deps=yes
 panc:	pack-native-code
 
 # generates HTML-documentation
-htdoc:	doc/html
+htdoc:	$(DOC_DIR)/$(RESULT)/html/index.html
 
 # generates Latex-documentation
-ladoc:	doc/latex
+ladoc:	$(DOC_DIR)/$(RESULT)/latex/doc.tex
 
 # generates PostScript-documentation
-psdoc:	doc/latex/doc.ps
+psdoc:	$(DOC_DIR)/$(RESULT)/latex/doc.ps
 
 # generates PDF-documentation
-pdfdoc:	doc/latex/doc.pdf
+pdfdoc:	$(DOC_DIR)/$(RESULT)/latex/doc.pdf
 
 # generates all supported forms of documentation
 doc: htdoc ladoc psdoc pdfdoc
 
-
 ###########################################################################
 # LOW LEVEL RULES
 
-$(REAL_RESULT):		$(REAL_IMPL_INTF) $(OBJ_LINK) $(EXTRADEPS)
-			$(REAL_OCAMLC) $(ALL_LDFLAGS) $(OBJS_LIBS) -o $@$(EXE) \
+$(REAL_RESULT):		$(REAL_IMPL_INTF) $(OBJ_LINK) $(EXTRADEPS) $(RESULTDEPS)
+			$(REAL_OCAMLFIND) $(REAL_OCAMLC) \
+				$(OCAML_FIND_PACKAGES) $(OCAML_FIND_LINKPKG) \
+				$(ALL_LDFLAGS) $(OBJS_LIBS) -o $@$(EXE) \
 				$(REAL_IMPL)
-ifdef MSVC
-# work around the bug in ocamlc -- it should delete this file itself
-			rm -f camlprim?.$(EXT_OBJ)
-endif
 
 nolink:			$(REAL_IMPL_INTF) $(OBJ_LINK)
 
@@ -688,78 +951,154 @@ $(REAL_RESULT).dll:	$(REAL_IMPL_INTF) $(OBJ_LINK)
 endif
 
 %$(TOPSUFFIX):		$(REAL_IMPL_INTF) $(OBJ_LINK) $(EXTRADEPS)
-			$(OCAMLMKTOP) $(ALL_LDFLAGS) $(OBJS_LIBS) -o $@$(EXE) \
+			$(REAL_OCAMLFIND) $(OCAMLMKTOP) \
+				$(OCAML_FIND_PACKAGES) $(OCAML_FIND_LINKPKG) \
+				$(ALL_LDFLAGS) $(OBJS_LIBS) -o $@$(EXE) \
 				$(REAL_IMPL)
-ifdef MSVC
-# work around the bug in ocamltop -- it should delete this file itself
-			rm -f camlprim?.$(EXT_OBJ)
-endif
 
 .SUFFIXES:		.mli .ml .cmi .cmo .cmx .cma .cmxa .$(EXT_OBJ) \
-                        .mly .di .d .$(EXT_LIB) .idl .c .$(EXT_CXX) .h .so
+                        .mly .di .d .$(EXT_LIB) .idl %.oxridl .c .m .$(EXT_CXX) .h .so \
+                        .rep .zog .glade
 
+ifndef STATIC
+ifdef MINGW
+# From OCaml 3.11.0, ocamlmklib is available on windows
+OCAMLMLIB_EXISTS = $(shell which $(OCAMLMKLIB))
+ifeq ($(strip $(OCAMLMLIB_EXISTS)),)
+$(DLLSONAME):		$(OBJ_LINK)
+			$(CC) $(CFLAGS) $(CFLAGS_WIN32) $(OBJ_LINK) -shared -o $@ \
+			$(wildcard $(foreach dir,$(LIBDIRS),$(CLIBS:%=$(dir)/lib%.a))) \
+			 '$(OCAMLLIBPATH)/ocamlrun.a' \
+			-Wl,--whole-archive \
+			-Wl,--export-all-symbols \
+			-Wl,--allow-multiple-definition \
+			-Wl,--enable-auto-import
+else
 $(DLLSONAME):		$(OBJ_LINK)
-			$(CC) -shared $(CINCFLAGS) $(CLIBFLAGS) \
-				-o $@ $(OBJ_LINK) $(CLIBS:%=-l%)
+			$(OCAMLMKLIB) $(INCFLAGS) $(CLIBFLAGS) \
+				-o $(CLIB_BASE) $(OBJ_LINK) $(CLIBS:%=-l%) \
+				$(CFRAMEWORKS:%=-framework %) \
+				$(OCAMLMKLIB_FLAGS)
+endif
+else
+ifdef MSVC
+$(DLLSONAME):		$(OBJ_LINK)
+			link /NOLOGO /DLL /OUT:$@ $(OBJ_LINK) \
+			 $(wildcard $(foreach dir,$(LIBDIRS),$(CLIBS:%=$(dir)/%.lib))) \
+			 '$(OCAMLLIBPATH)/ocamlrun.lib'
+
+else
+$(DLLSONAME):		$(OBJ_LINK)
+			$(OCAMLMKLIB) $(INCFLAGS) $(CLIBFLAGS) \
+				-o $(CLIB_BASE) $(OBJ_LINK) $(CLIBS:%=-l%) $(CFRAMEWORKS:%=-framework %) \
+				$(OCAMLMKLIB_FLAGS)
+endif
+endif
+endif
+
+ifndef LIB_PACK_NAME
+$(RESULT).cma:		$(REAL_IMPL_INTF) $(MAKEDLL) $(EXTRADEPS) $(RESULTDEPS)
+			$(REAL_OCAMLFIND) $(REAL_OCAMLC) -a $(ALL_LDFLAGS) $(OBJS_LIBS) -o $@ $(REAL_IMPL)
+
+$(RESULT).cmxa $(RESULT).$(EXT_LIB):	$(REAL_IMPL_INTF) $(EXTRADEPS) $(RESULTDEPS)
+			$(REAL_OCAMLFIND) $(OCAMLOPT) -a $(ALL_LDFLAGS) $(OBJS_LIBS) -o $@ $(REAL_IMPL)
+else
+# Packing a bytecode library
+ifdef BYTE_OCAML
+$(LIB_PACK_NAME).cmi $(LIB_PACK_NAME).cmo: $(REAL_IMPL_INTF)
+			$(REAL_OCAMLFIND) $(REAL_OCAMLC) -pack -o $(LIB_PACK_NAME).cmo $(OCAMLLDFLAGS) $(REAL_IMPL)
+# Packing into a unit which can be transformed into a library
+# Remember the .ml's must have been compiled with -for-pack $(LIB_PACK_NAME)
+else
+$(LIB_PACK_NAME).cmi $(LIB_PACK_NAME).cmx: $(REAL_IMPL_INTF)
+			$(REAL_OCAMLFIND) $(OCAMLOPT) -pack -o $(LIB_PACK_NAME).cmx  $(OCAMLLDFLAGS) $(REAL_IMPL)
+endif
 
-$(RESULT).cma:		$(REAL_IMPL_INTF) $(MAKEDLL) $(EXTRADEPS)
-			$(REAL_OCAMLC) -a $(ALL_LDFLAGS) \
-				$(OBJS_LIBS) -o $@ $(OCAMLBLDFLAGS) $(REAL_IMPL)
+$(RESULT).cma:		$(LIB_PACK_NAME).cmi $(LIB_PACK_NAME).cmo $(MAKEDLL) $(EXTRADEPS) $(RESULTDEPS)
+			$(REAL_OCAMLFIND) $(REAL_OCAMLC) -a $(ALL_LDFLAGS) $(OBJS_LIBS) -o $@ $(LIB_PACK_NAME).cmo
 
-$(RESULT).cmxa $(RESULT).$(EXT_LIB):	$(REAL_IMPL_INTF) $(EXTRADEPS)
-			$(OCAMLOPT) -a $(ALL_LDFLAGS) $(OBJS_LIBS) \
-				$(OCAMLNLDFLAGS) -o $@ $(REAL_IMPL)
+$(RESULT).cmxa $(RESULT).$(EXT_LIB):	$(LIB_PACK_NAME).cmi $(LIB_PACK_NAME).cmx $(EXTRADEPS) $(RESULTDEPS)
+			$(REAL_OCAMLFIND) $(OCAMLOPT) -a $(filter-out -custom, $(ALL_LDFLAGS)) $(OBJS_LIBS) -o $@ $(LIB_PACK_NAME).cmx
+endif
 
 $(RES_CLIB): 		$(OBJ_LINK)
 ifndef MSVC
   ifneq ($(strip $(OBJ_LINK)),)
-		      ar rc $@ $(OBJ_LINK)
-		      ranlib $@
+		      $(AR) rcs $@ $(OBJ_LINK)
   endif
 else
   ifneq ($(strip $(OBJ_LINK)),)
-			lib /nologo /debugtype:cv /out:$(RES_CLIB) $(OBJ_LINK)
+			lib -nologo -debugtype:cv -out:$(RES_CLIB) $(OBJ_LINK)
   endif
 endif
 
 .mli.cmi: $(EXTRADEPS)
-			$(QUIET)pp=`sed -n -e 's/(\*pp \([^*]*\) \*)/\1/p;q' $<`; \
+			$(QUIET)pp=`sed -n -e '/^#/d' -e 's/(\*pp \([^*]*\) \*)/\1/p;q' $<`; \
 			if [ -z "$$pp" ]; then \
-			  echo $(INTF_OCAMLC) -c $(THREAD_FLAG) \
-			    $(OCAMLFLAGS) $(INCFLAGS) $<; \
-			  $(INTF_OCAMLC) -c $(THREAD_FLAG) $(OCAMLFLAGS) \
-			    $(INCFLAGS) $<; \
+			  $(ECHO) $(REAL_OCAMLFIND) $(INTF_OCAMLC) $(OCAML_FIND_PACKAGES) \
+				-c $(THREAD_FLAG) $(ANNOT_FLAG) \
+				$(OCAMLFLAGS) $(INCFLAGS) $<; \
+			  $(REAL_OCAMLFIND) $(INTF_OCAMLC) $(OCAML_FIND_PACKAGES) \
+				-c $(THREAD_FLAG) $(ANNOT_FLAG) \
+				$(OCAMLFLAGS) $(INCFLAGS) $<; \
 			else \
-			    echo $(INTF_OCAMLC) -c -pp \"$$pp\" $(THREAD_FLAG) \
-			      $(OCAMLFLAGS) $(INCFLAGS) $<; \
-			    $(INTF_OCAMLC) -c -pp "$$pp" $(THREAD_FLAG) \
-				 $(OCAMLFLAGS) $(INCFLAGS) $<; \
+			    $(ECHO) $(REAL_OCAMLFIND) $(INTF_OCAMLC) $(OCAML_FIND_PACKAGES) \
+				-c -pp \"$$pp $(PPFLAGS)\" $(THREAD_FLAG) $(ANNOT_FLAG) \
+				$(OCAMLFLAGS) $(INCFLAGS) $<; \
+			    $(REAL_OCAMLFIND) $(INTF_OCAMLC) $(OCAML_FIND_PACKAGES) \
+				-c -pp "$$pp $(PPFLAGS)" $(THREAD_FLAG) $(ANNOT_FLAG) \
+				$(OCAMLFLAGS) $(INCFLAGS) $<; \
 			fi
 
 .ml.cmi .ml.$(EXT_OBJ) .ml.cmx .ml.cmo: $(EXTRADEPS)
-			$(QUIET)pp=`sed -n -e 's/(\*pp \([^*]*\) \*)/\1/p;q' $<`; \
+			$(QUIET)pp=`sed -n -e '/^#/d' -e 's/(\*pp \([^*]*\) \*)/\1/p;q' $<`; \
 			if [ -z "$$pp" ]; then \
-			  echo $(REAL_OCAMLC) -c $(ALL_OCAMLCFLAGS) $<; \
-			  $(REAL_OCAMLC) -c $(ALL_OCAMLCFLAGS) $<; \
+			  $(ECHO) $(REAL_OCAMLFIND) $(REAL_OCAMLC) $(OCAML_FIND_PACKAGES) \
+				-c $(ALL_OCAMLCFLAGS) $<; \
+			  $(REAL_OCAMLFIND) $(REAL_OCAMLC) $(OCAML_FIND_PACKAGES) \
+				-c $(ALL_OCAMLCFLAGS) $<; \
 			else \
-			  echo $(REAL_OCAMLC) -c -pp \"$$pp\" \
-			    $(ALL_OCAMLCFLAGS) $<; \
-			  $(REAL_OCAMLC) -c -pp "$$pp" $(ALL_OCAMLCFLAGS) $<; \
+			  $(ECHO) $(REAL_OCAMLFIND) $(REAL_OCAMLC) $(OCAML_FIND_PACKAGES) \
+				-c -pp \"$$pp $(PPFLAGS)\" $(ALL_OCAMLCFLAGS) $<; \
+			  $(REAL_OCAMLFIND) $(REAL_OCAMLC) $(OCAML_FIND_PACKAGES) \
+				-c -pp "$$pp $(PPFLAGS)" $(ALL_OCAMLCFLAGS) $<; \
 			fi
 
-ifdef PACK_LIB
-$(REAL_RESULT).cmo $(REAL_RESULT).cmx $(REAL_RESULT).o: $(REAL_IMPL_INTF) $(OBJ_LINK) $(EXTRADEPS)
-			$(REAL_OCAMLC) -pack $(ALL_LDFLAGS) $(OBJS_LIBS) -o $@ \
-				$(REAL_IMPL)
-endif
-
 .PRECIOUS:		%.ml
 %.ml:			%.mll
-			$(OCAMLLEX) $<
+			$(OCAMLLEX) $(LFLAGS) $<
 
-.PRECIOUS:		%.ml %.mli
-%.ml %.mli:		%.mly
+.PRECIOUS:              %.ml %.mli
+%.ml %.mli:             %.mly
 			$(OCAMLYACC) $(YFLAGS) $<
+			$(QUIET)pp=`sed -n -e 's/.*(\*pp \([^*]*\) \*).*/\1/p;q' $<`; \
+			if [ ! -z "$$pp" ]; then \
+			  mv $*.ml $*.ml.temporary; \
+			  echo "(*pp $$pp $(PPFLAGS)*)" > $*.ml; \
+			  cat $*.ml.temporary >> $*.ml; \
+			  rm $*.ml.temporary; \
+			  mv $*.mli $*.mli.temporary; \
+			  echo "(*pp $$pp $(PPFLAGS)*)" > $*.mli; \
+			  cat $*.mli.temporary >> $*.mli; \
+			  rm $*.mli.temporary; \
+			fi
+
+
+.PRECIOUS:		%.ml
+%.ml:			%.rep
+			$(CAMELEON_REPORT) $(CAMELEON_REPORT_FLAGS) -gen $<
+
+.PRECIOUS:		%.ml
+%.ml:			%.zog
+			$(CAMELEON_ZOGGY)  $(CAMELEON_ZOGGY_FLAGS) -impl $< > $@
+
+.PRECIOUS:		%.ml
+%.ml:			%.glade
+			$(OCAML_GLADECC)  $(OCAML_GLADECC_FLAGS) $< > $@
+
+.PRECIOUS:		%.ml %.mli
+%.ml %.mli:		%.oxridl
+			$(OXRIDL) $<
 
 .PRECIOUS:		%.ml %.mli %_stubs.c %.h
 %.ml %.mli %_stubs.c %.h:		%.idl
@@ -768,72 +1107,136 @@ endif
 			$(QUIET)if [ $(NOIDLHEADER) ]; then touch $*.h; fi
 
 .c.$(EXT_OBJ):
-			$(CC) -c $(CFLAGS) $(CINCFLAGS) -I$(OCAMLLIBPATH) \
+			$(OCAMLC) -c -cc "$(CC)" -ccopt "$(CFLAGS) \
+				$(CPPFLAGS) $(CPPFLAGS_WIN32) \
+				$(CFLAGS_WIN32) $(CINCFLAGS) $(CFLAG_O)$@ " $<
+
+.m.$(EXT_OBJ):
+			$(CC) -c $(CFLAGS) $(CINCFLAGS) $(CPPFLAGS) \
+				-I'$(OCAMLLIBPATH)' \
 				$< $(CFLAG_O)$@
 
 .$(EXT_CXX).$(EXT_OBJ):
-			$(CXX) -c $(CXXFLAGS) $(CINCFLAGS) -I$(OCAMLLIBPATH) \
+			$(CXX) -c $(CXXFLAGS) $(CINCFLAGS) $(CPPFLAGS) \
+				-I'$(OCAMLLIBPATH)' \
 				$< $(CFLAG_O)$@
 
 $(MLDEPDIR)/%.d:	%.ml
-			$(QUIET)echo making $@ from $<
 			$(QUIET)if [ ! -d $(@D) ]; then mkdir -p $(@D); fi
-			$(QUIET)pp=`sed -n -e 's/(\*pp \([^*]*\) \*)/\1/p;q' $<`; \
+			$(QUIET)pp=`sed -n -e '/^#/d' -e 's/(\*pp \([^*]*\) \*)/\1/p;q' $<`; \
 			if [ -z "$$pp" ]; then \
-			  $(OCAMLDEP) $(INCFLAGS) $< > $@; \
+			  $(ECHO) $(REAL_OCAMLFIND) $(OCAMLDEP) $(OCAML_DEP_PACKAGES) \
+				$(DINCFLAGS) $< \> $@; \
+			  $(REAL_OCAMLFIND) $(OCAMLDEP) $(OCAML_DEP_PACKAGES) \
+				$(DINCFLAGS) $< > $@; \
 			else \
-			  $(OCAMLDEP) -pp "$$pp" $(INCFLAGS) $< > $@; \
+			  $(ECHO) $(REAL_OCAMLFIND) $(OCAMLDEP) $(OCAML_DEP_PACKAGES) \
+				-pp \"$$pp $(PPFLAGS)\" $(DINCFLAGS) $< \> $@; \
+			  $(REAL_OCAMLFIND) $(OCAMLDEP) $(OCAML_DEP_PACKAGES) \
+				-pp "$$pp $(PPFLAGS)" $(DINCFLAGS) $< > $@; \
 			fi
 
 $(BCDIDIR)/%.di $(NCDIDIR)/%.di:	%.mli
-			$(QUIET)echo making $@ from $<
 			$(QUIET)if [ ! -d $(@D) ]; then mkdir -p $(@D); fi
-			$(QUIET)pp=`sed -n -e 's/(\*pp \([^*]*\) \*)/\1/p;q' $<`; \
+			$(QUIET)pp=`sed -n -e '/^#/d' -e 's/(\*pp \([^*]*\) \*)/\1/p;q' $<`; \
 			if [ -z "$$pp" ]; then \
-			  $(OCAMLDEP) $(DEPFLAGS) $(INCFLAGS) $< > $@; \
+			  $(ECHO) $(REAL_OCAMLFIND) $(OCAMLDEP) $(DEPFLAGS) $(DINCFLAGS) $< \> $@; \
+			  $(REAL_OCAMLFIND) $(OCAMLDEP) $(DEPFLAGS) $(DINCFLAGS) $< > $@; \
 			else \
-			  $(OCAMLDEP) $(DEPFLAGS) \
-			    -pp "$$pp" $(INCFLAGS) $< > $@; \
+			  $(ECHO) $(REAL_OCAMLFIND) $(OCAMLDEP) $(DEPFLAGS) \
+			    -pp \"$$pp $(PPFLAGS)\" $(DINCFLAGS) $< \> $@; \
+			  $(REAL_OCAMLFIND) $(OCAMLDEP) $(DEPFLAGS) \
+			    -pp "$$pp $(PPFLAGS)" $(DINCFLAGS) $< > $@; \
 			fi
 
-doc/html: $(DOC_FILES)
-	rm -rf $@
+$(DOC_DIR)/$(RESULT)/html:
 	mkdir -p $@
-	$(OCAMLDOC) -html -d $@ $(OCAMLDOCFLAGS) $(DOC_FILES)
 
-doc/latex: $(DOC_FILES)
-	rm -rf $@
+$(DOC_DIR)/$(RESULT)/html/index.html: $(DOC_DIR)/$(RESULT)/html $(DOC_FILES)
+	rm -rf $</*
+	$(QUIET)pp=`sed -n -e '/^#/d' -e 's/(\*pp \([^*]*\) \*)/\1/p;q' $(FIRST_DOC_FILE)`; \
+	if [ -z "$$pp" ]; then \
+	  $(ECHO) $(REAL_OCAMLFIND) $(OCAMLDOC) $(OCAML_FIND_PACKAGES) -html -d $< $(OCAMLDOCFLAGS) $(INCFLAGS) $(DOC_FILES); \
+	  $(REAL_OCAMLFIND) $(OCAMLDOC) $(OCAML_FIND_PACKAGES) -html -d $< $(OCAMLDOCFLAGS) $(INCFLAGS) $(DOC_FILES); \
+	else \
+	  $(ECHO) $(REAL_OCAMLFIND) $(OCAMLDOC) $(OCAML_FIND_PACKAGES) -pp \"$$pp $(PPFLAGS)\" -html -d $< $(OCAMLDOCFLAGS) \
+	  	$(INCFLAGS) $(DOC_FILES); \
+	  $(REAL_OCAMLFIND) $(OCAMLDOC) $(OCAML_FIND_PACKAGES) -pp "$$pp $(PPFLAGS)" -html -d $< $(OCAMLDOCFLAGS) \
+	  	$(INCFLAGS) $(DOC_FILES); \
+	fi
+
+$(DOC_DIR)/$(RESULT)/latex:
 	mkdir -p $@
-	$(OCAMLDOC) -latex -d $@ $(OCAMLDOCFLAGS) $(DOC_FILES) -o doc.tex
-
-.PHONY:dot
-dot:
-	rm -rf $(RESULT).dot
-	rm -rf $(RESULT)-dot.ps
-	$(OCAMLDOC) -dot -dot-reduce  $(OCAMLDOCFLAGS) $(DOC_FILES) -o $(RESULT).dot
-	dot -Tps $(RESULT).dot > $(RESULT)-dot.ps
-
-dottype:
-	rm -rf $(RESULT).dot
-	rm -rf $(RESULT)-dot.ps
-	$(OCAMLDOC) -dot -dot-reduce -dot-types  $(OCAMLDOCFLAGS) $(DOC_FILES) -o $(RESULT).dot
-	dot -Tps $(RESULT).dot > $(RESULT)-dottype.ps
 
-
-doc/latex/doc.ps: doc/latex
-	cd doc/latex && \
+$(DOC_DIR)/$(RESULT)/latex/doc.tex: $(DOC_DIR)/$(RESULT)/latex $(DOC_FILES)
+	rm -rf $</*
+	$(QUIET)pp=`sed -n -e '/^#/d' -e 's/(\*pp \([^*]*\) \*)/\1/p;q' $(FIRST_DOC_FILE)`; \
+	if [ -z "$$pp" ]; then \
+	  $(ECHO) $(REAL_OCAMLFIND) $(OCAMLDOC) $(OCAML_FIND_PACKAGES) -latex $(OCAMLDOCFLAGS) $(INCFLAGS) \
+	  	$(DOC_FILES) -o $@; \
+	  $(REAL_OCAMLFIND) $(OCAMLDOC) $(OCAML_FIND_PACKAGES) -latex $(OCAMLDOCFLAGS) $(INCFLAGS) $(DOC_FILES) \
+	  	-o $@; \
+	else \
+	  $(ECHO) $(REAL_OCAMLFIND) $(OCAMLDOC) $(OCAML_FIND_PACKAGES) -pp \"$$pp $(PPFLAGS)\" -latex $(OCAMLDOCFLAGS) \
+	  	$(INCFLAGS) $(DOC_FILES) -o $@; \
+	  $(REAL_OCAMLFIND) $(OCAMLDOC) $(OCAML_FIND_PACKAGES) -pp "$$pp $(PPFLAGS)" -latex $(OCAMLDOCFLAGS) \
+	  	$(INCFLAGS) $(DOC_FILES) -o $@; \
+	fi
+
+$(DOC_DIR)/$(RESULT)/latex/doc.ps: $(DOC_DIR)/$(RESULT)/latex/doc.tex
+	cd $(DOC_DIR)/$(RESULT)/latex && \
 	  $(LATEX) doc.tex && \
 	  $(LATEX) doc.tex && \
 	  $(DVIPS) $(DVIPSFLAGS) doc.dvi -o $(@F)
 
-doc/latex/doc.pdf: doc/latex/doc.ps
-	cd doc/latex && $(PS2PDF) $(<F)
+$(DOC_DIR)/$(RESULT)/latex/doc.pdf: $(DOC_DIR)/$(RESULT)/latex/doc.ps
+	cd $(DOC_DIR)/$(RESULT)/latex && $(PS2PDF) $(<F)
+
+define make_subproj
+.PHONY:
+subproj_$(1):
+	$$(eval $$(call PROJ_$(1)))
+	$(QUIET)if [ "$(SUBTARGET)" != "all" ]; then \
+	  $(MAKE) -f $(OCAMLMAKEFILE) $(SUBTARGET); \
+	fi
+endef
+
+$(foreach subproj,$(SUBPROJS),$(eval $(call make_subproj,$(subproj))))
+
+.PHONY:
+subprojs: $(SUBPROJS:%=subproj_%)
 
 ###########################################################################
 # (UN)INSTALL RULES FOR LIBRARIES
 
 .PHONY: libinstall
 libinstall:	all
+	$(QUIET)printf "\nInstalling library with ocamlfind\n"
+	$(OCAMLFIND) install $(OCAMLFIND_INSTFLAGS) $(RESULT) META $(LIBINSTALL_FILES)
+	$(QUIET)printf "\nInstallation successful.\n"
+
+.PHONY: libinstall-byte-code
+libinstall-byte-code:	all
+	$(QUIET)printf "\nInstalling byte-code library with ocamlfind\n"
+	$(OCAMLFIND) install $(OCAMLFIND_INSTFLAGS) $(RESULT) META \
+	  $(filter-out $(RESULT).$(EXT_LIB) $(RESULT).cmxa, $(LIBINSTALL_FILES))
+	$(QUIET)printf "\nInstallation successful.\n"
+
+.PHONY: libinstall-native-code
+libinstall-native-code:	all
+	$(QUIET)printf "\nInstalling native-code library with ocamlfind\n"
+	$(OCAMLFIND) install $(OCAMLFIND_INSTFLAGS) $(RESULT) META \
+	  $(filter-out $(DLLSONAME) $(RESULT).cma, $(LIBINSTALL_FILES))
+	$(QUIET)printf "\nInstallation successful.\n"
+
+.PHONY: libuninstall
+libuninstall:
+	$(QUIET)printf "\nUninstalling library with ocamlfind\n"
+	$(OCAMLFIND) remove $(OCAMLFIND_INSTFLAGS) $(RESULT)
+	$(QUIET)printf "\nUninstallation successful.\n"
+
+.PHONY: rawinstall
+rawinstall:	all
 	$(QUIET)printf "\nInstalling library to: $(OCAML_LIB_INSTALL)\n"
 	-install -d $(OCAML_LIB_INSTALL)
 	for i in $(LIBINSTALL_FILES); do \
@@ -843,30 +1246,32 @@ libinstall:	all
 	done
 	$(QUIET)printf "\nInstallation successful.\n"
 
-.PHONY: libuninstall
-libuninstall:
+.PHONY: rawuninstall
+rawuninstall:
 	$(QUIET)printf "\nUninstalling library from: $(OCAML_LIB_INSTALL)\n"
-	cd $(OCAML_LIB_INSTALL); rm $(notdir $(LIBINSTALL_FILES))
+	cd $(OCAML_LIB_INSTALL) && rm $(notdir $(LIBINSTALL_FILES))
 	$(QUIET)printf "\nUninstallation successful.\n"
 
 ###########################################################################
-# MAINTAINANCE RULES
+# MAINTENANCE RULES
 
 .PHONY:	clean
-clean:
-	rm -f $(TARGETS) $(TRASH) *~
+clean::
+	rm -f $(TARGETS) $(TRASH)
 	rm -rf $(BCDIDIR) $(NCDIDIR) $(MLDEPDIR)
 
 .PHONY:	cleanup
-cleanup:
+cleanup::
 	rm -f $(NONEXECS) $(TRASH)
 	rm -rf $(BCDIDIR) $(NCDIDIR) $(MLDEPDIR)
 
 .PHONY: clean-doc
-clean-doc:
-	rm -rf doc
+clean-doc::
+	rm -rf $(DOC_DIR)/$(RESULT)
+
+.PHONY: clean-all
+clean-all:: clean clean-doc
 
 .PHONY: nobackup
 nobackup:
 	rm -f *.bak *~ *.dup
-
diff --git a/src/parser.mly b/src/parser.mly
index 55de7df9199469943b2a24d30fe6a320ad86f9a4..ce17e0154985ca7aaf2006348eb23f02e9a4a291 100644
--- a/src/parser.mly
+++ b/src/parser.mly
@@ -453,24 +453,37 @@ TypedValuedIdent :
 
 /* constantes */
 
-ConstDecl: TK_CONST ConstDeclList {} ;
+ConstDecl: TK_CONST ConstDeclList {
+	treat_const_decl_list $2
+} ;
 
 ConstDeclList: 
- | OneConstDecl TK_SEMICOL {}
- | ConstDeclList OneConstDecl TK_SEMICOL {} ;
-
+ | OneConstDecl TK_SEMICOL {
+		$1
+	}
+ | ConstDeclList OneConstDecl TK_SEMICOL {
+		$1 @ $2
+	}
+ ;
+
+/* Retourne une liste (lxm, const_info) */
 OneConstDecl: 
-/* Les listes d'idents en partie gauche sont 
-   acceptées pour les constantes externes : */
- | Ident TK_COLON Type { (treat_external_const_list [$1] $3 ) }
- | Ident TK_COMA IdentList TK_COLON Type 
-{ (treat_external_const_list ($1::(List.rev $3)) $5) }
+/* Les listes d'idents en partie gauche sont acceptées
+	pour les constantes externes : */
+ | Ident TK_COLON Type {
+		(make_external_const_list [$1] $3 ) 
+	}
+ | Ident TK_COMA IdentList TK_COLON Type {
+		(make_external_const_list ($1::(List.rev $3)) $5)
+	}
 /* Mais pas pour les constantes définies : */
-|  Ident TK_COLON Type TK_EQ Expression
-{ (treat_defined_const $1 (Some $3) $5)  }
-|  Ident TK_EQ Expression
-                        { (treat_defined_const $1 (None) $3 ) }
-        ; 
+ |  Ident TK_COLON Type TK_EQ Expression {
+		[ (make_defined_const $1 (Some $3) $5) ]
+	}
+ |  Ident TK_EQ Expression {
+		[ (make_defined_const $1 (None) $3 ) ]
+	}
+; 
 
 
 /* types */
@@ -539,10 +552,10 @@ NodeDecl: LocalNode {};
 
 LocalNode:
 | TK_NODE Ident StaticParams Params TK_RETURNS Params OptSemicol
-                Locals Body OptEndNode
+                 LocalDecls Body OptEndNode
         { treat_node_decl true $2 $3 $4 $6 $8 (fst $9) (snd $9) }
 | TK_FUNCTION Ident StaticParams Params TK_RETURNS Params OptSemicol
-                 Locals Body OptEndNode
+                 LocalDecls Body OptEndNode
         { treat_node_decl false $2 $3 $4 $6 $8 (fst $9) (snd $9) }
 | TK_NODE Ident StaticParams NodeProfileOpt TK_EQ EffectiveNode OptSemicol 
         { treat_node_alias true $2 $3 $4 $6 } ;
@@ -624,13 +637,49 @@ Params:
                         { (List.rev $2) }
         ;
 
+/* Déclarations ocales(2010/07/02)
+concret: liste de var(s) ou const
+abstrait: couple liste de vars * list de consts
+*/
+LocalDecls:
+	/* nada */
+	{ ([],[]) }
+|	LocalDeclList
+	{ $1 }
+;
+
+LocalDeclList:
+	OneLocalDecl
+		{ $1 }
+|  LocalDeclList OneLocalDecl
+		{
+			match ($1,$2) with
+			|	( (vl1, cl1) , (vl2, cl2)) ->
+				( vl2 @ vl1, cl2 @ cl1)
+		}
+;
+
+OneLocalDecl:
+	LocalVars
+		{ ($1, []) }
+|	LocalConsts
+		{ ([], $1) }
+;
+
+/* Déclaration de constantes locale (2010/07/02)
+uniquement des constantes définies
+*/
+LocalConsts:
+TK_CONST ConstDeclList
+	{ $2 }
+;
+
 /* variables locales */
-Locals:       /* empty */
-                        { [] }
-        |    TK_VAR VarDeclList TK_SEMICOL
-                  /* WARNING ! il faut remettre la liste à l'endroit */
-                        { (List.rev $2) }
-        ;
+LocalVars:
+	TK_VAR VarDeclList TK_SEMICOL
+	/* WARNING ! il faut remettre la liste à l'endroit */
+	{ (List.rev $2) }
+;
 
 
 /* liste de déclarations de vars typées et clockées */
diff --git a/src/parserUtils.ml b/src/parserUtils.ml
index c7054c063754a57bfeca50c6cf1228545fe1da36..2fdb1a6971dce792b8a623ddcfe26a481308905b 100644
--- a/src/parserUtils.ml
+++ b/src/parserUtils.ml
@@ -227,6 +227,22 @@ let id_valopt_list_of_id_list (idlist : Lxm.t list) (texp : type_exp) =
 let id_valopt_of_id_val (id : Lxm.t) (texp : type_exp) (vexp : val_exp) = (* -> unit *)
   (id, texp, Some vexp)
 
+
+let make_external_const_list lst typ = (* -> (lxm * const_info) list *)
+  let f = function lxm -> (lxm,  (ExternalConst ((Lxm.id lxm), typ, None)))
+  in List.map f lst
+
+let make_defined_const lxm typ exp = (* -> (lxm * const_info) *)
+	(lxm, (DefinedConst ((Lxm.id lxm) , typ, exp)))
+
+let treat_const_decl_list clst =
+  let f = function (lxm, cinfo) ->
+    add_info const_table "constant" lxm cinfo;
+    def_list := (ConstItem (Lxm.id lxm)) :: !def_list
+  in 
+    List.iter f clst
+
+(* obsolete 
 let treat_external_const_list lst typ = (* -> unit *)
   let f = function lxm ->
     add_info const_table "constant" lxm (ExternalConst ((Lxm.id lxm), typ, None));
@@ -238,6 +254,7 @@ let treat_external_const_list lst typ = (* -> unit *)
 let treat_defined_const lxm typ exp = (* -> unit *)
   add_info const_table "constant" lxm (DefinedConst ((Lxm.id lxm) , typ, exp));
   def_list := (ConstItem (Lxm.id lxm)) :: !def_list
+*)
 
 let treat_external_type_list lxmlst = (* -> unit *)
   let f = function lxm ->
@@ -246,7 +263,6 @@ let treat_external_type_list lxmlst = (* -> unit *)
   in
     List.iter f lxmlst 
 
-
 let treat_aliased_type lxm typexp = (*  -> unit *)
   add_info type_table "type" lxm (AliasedType ((Lxm.id lxm), typexp));
   def_list := (TypeItem (Lxm.id lxm)) :: !def_list
@@ -339,15 +355,22 @@ let (clocked_ids_to_var_infos : var_nature ->
 
 
 (**********************************************************************************)
+(*
+2010/07/02
+les déclarations locales comportent :
+- une liste de vars * une liste de consts
+*)
 let (treat_node_decl : bool -> Lxm.t -> static_param srcflagged list -> 
       clocked_ids list (* entrées *) -> 
       clocked_ids list (* sorties *) -> 
-      clocked_ids list (* locales *) -> 
+      (* clocked_ids list (* locales *) ->  *)
+		(clocked_ids list * (Lxm.t * const_info) list) ->
       (val_exp srcflagged) list (* assserts *) -> 
       (eq_info srcflagged) list (* liste des equations *) -> 
       unit
     ) =
-  fun has_memory nlxm statics indefs outdefs locdefs asserts eqs -> 
+  fun has_memory nlxm statics indefs outdefs locdecls asserts eqs -> 
+    let (locdefs, locconsts) = locdecls in
     let vtable = Hashtbl.create 50 in
     let rec (treat_vars : clocked_ids list -> var_nature -> var_info srcflagged list) =
       (* Procedure de traitement des in, out ou loc, paramétrée par la [var_nature] *)
diff --git a/src/syntaxTreeCore.ml b/src/syntaxTreeCore.ml
index 8f2a47629934c0327f4e377d1a904a41e12cf5e2..a891707bdc71b667b1b1a9bf0bef060cbd8bbc94 100644
--- a/src/syntaxTreeCore.ml
+++ b/src/syntaxTreeCore.ml
@@ -27,6 +27,7 @@ and node_info = {
   name    : Ident.t;
   static_params : static_param srcflagged list;
   vars    : node_vars option;  (* aliased node may have no i/o decl *)
+  (* consts  : ICI A FAIRE *)
   def     : node_def;
   has_mem : bool;
   is_safe : bool;
diff --git a/src/test/Makefile b/src/test/Makefile
index 98f6f97a7018292f5c42b5aebbc7cf40e61fe5db..a932ae14378da510d35f2bc1a6ed9bc36b7b9387 100644
--- a/src/test/Makefile
+++ b/src/test/Makefile
@@ -91,7 +91,7 @@ errors:errors_nb
 
 
 test_ec: 
-	rm test_ec.res
+	rm -f test_ec.res
 	for d in ${OK_LUS}; do \
 		echo -e "\n$(NL)====> $(LC) -ec $$d -o /tmp/xx.ec" >> test_ec.res; \
 		$(LC0) -ec $$d -o /tmp/xx.ec >> test_ec.res 2>&1 ;\
diff --git a/src/test/should_fail/clock/when_enum.lus b/src/test/should_fail/clock/when_enum.lus
new file mode 100644
index 0000000000000000000000000000000000000000..df436c416ad494f14df8378e48bf826009bc8e57
--- /dev/null
+++ b/src/test/should_fail/clock/when_enum.lus
@@ -0,0 +1,17 @@
+
+
+type t = enum {A,  B,  C};
+
+node clock(a : t ; b,  c: bool) returns (x: bool when a; y: bool when a);
+var
+  clk :  bool;
+let 
+  clk = tutu(a);
+  (x, y) = toto(b when clk, c when A(a)); -- clock error !
+
+tel
+
+
+extern node toto(u: bool; v: bool) returns (x: bool; y: bool);
+extern node tutu(u: t) returns (x: bool);
+
diff --git a/src/test/should_fail/type/packages.lus b/src/test/should_fail/type/packages.lus
new file mode 100644
index 0000000000000000000000000000000000000000..1a49fde79f26350d09ced86307e3f2985c7d70ee
--- /dev/null
+++ b/src/test/should_fail/type/packages.lus
@@ -0,0 +1,76 @@
+-----------------------------
+-- modSimple: un model simple 
+--    * necessite : un type
+--    * fournit : un noeud 
+----------------------------
+model modSimple
+  needs type t;
+  provides
+    node fby1(init, fb: t) returns (next: t);
+body
+  node fby1(init, fb: t) returns (next: t);
+  let
+    next = init -> pre fb;
+  tel
+end
+
+-----------------------
+-- qq instances de modSimple
+-----------------------
+package pint is modSimple(t=int);
+package pbool is modSimple(t=bool);
+package preal is modSimple(t=real);
+
+
+--------------------------
+-- un package intermediaire
+-------------------------
+package inter
+  uses pbool, pint, preal;
+  provides 
+    node preced(in: int) returns (out, out2: selType);
+    const n : int;
+    type selType;
+body
+   
+  type selType = { i: int; b: bool; r: real };
+
+  -----------------------
+  -- qq instances de modSimple
+  -----------------------
+   --package pint is modSimple(int);
+   --package pbool is modSimple(bool);
+   --package preal is modSimple(real);
+
+   --package pSel is modSimple( { i: int; b: bool; r: real } );
+        
+	const n: int = -4;
+	node preced(in: selType) returns (out, out2: selType);
+	let
+                out2 = selType { i = 0; b = true; r = 0.}; --pSel::fby1(in);
+  		out.i = pint::fby1(out2.i, in.i);
+  		out.b = pbool::fby1(out2.b, in.b);
+  		out.r = preal::fby1(out2.r, in.r);
+	tel 
+end
+---------------------------
+-- le package principal
+--------------------------
+package mainPack
+        uses inter;
+        provides 
+                node preced(in: inter::selType) returns (out: inter::selType); 
+body
+  
+     type  T = int^N;
+     const X = N;
+           N : int = -2 * inter::n;
+ 
+       -- node preced(in: bool) returns (out: bool);
+        node preced(in: inter::selType) returns (out: inter::selType);
+        var out2 : inter::selType;
+        let
+                out, out2 =  inter::preced( in );
+        tel 
+end
+
diff --git a/src/test/should_fail/type/parametric_node.lus b/src/test/should_fail/type/parametric_node.lus
new file mode 100644
index 0000000000000000000000000000000000000000..7d1daacd641a0cdeb5ca07a923ac9d49eedc25e5
--- /dev/null
+++ b/src/test/should_fail/type/parametric_node.lus
@@ -0,0 +1,12 @@
+
+
+node toto_n<<node f(a, b: int) returns (x: int); const n : int>>(a: int) 
+returns (x: int^n);
+var v : int;
+let
+  v = f(a, 1);
+  x =  v ^ n;
+tel
+
+node toto_3 = toto_n<<Lustre::iplus, 3.0>>;
+--                                  ^^^^ bad type here...
diff --git a/src/test/should_fail/type/parametric_node2.lus b/src/test/should_fail/type/parametric_node2.lus
new file mode 100644
index 0000000000000000000000000000000000000000..41846b3d73a685af89a149259406aab4d91010eb
--- /dev/null
+++ b/src/test/should_fail/type/parametric_node2.lus
@@ -0,0 +1,13 @@
+
+ 
+node toto_n<<node f(a, b: int) returns (x: real); const n : int>>(a: int) 
+--                                     ^^^^^^^^ should be an int
+returns (x: int^n);
+var v : int;
+let
+  v = f(a, 1);
+  x =  v ^ n;
+tel
+
+node toto_3 = toto_n<<Lustre::iplus, 3>>;
+
diff --git a/src/test/should_fail/type/parametric_node3.lus b/src/test/should_fail/type/parametric_node3.lus
new file mode 100644
index 0000000000000000000000000000000000000000..728f35b2555a80f823f3bb92f865b3b58f135fea
--- /dev/null
+++ b/src/test/should_fail/type/parametric_node3.lus
@@ -0,0 +1,11 @@
+
+-- A node parametrized by a node
+
+node toto_n<<type t; const x: t; const n: int>>(a:t) 
+returns (res: t^n);
+let
+  res =  a ^ n;
+tel
+
+node toto_int3 = toto_n<<int, 3>>; -- one arg is missing
+
diff --git a/src/test/should_fail/type/parametric_node4.lus b/src/test/should_fail/type/parametric_node4.lus
new file mode 100644
index 0000000000000000000000000000000000000000..0d75a8ba8c5d9ad2776d0184ff6919edee2390af
--- /dev/null
+++ b/src/test/should_fail/type/parametric_node4.lus
@@ -0,0 +1,14 @@
+
+ 
+node toto_n<<node f(a, b: int) returns (x: int); const n : int>>(a: int) 
+returns (x: int^n);
+var v : int;
+let
+  v = f(a, 1);
+  x =  v ^ n;
+tel
+
+const x: real = 3.0;
+
+node toto_3 = toto_n<<Lustre::iplus, x>>;
+
diff --git a/src/test/should_work/NONREG/FALLING_EDGE.lus b/src/test/should_work/NONREG/FALLING_EDGE.lus
new file mode 100644
index 0000000000000000000000000000000000000000..b2c83614e15573742a15789f8d4e5f52ff7d129b
--- /dev/null
+++ b/src/test/should_work/NONREG/FALLING_EDGE.lus
@@ -0,0 +1,5 @@
+node FALLING_EDGE (X: bool) returns (Y: bool);
+let
+ Y = EDGE(not X);
+tel
+node EDGE (X: bool) returns (Y: bool); let Y = false -> X and not pre(X); tel -- del
\ No newline at end of file
diff --git a/src/test/should_work/NONREG/STABLE.lus b/src/test/should_work/NONREG/STABLE.lus
new file mode 100644
index 0000000000000000000000000000000000000000..c6874961dd4938c51ca81312ed5333b656972159
--- /dev/null
+++ b/src/test/should_work/NONREG/STABLE.lus
@@ -0,0 +1,9 @@
+node STABLE (set: bool; delay: int) returns (level: bool);
+var count: int;
+let
+  level = (count > 0);
+  count = 
+      if set then delay
+      else if false -> pre(level) then pre(count)-1
+      else 0;
+tel
\ No newline at end of file
diff --git a/src/test/should_work/NONREG/integrator.lus b/src/test/should_work/NONREG/integrator.lus
new file mode 100644
index 0000000000000000000000000000000000000000..79d13e37f72eb6829d08bcf9686b9c0f145d4c1b
--- /dev/null
+++ b/src/test/should_work/NONREG/integrator.lus
@@ -0,0 +1,4 @@
+node integrator(F,STEP,init: real) returns (Y: real);
+let
+ Y = init -> pre(Y) + ((F + pre(F))*STEP)/2.0;
+tel
diff --git a/src/test/should_work/NONREG/param_node2.lus b/src/test/should_work/NONREG/param_node2.lus
new file mode 100644
index 0000000000000000000000000000000000000000..a462f00c9b6ec95696f84a2ecabc8a23eb42179b
--- /dev/null
+++ b/src/test/should_work/NONREG/param_node2.lus
@@ -0,0 +1,8 @@
+---- A node parametrized by a type and a constant
+node mk_tab<<type t; const init: t; const size: int>>
+       (a:t) returns (res: t^size);
+let
+  res =  init ^ size;
+tel ---
+node tab_int3 = mk_tab<<int, 0, 3>>; ---
+node tab_bool4 = mk_tab<<bool, true, 4>>;
diff --git a/src/test/should_work/NONREG/param_node3.lus b/src/test/should_work/NONREG/param_node3.lus
new file mode 100644
index 0000000000000000000000000000000000000000..b113f7fa7517ff28f496ca28502d031138ce9b73
--- /dev/null
+++ b/src/test/should_work/NONREG/param_node3.lus
@@ -0,0 +1,17 @@
+---- A node parametrized by a type and a constant
+node mk_tab<<type t; const init: t; const size: int>>
+       (a:t) returns (res: t^size);
+let
+  res =  init ^ size;
+tel ---
+
+--node tab_int3 = mk_tab<<int, 0, 3>>; ---
+--node tab_bool4 = mk_tab<<bool, true, 4>>;
+
+
+node titi<<type t>>(a:t) returns (res: t^3);
+let
+  res = mk_tab<<t, 0, 3>>(a);
+tel
+
+node xxx = titi<<int>>
\ No newline at end of file
diff --git a/src/test/should_work/NONREG/param_node4.lus b/src/test/should_work/NONREG/param_node4.lus
new file mode 100644
index 0000000000000000000000000000000000000000..fef62feed4d9f0730d942aafd68c1066199c37fd
--- /dev/null
+++ b/src/test/should_work/NONREG/param_node4.lus
@@ -0,0 +1,13 @@
+---- A node parametrized by a node and a const 
+node toto_n<<
+   node f(a, b: int) returns (x: int); 
+   const n : int
+  >>(a: int) returns (x: int^n);
+var v : int;
+let
+  v = f(a, 1);
+  x =  v ^ n;
+tel ---
+
+node monplus = Lustre::iplus;
+node toto_3 = toto_n<<monplus, 3>>;
diff --git a/src/test/should_work/NONREG/param_struct.lus b/src/test/should_work/NONREG/param_struct.lus
new file mode 100644
index 0000000000000000000000000000000000000000..5f47f33b01383c0b4cce3b761d67bc75f7c6db24
--- /dev/null
+++ b/src/test/should_work/NONREG/param_struct.lus
@@ -0,0 +1,11 @@
+--- A node parametrized by a constant structure
+node mk_tab<<type t; const init: t; const size: int>>
+       (a:t) returns (res: t^size);
+let
+  res =  init ^ size;
+tel
+
+type toto = struct  {a : int; b : int};
+const c = toto {a = 1; b=1 };
+
+node tab_toto = mk_tab<<toto, c, 3>>;
diff --git a/src/test/should_work/NONREG/speedcontrol.lus b/src/test/should_work/NONREG/speedcontrol.lus
new file mode 100644
index 0000000000000000000000000000000000000000..d7adca04b60a802f53b03ee87d83ac254bd2c3dd
--- /dev/null
+++ b/src/test/should_work/NONREG/speedcontrol.lus
@@ -0,0 +1,9 @@
+node speedcontrol(c:bool;) returns (counter:int);
+let
+ counter=(0)->f(counter);
+tel
+
+node f(x:int) returns (y:int;);
+let
+ y=0->pre(x)+1;
+tel
diff --git a/src/test/should_work/demo/mapinf.lus b/src/test/should_work/demo/mapinf.lus
new file mode 100644
index 0000000000000000000000000000000000000000..0ce249e0bb73340ff9cf5e90c2ba6e8d6971465a
--- /dev/null
+++ b/src/test/should_work/demo/mapinf.lus
@@ -0,0 +1,4 @@
+node mapinf (t1, t2: int^10) returns (res :  bool^10);
+let
+  res = map<< lt,  10>>(t1, t2);
+tel
diff --git a/src/test/test_ec.res.exp b/src/test/test_ec.res.exp
new file mode 100644
index 0000000000000000000000000000000000000000..978c958f3b66ccfcaa6de931749f8441843cbb49
--- /dev/null
+++ b/src/test/test_ec.res.exp
@@ -0,0 +1,1041 @@
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/NONREG/COUNTER.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/NONREG/CURRENT.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/NONREG/EDGE.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/NONREG/FALLING_EDGE.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/NONREG/Int.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/NONREG/PCOND.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/NONREG/PCOND1.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/NONREG/SOURIS.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/NONREG/STABLE.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/NONREG/SWITCH.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/NONREG/SWITCH1.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/NONREG/TIME_STABLE.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/NONREG/TIME_STABLE1.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/NONREG/Watch.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+syntax errors...
+syntax error     - at line 59
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/NONREG/X.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/NONREG/X1.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/NONREG/X2.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/NONREG/X3.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/NONREG/X6.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/NONREG/_N_uu.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/NONREG/activation_ec.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/NONREG/after.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/NONREG/alarme.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/NONREG/arbitre.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+syntax errors...
+syntax error     - at line 27
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/NONREG/argos.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/NONREG/assertion.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/NONREG/aux.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/NONREG/aux1.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/NONREG/bascule.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/NONREG/call.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+syntax errors...
+syntax error     - at line 15
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/NONREG/ck2.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/NONREG/ck3.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/NONREG/ck4.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/NONREG/ck5.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/NONREG/ck6.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/NONREG/ck7.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/NONREG/clock.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+syntax errors...
+syntax error     - at line 5
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/NONREG/cminus.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/NONREG/compteur.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/NONREG/count.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/NONREG/cpt.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/NONREG/cst.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/NONREG/deconne.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/NONREG/dep.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/NONREG/dependeur.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/NONREG/dependeur_struct.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/NONREG/drapfab.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/NONREG/enum.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+syntax errors...
+syntax error     - at line 5
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/NONREG/enum0.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+syntax errors...
+syntax error     - at line 5
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/NONREG/eq1.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/NONREG/ex.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/NONREG/exclusion.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/NONREG/fby.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/NONREG/flo.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/NONREG/fresh_name.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/NONREG/hanane.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/NONREG/import1.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/NONREG/initial.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/NONREG/integrator.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/NONREG/long_et_stupide_nom_de_noeud.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/NONREG/merge.lus -o /tmp/xx.ec
+*** Error in file "should_work/NONREG/merge.lus", line 7, col 15 to 17, token 'clk':
+*** syntax error
+
+ec2c /tmp/xx.ec
+EcParse : Can't open file '/tmp/xx.ec'
+syntax errors...
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/NONREG/minmax1.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/NONREG/minmax2.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/NONREG/minmax3.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/NONREG/minmax4.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/NONREG/minmax4_bis.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/NONREG/minmax5.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/NONREG/minmax5_random.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/NONREG/minmax6.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/NONREG/mm.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/NONREG/mm1.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/NONREG/mm22.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/NONREG/mm3.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/NONREG/model.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+syntax errors...
+syntax error     - at line 10
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/NONREG/model2.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+syntax errors...
+syntax error     - at line 5
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/NONREG/mouse.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/NONREG/mouse1.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/NONREG/mouse2.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/NONREG/mouse3.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/NONREG/multiclock.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/NONREG/nc1.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/NONREG/nc10.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/NONREG/nc2.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/NONREG/nc3.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/NONREG/nc4.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/NONREG/nc5.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/NONREG/nc6.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/NONREG/nc7.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/NONREG/nc8.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/NONREG/nc9.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/NONREG/nested.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/NONREG/node_caller1.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/NONREG/o2l_feux_compl.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/NONREG/packed_cst.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/NONREG/param_node.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/NONREG/param_node2.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/NONREG/param_node3.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/NONREG/param_node4.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/NONREG/param_struct.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/NONREG/patrick.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/NONREG/poussoir.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/NONREG/rs.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/NONREG/s.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/NONREG/simple.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+syntax errors...
+syntax error     - at line 6
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/NONREG/sincos.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/NONREG/speedcontrol.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/NONREG/stopwatch.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/NONREG/testCA.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/NONREG/test_clash.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+syntax errors...
+syntax error     - at line 5
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/NONREG/test_const.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/NONREG/test_node_expand.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/NONREG/test_node_expand2.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/NONREG/trivial.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/NONREG/trivial2.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/NONREG/tuple.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/NONREG/type_decl.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+syntax errors...
+syntax error     - at line 5
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/NONREG/uu.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/NONREG/v1.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/Pascal/consensus.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/Pascal/consensus2.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/Pascal/fby.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/Pascal/func_with_body.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/Pascal/heater_control.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/Pascal/left.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/Pascal/newpacks.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+syntax errors...
+syntax error     - at line 5
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/Pascal/onlyroll.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/Pascal/p.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+syntax errors...
+syntax error     - at line 5
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/Pascal/packs.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+syntax errors...
+syntax error     - at line 5
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/Pascal/pfs.lus -o /tmp/xx.ec
+*** Error in file "should_work/Pascal/pfs.lus", line 43, col 22 to 22, token '[':
+*** syntax error
+
+ec2c /tmp/xx.ec
+EcParse : Can't open file '/tmp/xx.ec'
+syntax errors...
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/Pascal/struct.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/Pascal/struct0.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/Pascal/t.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/Pascal/t0.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+syntax errors...
+syntax error     - at line 13
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/Pascal/t1.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/Pascal/t2.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/Pascal/test.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/Pascal/trivial.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/call/bad_call02.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/call/call01.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+syntax errors...
+syntax error     - at line 10
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/call/call02.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/call/call03.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+syntax errors...
+syntax error     - at line 19
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/call/call04.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/call/call05.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/call/call06.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/call/call07.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/clock/clock.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+syntax errors...
+syntax error     - at line 11
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/clock/clock2.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/clock/clock_ite.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/clock/when_enum.lus -o /tmp/xx.ec
+Error. *** Cannot generate V4 style Lustre for programs with enumerated clocks (yet), sorry.
+ec2c /tmp/xx.ec
+EcParse : Can't open file '/tmp/xx.ec'
+syntax errors...
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/clock/when_node.lus -o /tmp/xx.ec
+Error. *** Cannot generate V4 style Lustre for programs with enumerated clocks (yet), sorry.
+ec2c /tmp/xx.ec
+EcParse : Can't open file '/tmp/xx.ec'
+syntax errors...
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/clock/when_not.lus -o /tmp/xx.ec
+*** Error in file "should_work/clock/when_not.lus", line 7, col 12 to 17, token 'clock4':
+*** 
+*** clock error: The two following clocks are not unifiable:
+***	 on not a on base
+***	 on clock4_u on base
+
+
+ec2c /tmp/xx.ec
+EcParse : Can't open file '/tmp/xx.ec'
+syntax errors...
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/clock/when_tuple.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+syntax errors...
+syntax error     - at line 22
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/demo/Gyroscope2.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/demo/alias.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/demo/bred.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/demo/bred_lv4.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/demo/clock.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+syntax errors...
+syntax error     - at line 5
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/demo/clock1_2ms.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/demo/decl.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+syntax errors...
+syntax error     - at line 8
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/demo/declaration.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+syntax errors...
+syntax error     - at line 8
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/demo/def.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/demo/filliter.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/demo/filter.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/demo/lustre_test1_ok.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/demo/map_red_iter.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+syntax errors...
+syntax error     - at line 5
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/demo/mapdeRed.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/demo/mapinf.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/demo/mapiter.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/demo/mappredef.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/demo/plus.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/demo/pre_x.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/demo/rediter.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/demo/redoptest.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/demo/sample_time_change.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/fab_test/bob.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/fab_test/def.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/fab_test/ex.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/fab_test/iter.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/fab_test/iterate.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/fab_test/lecteur.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/fab_test/lucky.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/fab_test/morel.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/fab_test/morel2.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/fab_test/morel3.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/fab_test/morel4.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/fab_test/morel5.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/fab_test/noAlarm.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/fab_test/notTwo.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/fab_test/onlyroll.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/fab_test/onlyroll2.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/fab_test/test.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/fab_test/titi.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/fab_test/toolate.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+syntax errors...
+syntax error     - at line 5
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/fab_test/toto.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/lionel/FillFollowedByRed.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/lionel/Gyroscope.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/lionel/ProduitBool/produitBool.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/lionel/ProduitBool/shiftFill_ludic.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/lionel/ProduitBool/shift_ludic.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/lionel/arrays.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/lionel/bug.lus -o /tmp/xx.ec
+*** Error in file "should_work/lionel/bug.lus", line 2, col 6 to 10, token 'pack1':
+*** unknown package
+
+ec2c /tmp/xx.ec
+EcParse : Can't open file '/tmp/xx.ec'
+syntax errors...
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/lionel/calculs_max.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/lionel/clock.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/lionel/deSimone.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/lionel/iterFibo.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/lionel/mapiter.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/lionel/matrice.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/lionel/matrice2.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/lionel/minus.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/lionel/moyenne.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/lionel/normal.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+syntax errors...
+syntax error     - at line 5
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/lionel/pack1.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/lionel/pilote-1.0.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/lionel/pipeline.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/lionel/predefOp.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/lionel/redIf.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/lionel/remplissage-1.0.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/lionel/simpleRed.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/lionel/testSilus.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+syntax errors...
+syntax error     - at line 5
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/lionel/triSel.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/packEnvTest/Condact.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+syntax errors...
+syntax error     - at line 10
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/packEnvTest/complex.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/packEnvTest/contractForElementSelectionInArray/contractForElementSelectionInArray.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+syntax errors...
+syntax error     - at line 7
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/packEnvTest/contractForElementSelectionInArray/main.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+syntax errors...
+syntax error     - at line 7
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/packEnvTest/contractForElementSelectionInArray/noeudsIndependants.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/packEnvTest/contractForElementSelectionInArray/packageTableau.lus -o /tmp/xx.ec
+Error. No package has been provided
+ec2c /tmp/xx.ec
+EcParse : Can't open file '/tmp/xx.ec'
+syntax errors...
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/packEnvTest/contractForElementSelectionInArray/tri.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/packEnvTest/iter.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+syntax errors...
+syntax error     - at line 5
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/packEnvTest/model.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+syntax errors...
+syntax error     - at line 5
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/packEnvTest/modelInst.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+syntax errors...
+syntax error     - at line 5
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/packEnvTest/packages.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+syntax errors...
+syntax error     - at line 5
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/packEnvTest/packages2.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+syntax errors...
+syntax error     - at line 5
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/packEnvTest/polymorphic_pack.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+syntax errors...
+syntax error     - at line 6
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -ec should_work/to_sort_out/asservi.lus -o /tmp/xx.ec
+ec2c /tmp/xx.ec
+syntax errors...
+syntax error     - at line 18
diff --git a/src/test/test_lv4.res.exp b/src/test/test_lv4.res.exp
new file mode 100644
index 0000000000000000000000000000000000000000..abc55c7aeba409f0324ef8c510fc89219120a1d6
--- /dev/null
+++ b/src/test/test_lv4.res.exp
@@ -0,0 +1,2312 @@
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/NONREG/COUNTER.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus COUNTER__COUNTER
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/NONREG/CURRENT.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus CURRENT__CURRENT
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/NONREG/EDGE.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus EDGE__EDGE
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/NONREG/FALLING_EDGE.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus FALLING_EDGE__EDGE
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus FALLING_EDGE__FALLING_EDGE
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/NONREG/Int.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus Int8__fulladd
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus Int8__incr
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus Int8__add
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus mainPack__Nat
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/NONREG/PCOND.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus PCOND__PCOND
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/NONREG/PCOND1.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus PCOND1__PCOND1
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/NONREG/SOURIS.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus SOURIS__SOURIS
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/NONREG/STABLE.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus STABLE__STABLE
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/NONREG/SWITCH.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus SWITCH__SWITCH
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/NONREG/SWITCH1.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus SWITCH1__SWITCH1
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/NONREG/TIME_STABLE.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus TIME_STABLE__STABLE
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus TIME_STABLE__TIME_STABLE
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/NONREG/TIME_STABLE1.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus TIME_STABLE1__TIME1_STABLE1
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/NONREG/Watch.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus Watch__TWO_STATES
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus Watch__DIVIDE
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus Watch__DISPLAY
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus Watch__EDGE
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus Watch__ALARM
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus Watch__WATCH
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus Watch__STOPWATCH
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus Watch__BUTTONS
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus Watch__Watch
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus Watch__MORE_RECENT
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/NONREG/X.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus X__X
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/NONREG/X1.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus X1__X1
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/NONREG/X2.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus X2__X2
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/NONREG/X3.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus X3__X3
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/NONREG/X6.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus X6__X6
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/NONREG/_N_uu.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus _N_uu___N_uu
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/NONREG/activation_ec.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus activation_ec__activation_ec
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/NONREG/after.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus after__after
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/NONREG/alarme.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus alarme__edge
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus alarme__bascule
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus alarme__decompte
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus alarme__alarme
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/NONREG/arbitre.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus arbitre__my_switch
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus arbitre__process
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus arbitre__mutex
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus arbitre__arbitre
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/NONREG/argos.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus argos__argos
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/NONREG/assertion.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus assertion__assertion
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/NONREG/aux.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus aux__aux
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/NONREG/aux1.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus aux1__aux1
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/NONREG/bascule.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus bascule__bascule
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/NONREG/call.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus call__n
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus call__call
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/NONREG/ck2.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus ck2__ck2
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/NONREG/ck3.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus ck3__ck3
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/NONREG/ck4.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus ck4__ck4
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/NONREG/ck5.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus ck5__edge
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus ck5__ck5
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/NONREG/ck6.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus ck6__N
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus ck6__ck6
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/NONREG/ck7.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus ck7__ck7
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/NONREG/clock.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus clock__clock
+--Pollux Version 2.3a
+ syntax error detected while reading `when` (token 32) line 5 in main file xx.lus
+
+1 PolluxErrors found
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/NONREG/cminus.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus cminus__TWO_STATES
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus cminus__TWO_BUTTONS
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus cminus__cminus
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/NONREG/compteur.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus compteur__compteur
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/NONREG/count.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus count__count
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/NONREG/cpt.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus cpt__cpt
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/NONREG/cst.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus cst__cst
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/NONREG/deconne.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus deconne__deconne
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/NONREG/dep.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus dep__dep
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/NONREG/dependeur.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus dependeur__dependeur
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/NONREG/dependeur_struct.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus dependeur_struct__dependeur_struct
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/NONREG/drapfab.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus drapfab__drapfab
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/NONREG/enum.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus enum__boo
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/NONREG/enum0.lus -o /tmp/xx.lus
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/NONREG/eq1.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus eq1__eq1
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/NONREG/ex.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus ex__ex
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/NONREG/exclusion.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus exclusion__exclusion
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/NONREG/fby.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus fby__followed_by
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/NONREG/flo.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus flo__SWITCH
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus flo__flo
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/NONREG/fresh_name.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus fresh_name__n1
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus fresh_name__fn
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/NONREG/hanane.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus hanane__hanane
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/NONREG/import1.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus import1__import1
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/NONREG/initial.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus initial__initial
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/NONREG/integrator.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus integrator__integrator
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/NONREG/long_et_stupide_nom_de_noeud.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus long_et_stupide_nom_de_noeud__long_et_stupide_nom_de_noeud
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/NONREG/merge.lus -o /tmp/xx.lus
+*** Error in file "should_work/NONREG/merge.lus", line 7, col 15 to 17, token 'clk':
+*** syntax error
+
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/NONREG/minmax1.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus minmax1__minmax1
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/NONREG/minmax2.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus minmax2__minmax
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus minmax2__minmax2
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/NONREG/minmax3.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus minmax3__minmax
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus minmax3__minmax3
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/NONREG/minmax4.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus minmax4__minmax
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus minmax4__minmax4
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/NONREG/minmax4_bis.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus minmax4_bis__minmax
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus minmax4_bis__minmax4_bis
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/NONREG/minmax5.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus minmax5__minmax5
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/NONREG/minmax5_random.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus minmax5_random__minmax5_random
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/NONREG/minmax6.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus minmax6__minmax
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus minmax6__minmax6
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/NONREG/mm.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus mm__mm
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/NONREG/mm1.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus mm1__mm1
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/NONREG/mm22.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus mm22__mm22
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/NONREG/mm3.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus mm3__mm3
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/NONREG/model.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus u__egal
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus p___isEqualTo_
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus p__est_egal
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/NONREG/model2.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus p2___isEqualTo_
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus p2__est_egal
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus u__egal
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus p___isEqualTo_
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus p__est_egal
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/NONREG/mouse.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus mouse__edge
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus mouse__mouse
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/NONREG/mouse1.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus mouse1__mouse1
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/NONREG/mouse2.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus mouse2__edge
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus mouse2__mouse2
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/NONREG/mouse3.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus mouse3__mouse3
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/NONREG/multiclock.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus multiclock__moyenne
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus multiclock__multiclock
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/NONREG/nc1.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus nc1__n1
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus nc1__nc1
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/NONREG/nc10.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus nc10__n4
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus nc10__n3
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus nc10__n2
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus nc10__n1
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus nc10__nc10
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/NONREG/nc2.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus nc2__n1
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus nc2__nc2
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/NONREG/nc3.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus nc3__n1
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus nc3__nc3
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/NONREG/nc4.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus nc4__n1
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus nc4__n2
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus nc4__nc4
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/NONREG/nc5.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus nc5__n4
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus nc5__n3
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus nc5__n2
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus nc5__n1
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus nc5__nc5
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/NONREG/nc6.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus nc6__n4
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus nc6__n3
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus nc6__n2
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus nc6__n1
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus nc6__nc6
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/NONREG/nc7.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus nc7__n4
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus nc7__n3
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus nc7__n2
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus nc7__n1
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus nc7__nc7
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/NONREG/nc8.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus nc8__n4
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus nc8__n3
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus nc8__n2
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus nc8__n1
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus nc8__nc8
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/NONREG/nc9.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus nc9__n4
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus nc9__n3
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus nc9__n2
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus nc9__n1
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus nc9__nc9
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/NONREG/nested.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus nested__incr
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus nested__n_node_alias
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus nested__n_node_alias_2
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus nested__toto
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/NONREG/node_caller1.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus node_caller1__ex5
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus node_caller1__ex4
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus node_caller1__ex3
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus node_caller1__ex2
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus node_caller1__ex1
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus node_caller1__node_caller1
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/NONREG/o2l_feux_compl.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus o2l_feux_compl__o2l_feux_compl
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/NONREG/packed_cst.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus cst__cst
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/NONREG/param_node.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus n_param_node__toto_n_Lustre__iplus_3
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus param_node__toto_3
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/NONREG/param_node2.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus n_param_node2__mk_tab_int_0_3
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus param_node2__tab_int3
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus n_param_node2__mk_tab_bool_true_4
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus param_node2__tab_bool4
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/NONREG/param_node3.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus n_param_node3__mk_tab_int_0_3
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus n_param_node3__titi_int
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus param_node3__xxx
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/NONREG/param_node4.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus param_node4__monplus
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus n_param_node4__toto_n_param_node4__monplus_3
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus param_node4__toto_3
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/NONREG/param_struct.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus n_param_struct__mk_tab__param_struct__toto_param_struct__toto_3
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus param_struct__tab_toto
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/NONREG/patrick.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus patrick__patrick
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/NONREG/poussoir.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus poussoir__TWO_STATES
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus poussoir__ONE_BUTTON
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus poussoir__poussoir
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/NONREG/rs.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus rs__rs
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/NONREG/s.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus s__s
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/NONREG/simple.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus simple__simple
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/NONREG/sincos.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus sincos__integrator
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus sincos__sincos
+--Pollux Version 2.3a
+
+Combinatorial loop :
+V14_sin --> V16__v_1 --> V68__v_6 --> V67__v_5 --> V66__v_4 --> V65__v_3 --> V15_cos --> V18__v_3 --> V51__v_6 --> V50__v_5 --> V49__v_4 --> V48__v_3 --> V17__v_2 --> V14_sin
+
+PolluxError 636 in Net::DeadlockNotify:
+ Deadlock detected 
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/NONREG/speedcontrol.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus speedcontrol__f
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus speedcontrol__speedcontrol
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/NONREG/stopwatch.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus stopwatch__simple_stopwatch
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus stopwatch__stopwatch
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/NONREG/testCA.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus testCA__testCA
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/NONREG/test_clash.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus test__tutu
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus test__toto
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/NONREG/test_const.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus test_const__TDF_sans_PACQ
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/NONREG/test_node_expand.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus test_node_expand__n
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus test_node_expand__test
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/NONREG/test_node_expand2.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus test_node_expand2__f
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus test_node_expand2__n
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus test_node_expand2__test
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/NONREG/trivial.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus trivial__edge
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus trivial__trivial
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/NONREG/trivial2.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus trivial2__edge
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus trivial2__trivial2
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/NONREG/tuple.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus tuple__toto
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/NONREG/type_decl.lus -o /tmp/xx.lus
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/NONREG/uu.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus uu__uu
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/NONREG/v1.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus v1__v1
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/Pascal/consensus.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus n_consensus__consensus_1
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus n_consensus__consensus_2
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus n_consensus__consensus_3
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus n_consensus__consensus_4
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus consensus__main
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus n_consensus__consensus_5
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus n_consensus__consensus_6
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus n_consensus__consensus_7
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus n_consensus__consensus_8
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus n_consensus__consensus_9
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus n_consensus__consensus_10
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus consensus__main2
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus consensus__c8
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/Pascal/consensus2.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus n_consensus2__consensus_1
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus n_consensus2__consensus_2
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus n_consensus2__consensus_3
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus n_consensus2__consensus_4
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus n_consensus2__consensus_5
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus n_consensus2__consensus_6
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus n_consensus2__consensus_7
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus n_consensus2__consensus_8
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus consensus2__main
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/Pascal/fby.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus fby__rising_edge_bis
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus fby__rising_edge
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/Pascal/func_with_body.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus func_with_body__trivial
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/Pascal/heater_control.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus heater_control__not_a_sauna2
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus heater_control__min2
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus heater_control__max2
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus heater_control__Median
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus heater_control__abs
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus heater_control__noneoftree
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus heater_control__oneoftree
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus heater_control__alloftree
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus heater_control__Average
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus heater_control__heater_control
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus heater_control__not_a_sauna
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/Pascal/left.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus left__toto
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/Pascal/newpacks.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus preal__fby1
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus pbool__fby1
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus pint__fby1
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus inter__preced
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus mainPack__preced
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/Pascal/onlyroll.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus onlyroll__noneof
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus onlyroll__oneoffour
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus onlyroll__twooffour
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus onlyroll__threeoffour
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus onlyroll__max2
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus onlyroll__max4
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus onlyroll__min2
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus onlyroll__min4
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus onlyroll__OlympicAverage
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus onlyroll__MedianValue3
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus onlyroll__Median
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus onlyroll__Average2
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus onlyroll__Average
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus onlyroll__Calculate
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus onlyroll__abs
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus onlyroll__maintain
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus onlyroll__Monitor
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus onlyroll__InNominalRange
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus onlyroll__values_nok
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus onlyroll__FailDetect
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus onlyroll__Channel
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus onlyroll__Allocator
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus onlyroll__onlyroll
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus onlyroll__InHardoverRange
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/Pascal/p.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus preal__fby1
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus pbool__fby1
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus pint__fby1
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus inter__preced
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus mainPack__preced
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/Pascal/packs.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus preal__fby1
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus pbool__fby1
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus pint__fby1
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus inter__preced
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus mainPack__preced
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/Pascal/pfs.lus -o /tmp/xx.lus
+*** Error in file "should_work/Pascal/pfs.lus", line 43, col 22 to 22, token '[':
+*** syntax error
+
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/Pascal/struct.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus struct__plus
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/Pascal/struct0.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus struct0__bibi
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/Pascal/t.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus t__toto
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/Pascal/t0.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus n_t0__min_n_1
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus t0__min
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus n_t0__min_n_2
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus n_t0__min_n_3
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus n_t0__min_n_4
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus t0__min_4
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus t0__t0
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/Pascal/t1.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus n_t1__consensus_1
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus n_t1__consensus_2
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus n_t1__consensus_3
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus n_t1__consensus_4
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus t1__consensus4
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/Pascal/t2.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus n_t2__fold_left_bool_bool_1_Lustre__and
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus n_t2__fold_left_bool_bool_2_Lustre__and
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus n_t2__fold_left_bool_bool_3_Lustre__and
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus n_t2__fold_left_bool_bool_4_Lustre__and
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus n_t2__fold_left_bool_bool_5_Lustre__and
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus n_t2__fold_left_bool_bool_6_Lustre__and
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus t2__consensus_6
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus t2__t2
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus t2__consensus_6_bis
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/Pascal/test.lus -o /tmp/xx.lus
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/Pascal/trivial.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus trivial__trivial
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/call/bad_call02.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus bad_call02__bad_call02
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/call/call01.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus call01__toto
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus call01__call01
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/call/call02.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus call02__toto
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus call02__titi
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus call02__call02
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/call/call03.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus call03__tutu
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus call03__call03
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/call/call04.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus call04__toto
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus call04__titi
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus call04__tutu
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus call04__call04
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/call/call05.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus call05__call05
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/call/call06.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus call06__call06
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/call/call07.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus call07__call07
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/clock/clock.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus clock__clock
+--Pollux Version 2.3a
+ syntax error detected while reading `when` (token 32) line 10 in main file xx.lus
+
+1 PolluxErrors found
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/clock/clock2.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus clock2__clock
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/clock/clock_ite.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus clock_ite__clock
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/clock/when_enum.lus -o /tmp/xx.lus
+Error. *** Cannot generate V4 style Lustre for programs with enumerated clocks (yet), sorry.
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/clock/when_node.lus -o /tmp/xx.lus
+Error. *** Cannot generate V4 style Lustre for programs with enumerated clocks (yet), sorry.
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/clock/when_not.lus -o /tmp/xx.lus
+*** Error in file "should_work/clock/when_not.lus", line 7, col 12 to 17, token 'clock4':
+*** 
+*** clock error: The two following clocks are not unifiable:
+***	 on not a on base
+***	 on clock4_u on base
+
+
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/clock/when_tuple.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus when_tuple__titi
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus when_tuple__clock
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/demo/Gyroscope2.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus Gyroscope2__abs
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus Gyroscope2__ValueIsSecureII
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus Gyroscope2__countFalse
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus Gyroscope2__TooFar
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus Gyroscope2__assumeEvaluateAxis
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus Gyroscope2__assumeChannel
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus Gyroscope2__countValidChannels
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus Gyroscope2__sum
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus Gyroscope2__masking
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus Gyroscope2__Voter
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus Gyroscope2__selectFailure
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus Gyroscope2__addOneChannelIter
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus Gyroscope2__addOneChannel
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus Gyroscope2__CFC_iter
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus Gyroscope2__ComputeForeignChannels
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus Gyroscope2__compare_rolls
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus Gyroscope2__values_nok
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus Gyroscope2__CrossFailDetect
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus Gyroscope2__Channel
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus Gyroscope2__guaranteeChannel
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus Gyroscope2__iteratedVoter
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus Gyroscope2__assumeVoter
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus Gyroscope2__guaranteeEvaluateAxis
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus Gyroscope2__ValueIsSecure
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus Gyroscope2__EvaluateAxis
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus Gyroscope2__Gyroscope2
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus Gyroscope2__guaranteeVoter
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/demo/alias.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus alias__aliasIterOp
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus alias__aliasBoolRed
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus alias__unNoeud
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus alias__aliasGivenNode
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus alias__aliasPredefNot
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus alias__alias
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/demo/bred.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus bred__bred
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/demo/bred_lv4.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus bred_lv4__bred
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/demo/clock.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus clock__clock
+--Pollux Version 2.3a
+ syntax error detected while reading `when` (token 32) line 5 in main file xx.lus
+
+1 PolluxErrors found
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/demo/clock1_2ms.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus clock1_2ms__Clock1ms_node
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus clock1_2ms__Clock2ms_node
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus clock1_2ms__clock1_2ms
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/demo/decl.lus -o /tmp/xx.lus
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/demo/declaration.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus declaration__declaration
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus declaration__n4
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus declaration__n5
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/demo/def.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus def__def
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/demo/filliter.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus filliter__copie
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus filliter__incr_acc
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus filliter__filliter
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/demo/filter.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus filter__filter
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/demo/lustre_test1_ok.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus lustre_test1_ok__rising
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus lustre_test1_ok__TransFnc_1
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus lustre_test1_ok__subsys1
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus lustre_test1_ok__lustre_test1_ok
+--Pollux Version 2.3a
+
+PolluxError 997 in Op::NewClock:
+ (case 1) Invalid clock combination in equation of zoh2 in node lustre_test1_ok__lustre_test1_ok 
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/demo/map_red_iter.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus map_red_iter__traite_genCore_itere
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus map_red_iter__map_red_iter
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/demo/mapdeRed.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus mapdeRed__incr
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus mapdeRed__n_node_alias
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus mapdeRed__n_node_alias_2
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus mapdeRed__mapdeRed
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/demo/mapinf.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus mapinf__mapinf
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/demo/mapiter.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus mapiter__incr_tab
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus mapiter__n_node_alias
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus mapiter__mapiter
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/demo/mappredef.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus mappredef__mappredef
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/demo/plus.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus plus__plus
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/demo/pre_x.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus pre_x__pre_x
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/demo/rediter.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus rediter__max
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus rediter__n_node_alias
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus rediter__rediter
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/demo/redoptest.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus redoptest__max
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus redoptest__n_node_alias
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus redoptest__redoptest
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/demo/sample_time_change.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus sample_time_change__make_cl1_4_2
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus sample_time_change__make_cl1_12_3
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus sample_time_change__sample_time_change
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus sample_time_change__MainNode
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/fab_test/bob.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus bob__bob
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/fab_test/def.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus def__def
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/fab_test/ex.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus ex__id
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus ex__trueNode
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus ex__ex
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/fab_test/iter.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus iter__filled
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus iter__mapped
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus iter__garcia
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus iter__iter
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus iter__plus
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/fab_test/iterate.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus iterate__mapped
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus iterate__redduced
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus iterate__filled
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus iterate__fill_redduced
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus iterate__iterate
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/fab_test/lecteur.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus lecteur__Propriete
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus lecteur__Controleur
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus lecteur__Environnement
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus lecteur__lecteur
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/fab_test/lucky.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus lucky__implies
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus lucky__after
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus lucky__once_since
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus lucky__once_from_to
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus lucky__stable
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus lucky__lucky
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/fab_test/morel.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus morel__mcmorel
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus morel__tab
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus morel__morel
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/fab_test/morel2.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus morel2__mcmorel
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus morel2__morel2
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/fab_test/morel3.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus morel3__mcmorel
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus morel3__tab
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus morel3__morel3
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/fab_test/morel4.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus morel4__mcmorel
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus morel4__tab
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus morel4__morel4
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/fab_test/morel5.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus morel5__tab
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus morel5__morel5
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus morel5__mcmorel
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/fab_test/noAlarm.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus noAlarm__noAlarm
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/fab_test/notTwo.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus notTwo__notTwo
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/fab_test/onlyroll.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus onlyroll__noneof
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus onlyroll__oneoffour
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus onlyroll__twooffour
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus onlyroll__threeoffour
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus onlyroll__max2
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus onlyroll__max4
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus onlyroll__min2
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus onlyroll__min4
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus onlyroll__OlympicAverage
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus onlyroll__MedianValue3
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus onlyroll__Median
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus onlyroll__Average2
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus onlyroll__Average
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus onlyroll__Calculate
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus onlyroll__abs
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus onlyroll__maintain
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus onlyroll__Monitor
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus onlyroll__InNominalRange
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus onlyroll__values_nok
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus onlyroll__FailDetect
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus onlyroll__Channel
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus onlyroll__Allocator
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus onlyroll__onlyroll
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus onlyroll__InHardoverRange
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/fab_test/onlyroll2.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus onlyroll2__noneof
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus onlyroll2__oneoffour
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus onlyroll2__twooffour
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus onlyroll2__threeoffour
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus onlyroll2__max2
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus onlyroll2__max4
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus onlyroll2__min2
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus onlyroll2__min4
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus onlyroll2__OlympicAverage
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus onlyroll2__MedianValue3
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus onlyroll2__Median
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus onlyroll2__Average2
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus onlyroll2__Average
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus onlyroll2__Calculate
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus onlyroll2__abs
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus onlyroll2__maintain
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus onlyroll2__Monitor
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus onlyroll2__InNominalRange
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus onlyroll2__values_nok
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus onlyroll2__FailDetect
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus onlyroll2__Channel
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus onlyroll2__Allocator
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus onlyroll2__onlyroll2
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus onlyroll2__InHardoverRange
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/fab_test/test.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus test__three_outputs
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus test__two_outputs
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus test__test
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/fab_test/titi.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus titi__titi
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/fab_test/toolate.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus toolate__bidon
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus toolate__edge_detect
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus toolate__implies
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus toolate__after
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus toolate__once_since
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus toolate__once_from_to
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus toolate__toolate
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/fab_test/toto.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus toto__toto
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/lionel/FillFollowedByRed.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus FillFollowedByRed__reduced
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus FillFollowedByRed__filled
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus FillFollowedByRed__FillFollowedByRed
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/lionel/Gyroscope.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus Gyroscope__abs
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus Gyroscope__ValueIsSecureII
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus Gyroscope__countFalse
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus Gyroscope__TooFar
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus Gyroscope__assumeEvaluateAxis
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus Gyroscope__assumeSum
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus Gyroscope__assumeChannel
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus Gyroscope__min_int
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus Gyroscope__Maintain
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus Gyroscope__Channel
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus Gyroscope__countValidChannels
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus Gyroscope__sum
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus Gyroscope__masking
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus Gyroscope__Voter
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus Gyroscope__Voter2
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus Gyroscope__EvaluateAxis
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus Gyroscope__Gyroscope
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus Gyroscope__guaranteeChannel
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus Gyroscope__iteratedVoter
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus Gyroscope__assumeVoter
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus Gyroscope__guaranteeEvaluateAxis
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus Gyroscope__ValueIsSecure
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus Gyroscope__guaranteeSum
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus Gyroscope__guaranteeVoter
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/lionel/ProduitBool/produitBool.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus produitBool__iterated_isElementOf_
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus produitBool___isElementOf_
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus produitBool__selectOneStage
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus produitBool__selectElementOfRank_inArray_
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus produitBool__shiftFill
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus produitBool__shift
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus produitBool__produitBool
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus produitBool__PLC
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/lionel/ProduitBool/shiftFill_ludic.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus shiftFill_ludic__n_selectOneStage
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus shiftFill_ludic__n_selectElementOfRank_inArray_
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus shiftFill_ludic__n_shiftFill
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/lionel/ProduitBool/shift_ludic.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus shift_ludic__n_selectOneStage
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus shift_ludic__n_selectElementOfRank_inArray_
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus shift_ludic__n_shiftFill
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus shift_ludic__n_shift
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/lionel/arrays.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus arrays__incr
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus arrays__n_node_alias_2
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus arrays__n_node_alias
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus arrays__big_sum
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus arrays__n_node_alias_3
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus arrays__n_node_alias_4
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus arrays__big_or
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus arrays__n_node_alias_5
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus arrays__n_node_alias_6
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus arrays__big_incr
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus arrays__full_adder
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus arrays__n_node_alias_7
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus arrays__n_node_alias_8
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus arrays__add_long
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus arrays__n_node_alias_9
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus arrays__n_node_alias_10
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus arrays__big_xor
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus arrays__arrays
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus arrays__add_byte
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/lionel/bug.lus -o /tmp/xx.lus
+*** Error in file "should_work/lionel/bug.lus", line 2, col 6 to 10, token 'pack1':
+*** unknown package
+
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/lionel/calculs_max.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus calculs_max__max
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus calculs_max__fill_bool
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus calculs_max__calculs_max
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/lionel/clock.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus clock__n1
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus clock__system
+--Pollux Version 2.3a
+
+PolluxError 796 in Call::TypeChecking:
+ Incorrect output Type, 0th output of call clock__n1_C0 in node clock__system 
+lus2ec /tmp/xx.lus clock__n2
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/lionel/deSimone.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus deSimone__oneCell
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus deSimone__prop1_iter
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus deSimone__deSimone
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus deSimone__prop1
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/lionel/iterFibo.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus iterFibo__fibo
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus iterFibo__iterFibo
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/lionel/mapiter.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus mapiter__incr
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus mapiter__bitalt
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus mapiter__fill_bitalt
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus mapiter__initmat
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus mapiter__red_incr
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus mapiter__reducemat
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus mapiter__n_node_alias
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus mapiter__map_egal
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus mapiter__composemat
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus mapiter__mapiter
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/lionel/matrice.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus matrice__fibo
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus matrice__n_node_alias
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus matrice__n_node_alias_2
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus matrice__matrice
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/lionel/matrice2.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus matrice2__n_node_alias
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus matrice2__matrice2
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/lionel/minus.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus minus__n_node_alias
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus minus__bitalt
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus minus__n_node_alias_2
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus minus__n_node_alias_3
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus minus__minus
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/lionel/moyenne.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus moyenne__moyenne_step
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus moyenne__moyenne
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/lionel/normal.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus normal__int2InfoChgIndiv
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus normal__extract_tab_info_chg_indiv
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus normal__int2InfoGenIndiv
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus normal__extract_tab_info_gen_indiv
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus normal__egal_indice
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus normal__copie
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus normal__essai_traite_gen
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus normal__fusion_une_com
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus normal__fusion_tab_com
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus normal__fusion_com
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus normal__traite_genCore_itere
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus normal__essai2
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus normal__id
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus normal__extract_info_chg_glob
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus normal__extrCharge
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus normal__trChItere
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus normal__essai3
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus normal__traite_gen_core
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus normal__traite_gen
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus normal__extract_info_gen_glob
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus normal__traite_charge
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus normal__incr_acc
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus normal__extrGen
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus normal__traiteGen
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus normal__traiteChg
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus normal__normal
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus normal__traite_gen_bis
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/lionel/pack1.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus pack1__n1
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus pack1__n2
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/lionel/pilote-1.0.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus pilote__ctrl
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus pilote__udpateCntElt
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus pilote__updateCnt
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus pilote__capt
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus pilote__boiteCP
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus pilote__pilote
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus pilote__mem
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus pilote__semMem
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus pilote__read
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus util__change_elt2
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus util__change_tab2
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus util__Niter
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus util__updateNbrCopy
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus util__checkCopy
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus util__updateCptRetard
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus util__updateRetard
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus util__calculRetard
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus util__countIter
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus util__updateIndice
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus util__observer
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus pilote__system
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/lionel/pipeline.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus pipeline__oneStep_pipe
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus pipeline__pipeline
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/lionel/predefOp.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus predefOp__incr
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus predefOp__bitalt
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus predefOp__n_node_alias
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus predefOp__initmatbool
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus predefOp__n_node_alias_2
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus predefOp__composematbool
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus predefOp__n_node_alias_3
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus predefOp__reducematbool
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus predefOp__predefOp2
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus predefOp__n_node_alias_4
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus predefOp__n_node_alias_5
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus predefOp__composematint
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus predefOp__incremental
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus predefOp__n_node_alias_6
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus predefOp__reducematint
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus predefOp__n_node_alias_7
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus predefOp__initmatint
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus predefOp__predefOp
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/lionel/redIf.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus redIf__monIf
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus redIf__redIf
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/lionel/remplissage-1.0.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus util__change_elt2
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus util__change_tab2
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus util__Niter
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus util__updateNbrCopy
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus util__checkCopy
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus util__updateCptRetard
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus util__updateRetard
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus util__calculRetard
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus util__countIter
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus util__updateIndice
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus util__observer
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/lionel/simpleRed.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus simpleRed__simpleRed
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/lionel/testSilus.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus testSilus__int2InfoChgIndiv
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus testSilus__extract_tab_info_chg_indiv
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus testSilus__int2InfoGenIndiv
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus testSilus__extract_tab_info_gen_indiv
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus testSilus__egal_indice
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus testSilus__copie
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus testSilus__fusion_une_com
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus testSilus__fusion_tab_com
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus testSilus__fusion_com
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus testSilus__traite_genCore_itere
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus testSilus__id
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus testSilus__extract_info_chg_glob
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus testSilus__extrCharge
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus testSilus__trChItere
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus testSilus__traite_gen_core
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus testSilus__traite_gen
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus testSilus__extract_info_gen_glob
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus testSilus__traite_charge
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus testSilus__traiteChg
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus testSilus__incr_acc
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus testSilus__extrGen
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus testSilus__traiteGen
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus testSilus__testSilus
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/lionel/triSel.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus triSel__minFromRank
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus triSel__select
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus triSel__Exchange_i_j
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus triSel__UnarySort
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus triSel__triSel
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus triSel__sorted_iter
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus triSel__Sorted
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/packEnvTest/Condact.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus Util__carre
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus TestCondact__n
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus TestCondact__C
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus Main__Condact
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/packEnvTest/complex.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus complex__re
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/packEnvTest/contractForElementSelectionInArray/contractForElementSelectionInArray.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus contractForElementSelectionInArray__selectOneStage
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus contractForElementSelectionInArray__selectEltInArray
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/packEnvTest/contractForElementSelectionInArray/main.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus util__igt
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus intArray___isGreaterThan_
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus intArray___isEqualTo_
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus intArray__iterated_isElementOf_
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus intArray___isElementOf_
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus intArray___isGreaterOrEqualTo_
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus intArray__isLocallyLoselySorted
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus intArray___isLoselySorted
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus intArray__minFromRank
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus intArray__select
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus intArray__Exchange_i_j
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus intArray__UnarySort
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus intArray__sort_
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus intArray__selectMax
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus intArray__getMaximumIn_
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus intArray__selectOneStage
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus intArray__selectElementOfRank_inArray_
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus intArray__selectMin
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus intArray__getMinimumIn_
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus intArray__selectMaxRank
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus intArray__getRank_ofMaximumIn_
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus intArray__selectMinRank
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus intArray__getRank_ofMinimumIn_
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus main__main
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/packEnvTest/contractForElementSelectionInArray/noeudsIndependants.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus noeudsIndependants__equals
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus noeudsIndependants__gt
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/packEnvTest/contractForElementSelectionInArray/packageTableau.lus -o /tmp/xx.lus
+Error. No package has been provided
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/packEnvTest/contractForElementSelectionInArray/tri.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus tri__minFromRank
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus tri__select
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus tri__Exchange_i_j
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus tri__UnarySort
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus tri__main
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus tri__sorted_iter
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus tri__Sorted
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/packEnvTest/iter.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus p__n
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus p__map2
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus main__main
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/packEnvTest/model.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus pint__fby1
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/packEnvTest/modelInst.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus Pint__n
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus Preal__n
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus Pbool__n
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus main__main
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/packEnvTest/packages.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus preal__fby1
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus pbool__fby1
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus pint__fby1
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus inter__preced
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus mainPack__preced
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/packEnvTest/packages2.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus preal__fby1
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus pbool__fby1
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus pint__fby1
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus inter__preced
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus main__foo
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/packEnvTest/polymorphic_pack.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus p__n
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus p__map2
+--Pollux Version 2.3a
+
+----------------------------------------------------------------------
+====> ../lus2lic -vl 2 -lv4 should_work/to_sort_out/asservi.lus -o /tmp/xx.lus
+lus2ec /tmp/xx.lus asservi__D
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus asservi__I
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus asservi__I2
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus asservi__PEND
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus asservi__jeu
+--Pollux Version 2.3a
+lus2ec /tmp/xx.lus asservi__asservi
+--Pollux Version 2.3a