From 022c82058d02d96aa24cd778876893ee045461b6 Mon Sep 17 00:00:00 2001
From: Ibtissem Benchikh LeHocine <ibtissem.benchikh@gmail.com>
Date: Tue, 23 May 2017 18:25:36 +0200
Subject: [PATCH] code final

---
 Files/fm1.pos.txt                      |  1 +
 Files/fm1.posN.txt                     |  1 +
 Files/fm1.posNP.txt                    |  1 +
 Files/fm1.posNPG.txt                   |  1 +
 Files/fm1.txt                          |  1 +
 Files/fm2.pos.txt                      |  3 +
 Files/fm2.posN.txt                     |  3 +
 Files/fm2.posNP.txt                    |  3 +
 Files/fm2.posNPG.txt                   |  3 +
 Files/fm2.txt                          |  3 +
 Files/fm3.pos.txt                      |  5 ++
 Files/fm3.posN.txt                     |  5 ++
 Files/fm3.posNP.txt                    |  5 ++
 Files/fm3.posNPG.txt                   |  5 ++
 Files/fm3.txt                          |  5 ++
 Files/fm4.pos.txt                      |  7 ++
 Files/fm4.posN.txt                     |  7 ++
 Files/fm4.posNP.txt                    |  7 ++
 Files/fm4.posNPG.txt                   |  7 ++
 Files/fm4.txt                          |  7 ++
 Files/fm5.pos.txt                      |  9 +++
 Files/fm5.posN.txt                     |  9 +++
 Files/fm5.posNP.txt                    |  9 +++
 Files/fm5.posNPG.txt                   |  9 +++
 Files/fm5.txt                          |  9 +++
 Files/fm6.pos.txt                      | 11 +++
 Files/fm6.posN.txt                     | 11 +++
 Files/fm6.posNP.txt                    | 11 +++
 Files/fm6.posNPG.txt                   | 11 +++
 Files/fm6.txt                          | 11 +++
 Files/fm7.pos.txt                      | 13 ++++
 Files/fm7.posN.txt                     | 13 ++++
 Files/fm7.posNP.txt                    | 13 ++++
 Files/fm7.posNPG.txt                   | 13 ++++
 Files/fm7.txt                          | 13 ++++
 maca_morpho/src/maca_morpho_context.c  | 13 +---
 maca_morpho/src/maca_morpho_context.h  |  2 -
 maca_morpho/src/maca_morpho_feat_fct.c | 30 +-------
 maca_morpho/src/predict.h              |  3 +-
 maca_morpho/src/predict_fct.c          | 95 ++------------------------
 40 files changed, 254 insertions(+), 134 deletions(-)
 create mode 100644 Files/fm1.pos.txt
 create mode 100644 Files/fm1.posN.txt
 create mode 100644 Files/fm1.posNP.txt
 create mode 100644 Files/fm1.posNPG.txt
 create mode 100644 Files/fm1.txt
 create mode 100644 Files/fm2.pos.txt
 create mode 100644 Files/fm2.posN.txt
 create mode 100644 Files/fm2.posNP.txt
 create mode 100644 Files/fm2.posNPG.txt
 create mode 100644 Files/fm2.txt
 create mode 100644 Files/fm3.pos.txt
 create mode 100644 Files/fm3.posN.txt
 create mode 100644 Files/fm3.posNP.txt
 create mode 100644 Files/fm3.posNPG.txt
 create mode 100644 Files/fm3.txt
 create mode 100644 Files/fm4.pos.txt
 create mode 100644 Files/fm4.posN.txt
 create mode 100644 Files/fm4.posNP.txt
 create mode 100644 Files/fm4.posNPG.txt
 create mode 100644 Files/fm4.txt
 create mode 100644 Files/fm5.pos.txt
 create mode 100644 Files/fm5.posN.txt
 create mode 100644 Files/fm5.posNP.txt
 create mode 100644 Files/fm5.posNPG.txt
 create mode 100644 Files/fm5.txt
 create mode 100644 Files/fm6.pos.txt
 create mode 100644 Files/fm6.posN.txt
 create mode 100644 Files/fm6.posNP.txt
 create mode 100644 Files/fm6.posNPG.txt
 create mode 100644 Files/fm6.txt
 create mode 100644 Files/fm7.pos.txt
 create mode 100644 Files/fm7.posN.txt
 create mode 100644 Files/fm7.posNP.txt
 create mode 100644 Files/fm7.posNPG.txt
 create mode 100644 Files/fm7.txt

diff --git a/Files/fm1.pos.txt b/Files/fm1.pos.txt
new file mode 100644
index 0000000..cd1b0f4
--- /dev/null
+++ b/Files/fm1.pos.txt
@@ -0,0 +1 @@
+feat_pos s1
diff --git a/Files/fm1.posN.txt b/Files/fm1.posN.txt
new file mode 100644
index 0000000..cc4bd34
--- /dev/null
+++ b/Files/fm1.posN.txt
@@ -0,0 +1 @@
+feat_pos feat_number s1
diff --git a/Files/fm1.posNP.txt b/Files/fm1.posNP.txt
new file mode 100644
index 0000000..b3c2eae
--- /dev/null
+++ b/Files/fm1.posNP.txt
@@ -0,0 +1 @@
+feat_pos feat_number feat_person s1
diff --git a/Files/fm1.posNPG.txt b/Files/fm1.posNPG.txt
new file mode 100644
index 0000000..7ba7661
--- /dev/null
+++ b/Files/fm1.posNPG.txt
@@ -0,0 +1 @@
+feat_pos feat_number feat_person feat_gender s1
diff --git a/Files/fm1.txt b/Files/fm1.txt
new file mode 100644
index 0000000..655c6e6
--- /dev/null
+++ b/Files/fm1.txt
@@ -0,0 +1 @@
+s1
diff --git a/Files/fm2.pos.txt b/Files/fm2.pos.txt
new file mode 100644
index 0000000..a17f754
--- /dev/null
+++ b/Files/fm2.pos.txt
@@ -0,0 +1,3 @@
+feat_pos s1
+feat_pos s2
+feat_pos s1 s2
diff --git a/Files/fm2.posN.txt b/Files/fm2.posN.txt
new file mode 100644
index 0000000..f6e2798
--- /dev/null
+++ b/Files/fm2.posN.txt
@@ -0,0 +1,3 @@
+feat_pos feat_number s1
+feat_pos feat_number s2
+feat_pos feat_number s1 s2
diff --git a/Files/fm2.posNP.txt b/Files/fm2.posNP.txt
new file mode 100644
index 0000000..c91798b
--- /dev/null
+++ b/Files/fm2.posNP.txt
@@ -0,0 +1,3 @@
+feat_pos feat_number feat_person s1
+feat_pos feat_number feat_person s2
+feat_pos feat_number feat_person s1 s2
diff --git a/Files/fm2.posNPG.txt b/Files/fm2.posNPG.txt
new file mode 100644
index 0000000..2f91aa6
--- /dev/null
+++ b/Files/fm2.posNPG.txt
@@ -0,0 +1,3 @@
+feat_pos feat_number feat_person feat_gender s1
+feat_pos feat_number feat_person feat_gender s2
+feat_pos feat_number feat_person feat_gender s1 s2
diff --git a/Files/fm2.txt b/Files/fm2.txt
new file mode 100644
index 0000000..eb3fcaf
--- /dev/null
+++ b/Files/fm2.txt
@@ -0,0 +1,3 @@
+s1
+s2
+s1 s2
diff --git a/Files/fm3.pos.txt b/Files/fm3.pos.txt
new file mode 100644
index 0000000..78aa773
--- /dev/null
+++ b/Files/fm3.pos.txt
@@ -0,0 +1,5 @@
+feat_pos s1
+feat_pos s2
+feat_pos s3
+feat_pos s1 s2
+feat_pos s1 s2 s3
diff --git a/Files/fm3.posN.txt b/Files/fm3.posN.txt
new file mode 100644
index 0000000..73d6978
--- /dev/null
+++ b/Files/fm3.posN.txt
@@ -0,0 +1,5 @@
+feat_pos feat_number s1
+feat_pos feat_number s2
+feat_pos feat_number s3
+feat_pos feat_number s1 s2
+feat_pos feat_number s1 s2 s3
diff --git a/Files/fm3.posNP.txt b/Files/fm3.posNP.txt
new file mode 100644
index 0000000..25e41d5
--- /dev/null
+++ b/Files/fm3.posNP.txt
@@ -0,0 +1,5 @@
+feat_pos feat_number feat_person s1
+feat_pos feat_number feat_person s2
+feat_pos feat_number feat_person s3
+feat_pos feat_number feat_person s1 s2
+feat_pos feat_number feat_person s1 s2 s3
diff --git a/Files/fm3.posNPG.txt b/Files/fm3.posNPG.txt
new file mode 100644
index 0000000..8dc9621
--- /dev/null
+++ b/Files/fm3.posNPG.txt
@@ -0,0 +1,5 @@
+feat_pos feat_number feat_person feat_gender s1
+feat_pos feat_number feat_person feat_gender s2
+feat_pos feat_number feat_person feat_gender s3
+feat_pos feat_number feat_person feat_gender s1 s2
+feat_pos feat_number feat_person feat_gender s1 s2 s3
diff --git a/Files/fm3.txt b/Files/fm3.txt
new file mode 100644
index 0000000..56a7191
--- /dev/null
+++ b/Files/fm3.txt
@@ -0,0 +1,5 @@
+s1
+s2
+s3
+s1 s2
+s1 s2 s3
diff --git a/Files/fm4.pos.txt b/Files/fm4.pos.txt
new file mode 100644
index 0000000..281ac4d
--- /dev/null
+++ b/Files/fm4.pos.txt
@@ -0,0 +1,7 @@
+feat_pos s1
+feat_pos s2
+feat_pos s3
+feat_pos s4
+feat_pos s1 s2
+feat_pos s1 s2 s3
+feat_pos s1 s2 s3 s4
diff --git a/Files/fm4.posN.txt b/Files/fm4.posN.txt
new file mode 100644
index 0000000..28d6107
--- /dev/null
+++ b/Files/fm4.posN.txt
@@ -0,0 +1,7 @@
+feat_pos feat_number s1
+feat_pos feat_number s2
+feat_pos feat_number s3
+feat_pos feat_number s4
+feat_pos feat_number s1 s2
+feat_pos feat_number s1 s2 s3
+feat_pos feat_number s1 s2 s3 s4
diff --git a/Files/fm4.posNP.txt b/Files/fm4.posNP.txt
new file mode 100644
index 0000000..9d43db3
--- /dev/null
+++ b/Files/fm4.posNP.txt
@@ -0,0 +1,7 @@
+feat_pos feat_number feat_person s1
+feat_pos feat_number feat_person s2
+feat_pos feat_number feat_person s3
+feat_pos feat_number feat_person s4
+feat_pos feat_number feat_person s1 s2
+feat_pos feat_number feat_person s1 s2 s3
+feat_pos feat_number feat_person s1 s2 s3 s4
diff --git a/Files/fm4.posNPG.txt b/Files/fm4.posNPG.txt
new file mode 100644
index 0000000..33f53d5
--- /dev/null
+++ b/Files/fm4.posNPG.txt
@@ -0,0 +1,7 @@
+feat_pos feat_number feat_person feat_gender s1
+feat_pos feat_number feat_person feat_gender s2
+feat_pos feat_number feat_person feat_gender s3
+feat_pos feat_number feat_person feat_gender s4
+feat_pos feat_number feat_person feat_gender s1 s2
+feat_pos feat_number feat_person feat_gender s1 s2 s3
+feat_pos feat_number feat_person feat_gender s1 s2 s3 s4
diff --git a/Files/fm4.txt b/Files/fm4.txt
new file mode 100644
index 0000000..9b8dc89
--- /dev/null
+++ b/Files/fm4.txt
@@ -0,0 +1,7 @@
+s1
+s2
+s3
+s4
+s1 s2
+s1 s2 s3
+s1 s2 s3 s4
diff --git a/Files/fm5.pos.txt b/Files/fm5.pos.txt
new file mode 100644
index 0000000..44aeee5
--- /dev/null
+++ b/Files/fm5.pos.txt
@@ -0,0 +1,9 @@
+feat_pos s1
+feat_pos s2
+feat_pos s3
+feat_pos s4
+feat_pos s5
+feat_pos s1 s2
+feat_pos s1 s2 s3
+feat_pos s1 s2 s3 s4
+feat_pos s1 s2 s3 s4 s5
diff --git a/Files/fm5.posN.txt b/Files/fm5.posN.txt
new file mode 100644
index 0000000..b69eeea
--- /dev/null
+++ b/Files/fm5.posN.txt
@@ -0,0 +1,9 @@
+feat_pos feat_number s1
+feat_pos feat_number s2
+feat_pos feat_number s3
+feat_pos feat_number s4
+feat_pos feat_number s5
+feat_pos feat_number s1 s2
+feat_pos feat_number s1 s2 s3
+feat_pos feat_number s1 s2 s3 s4
+feat_pos feat_number s1 s2 s3 s4 s5
diff --git a/Files/fm5.posNP.txt b/Files/fm5.posNP.txt
new file mode 100644
index 0000000..5d82319
--- /dev/null
+++ b/Files/fm5.posNP.txt
@@ -0,0 +1,9 @@
+feat_pos feat_number feat_person s1
+feat_pos feat_number feat_person s2
+feat_pos feat_number feat_person s3
+feat_pos feat_number feat_person s4
+feat_pos feat_number feat_person s5
+feat_pos feat_number feat_person s1 s2
+feat_pos feat_number feat_person s1 s2 s3
+feat_pos feat_number feat_person s1 s2 s3 s4
+feat_pos feat_number feat_person s1 s2 s3 s4 s5
diff --git a/Files/fm5.posNPG.txt b/Files/fm5.posNPG.txt
new file mode 100644
index 0000000..d312df3
--- /dev/null
+++ b/Files/fm5.posNPG.txt
@@ -0,0 +1,9 @@
+feat_pos feat_number feat_person feat_gender s1
+feat_pos feat_number feat_person feat_gender s2
+feat_pos feat_number feat_person feat_gender s3
+feat_pos feat_number feat_person feat_gender s4
+feat_pos feat_number feat_person feat_gender s5
+feat_pos feat_number feat_person feat_gender s1 s2
+feat_pos feat_number feat_person feat_gender s1 s2 s3
+feat_pos feat_number feat_person feat_gender s1 s2 s3 s4
+feat_pos feat_number feat_person feat_gender s1 s2 s3 s4 s5
diff --git a/Files/fm5.txt b/Files/fm5.txt
new file mode 100644
index 0000000..227f3e3
--- /dev/null
+++ b/Files/fm5.txt
@@ -0,0 +1,9 @@
+s1
+s2
+s3
+s4
+s5
+s1 s2
+s1 s2 s3
+s1 s2 s3 s4
+s1 s2 s3 s4 s5
diff --git a/Files/fm6.pos.txt b/Files/fm6.pos.txt
new file mode 100644
index 0000000..fce00f9
--- /dev/null
+++ b/Files/fm6.pos.txt
@@ -0,0 +1,11 @@
+feat_pos s1
+feat_pos s2
+feat_pos s3
+feat_pos s4
+feat_pos s5
+feat_pos s6
+feat_pos s1 s2
+feat_pos s1 s2 s3
+feat_pos s1 s2 s3 s4
+feat_pos s1 s2 s3 s4 s5
+feat_pos s1 s2 s3 s4 s5 s6
diff --git a/Files/fm6.posN.txt b/Files/fm6.posN.txt
new file mode 100644
index 0000000..da0ef29
--- /dev/null
+++ b/Files/fm6.posN.txt
@@ -0,0 +1,11 @@
+feat_pos feat_number s1
+feat_pos feat_number s2
+feat_pos feat_number s3
+feat_pos feat_number s4
+feat_pos feat_number s5
+feat_pos feat_number s6
+feat_pos feat_number s1 s2
+feat_pos feat_number s1 s2 s3
+feat_pos feat_number s1 s2 s3 s4
+feat_pos feat_number s1 s2 s3 s4 s5
+feat_pos feat_number s1 s2 s3 s4 s5 s6
diff --git a/Files/fm6.posNP.txt b/Files/fm6.posNP.txt
new file mode 100644
index 0000000..266ff66
--- /dev/null
+++ b/Files/fm6.posNP.txt
@@ -0,0 +1,11 @@
+feat_pos feat_number feat_person s1
+feat_pos feat_number feat_person s2
+feat_pos feat_number feat_person s3
+feat_pos feat_number feat_person s4
+feat_pos feat_number feat_person s5
+feat_pos feat_number feat_person s6
+feat_pos feat_number feat_person s1 s2
+feat_pos feat_number feat_person s1 s2 s3
+feat_pos feat_number feat_person s1 s2 s3 s4
+feat_pos feat_number feat_person s1 s2 s3 s4 s5
+feat_pos feat_number feat_person s1 s2 s3 s4 s5 s6
diff --git a/Files/fm6.posNPG.txt b/Files/fm6.posNPG.txt
new file mode 100644
index 0000000..1731705
--- /dev/null
+++ b/Files/fm6.posNPG.txt
@@ -0,0 +1,11 @@
+feat_pos feat_number feat_person feat_gender s1
+feat_pos feat_number feat_person feat_gender s2
+feat_pos feat_number feat_person feat_gender s3
+feat_pos feat_number feat_person feat_gender s4
+feat_pos feat_number feat_person feat_gender s5
+feat_pos feat_number feat_person feat_gender s6
+feat_pos feat_number feat_person feat_gender s1 s2
+feat_pos feat_number feat_person feat_gender s1 s2 s3
+feat_pos feat_number feat_person feat_gender s1 s2 s3 s4
+feat_pos feat_number feat_person feat_gender s1 s2 s3 s4 s5
+feat_pos feat_number feat_person feat_gender s1 s2 s3 s4 s5 s6
diff --git a/Files/fm6.txt b/Files/fm6.txt
new file mode 100644
index 0000000..980c9ad
--- /dev/null
+++ b/Files/fm6.txt
@@ -0,0 +1,11 @@
+s1
+s2
+s3
+s4
+s5
+s6
+s1 s2
+s1 s2 s3
+s1 s2 s3 s4
+s1 s2 s3 s4 s5
+s1 s2 s3 s4 s5 s6
diff --git a/Files/fm7.pos.txt b/Files/fm7.pos.txt
new file mode 100644
index 0000000..69e20c3
--- /dev/null
+++ b/Files/fm7.pos.txt
@@ -0,0 +1,13 @@
+feat_pos s1
+feat_pos s2
+feat_pos s3
+feat_pos s4
+feat_pos s5
+feat_pos s6
+feat_pos s7
+feat_pos s1 s2
+feat_pos s1 s2 s3
+feat_pos s1 s2 s3 s4
+feat_pos s1 s2 s3 s4 s5
+feat_pos s1 s2 s3 s4 s5 s6
+feat_pos s1 s2 s3 s4 s5 s6 s7
diff --git a/Files/fm7.posN.txt b/Files/fm7.posN.txt
new file mode 100644
index 0000000..dc74260
--- /dev/null
+++ b/Files/fm7.posN.txt
@@ -0,0 +1,13 @@
+feat_pos feat_number s1
+feat_pos feat_number s2
+feat_pos feat_number s3
+feat_pos feat_number s4
+feat_pos feat_number s5
+feat_pos feat_number s6
+feat_pos feat_number s7
+feat_pos feat_number s1 s2
+feat_pos feat_number s1 s2 s3
+feat_pos feat_number s1 s2 s3 s4
+feat_pos feat_number s1 s2 s3 s4 s5
+feat_pos feat_number s1 s2 s3 s4 s5 s6
+feat_pos feat_number s1 s2 s3 s4 s5 s6 s7
diff --git a/Files/fm7.posNP.txt b/Files/fm7.posNP.txt
new file mode 100644
index 0000000..e2e92d9
--- /dev/null
+++ b/Files/fm7.posNP.txt
@@ -0,0 +1,13 @@
+feat_pos feat_number feat_person s1
+feat_pos feat_number feat_person s2
+feat_pos feat_number feat_person s3
+feat_pos feat_number feat_person s4
+feat_pos feat_number feat_person s5
+feat_pos feat_number feat_person s6
+feat_pos feat_number feat_person s7
+feat_pos feat_number feat_person s1 s2
+feat_pos feat_number feat_person s1 s2 s3
+feat_pos feat_number feat_person s1 s2 s3 s4
+feat_pos feat_number feat_person s1 s2 s3 s4 s5
+feat_pos feat_number feat_person s1 s2 s3 s4 s5 s6
+feat_pos feat_number feat_person s1 s2 s3 s4 s5 s6 s7
diff --git a/Files/fm7.posNPG.txt b/Files/fm7.posNPG.txt
new file mode 100644
index 0000000..4d9f923
--- /dev/null
+++ b/Files/fm7.posNPG.txt
@@ -0,0 +1,13 @@
+feat_pos feat_number feat_person feat_gender s1
+feat_pos feat_number feat_person feat_gender s2
+feat_pos feat_number feat_person feat_gender s3
+feat_pos feat_number feat_person feat_gender s4
+feat_pos feat_number feat_person feat_gender s5
+feat_pos feat_number feat_person feat_gender s6
+feat_pos feat_number feat_person feat_gender s7
+feat_pos feat_number feat_person feat_gender s1 s2
+feat_pos feat_number feat_person feat_gender s1 s2 s3
+feat_pos feat_number feat_person feat_gender s1 s2 s3 s4
+feat_pos feat_number feat_person feat_gender s1 s2 s3 s4 s5
+feat_pos feat_number feat_person feat_gender s1 s2 s3 s4 s5 s6
+feat_pos feat_number feat_person feat_gender s1 s2 s3 s4 s5 s6 s7
diff --git a/Files/fm7.txt b/Files/fm7.txt
new file mode 100644
index 0000000..ede6e21
--- /dev/null
+++ b/Files/fm7.txt
@@ -0,0 +1,13 @@
+s1
+s2
+s3
+s4
+s5
+s6
+s7
+s1 s2
+s1 s2 s3
+s1 s2 s3 s4
+s1 s2 s3 s4 s5
+s1 s2 s3 s4 s5 s6
+s1 s2 s3 s4 s5 s6 s7
diff --git a/maca_morpho/src/maca_morpho_context.c b/maca_morpho/src/maca_morpho_context.c
index 0527a96..bef09d4 100644
--- a/maca_morpho/src/maca_morpho_context.c
+++ b/maca_morpho/src/maca_morpho_context.c
@@ -29,7 +29,6 @@ context *context_new(void)
   ctx->verbose = 0;
   ctx->debug_mode = 0;
   ctx->separate_classes = 0;
-  ctx->cascade = 0;
   ctx->program_name = NULL;
   ctx->fplm_filename = NULL;
   ctx->language = strdup("fr");
@@ -94,10 +93,6 @@ void context_separate_classes_help_message(context *ctx){
   fprintf(stderr, "\t-s --separate <int> : separate the classes for tense and person if you enter 1\n");
 }
 
-void context_cascade_help_message(context *ctx){
-  fprintf(stderr, "\t-c --cascade <int> : activate the cascade mode if you enter 1 (output fplm file)\n");
-}
-
 context *context_read_options(int argc, char *argv[])
 {
   int c;
@@ -121,13 +116,12 @@ context *context_read_options(int argc, char *argv[])
       {"target", 			  required_argument, 0, 't'},
       {"percent",             required_argument, 0, 'p'},
       {"code_class",          required_argument, 0, 'y'},
-      {"separate",			  required_argument, 0, 's'},
-      {"cascade",			  required_argument, 0, 'c'}
+      {"separate",			  required_argument, 0, 's'}
     };
   optind = 0;
   opterr = 0;
   
-  while ((c = getopt_long (argc, argv, "hvdf:L:M:D:F:y:x:w:t:p:s:c:", long_options, &option_index)) != -1){ 
+  while ((c = getopt_long (argc, argv, "hvdf:L:M:D:F:y:x:w:t:p:s:", long_options, &option_index)) != -1){ 
     switch (c)
       {
       case 'd':
@@ -168,9 +162,6 @@ context *context_read_options(int argc, char *argv[])
 	break;	  
 	  case 's':
 	ctx->separate_classes = atoi(optarg);
-	break;
-	  case 'c':
-	ctx->cascade = atoi(optarg);
 	break;
       }
   }
diff --git a/maca_morpho/src/maca_morpho_context.h b/maca_morpho/src/maca_morpho_context.h
index f2e6bf8..333e1a2 100644
--- a/maca_morpho/src/maca_morpho_context.h
+++ b/maca_morpho/src/maca_morpho_context.h
@@ -14,7 +14,6 @@ typedef struct {
   int   debug_mode;
   int	fplm_test_percent;
   int   separate_classes;
-  int	cascade;
   char *program_name;
   char *fplm_filename;
   char *language;
@@ -43,5 +42,4 @@ void 	 context_target_help_message(context *ctx);
 void 	 context_fplm_test_percent_help_message(context *ctx);
 void 	 context_code_class_help_message(context* ctx);
 void	 context_separate_classes_help_message(context *ctx);
-void 	 context_cascade_help_message(context *ctx);
 #endif
diff --git a/maca_morpho/src/maca_morpho_feat_fct.c b/maca_morpho/src/maca_morpho_feat_fct.c
index d78750e..01f91cc 100644
--- a/maca_morpho/src/maca_morpho_feat_fct.c
+++ b/maca_morpho/src/maca_morpho_feat_fct.c
@@ -165,31 +165,6 @@ int feat_pos(FPLM* fplm)
 	return code;
 }
 
-int lemma_s1(FPLM* fplm)
-{
-	char16* tmp = utf8tochar16(fplm->lemma);
-	int size = char16_strlen(tmp);
-	if(tmp == NULL || size - 1 < 0)
-		return -1;
-	return tmp[size - 1];
-}
-int lemma_s2(FPLM* fplm)
-{
-	char16* tmp = utf8tochar16(fplm->lemma);
-	int size = char16_strlen(tmp);
-	if(tmp == NULL || size - 2 < 0)
-		return -1;
-	return tmp[size - 2];
-}
-int lemma_s3(FPLM* fplm)
-{
-	char16* tmp = utf8tochar16(fplm->lemma);
-	int size = char16_strlen(tmp);
-	if(tmp == NULL || size - 3 < 0)
-		return -1;
-	return tmp[size - 3];
-}
-
 feat_lib *feat_lib_build(void) {
 
   feat_lib *fl = feat_lib_new();
@@ -208,9 +183,6 @@ feat_lib *feat_lib_build(void) {
   feat_lib_add(fl, 1,  (char *)"feat_person", feat_person);
   feat_lib_add(fl, 1,  (char *)"feat_number", feat_number);
   feat_lib_add(fl, 1,  (char *)"feat_gender", feat_gender);
-  feat_lib_add(fl, 1,  (char *)"feat_tense", feat_tense); 
-  feat_lib_add(fl, 1,  (char *)"lemma_s1", lemma_s1); 
-  feat_lib_add(fl, 1,  (char *)"lemma_s2", lemma_s2); 
-  feat_lib_add(fl, 1,  (char *)"lemma_s3", lemma_s3); 
+  feat_lib_add(fl, 1,  (char *)"feat_tense", feat_tense);
   return fl;
 }
diff --git a/maca_morpho/src/predict.h b/maca_morpho/src/predict.h
index 90e9d32..9ef62d2 100644
--- a/maca_morpho/src/predict.h
+++ b/maca_morpho/src/predict.h
@@ -14,7 +14,6 @@
 	{
 		FILE* f_error;
 		FILE* f_predict;
-		FILE* new_fplm;
 		FILE* morpho_predicted;
 	}Output_files;
 	
@@ -37,7 +36,7 @@
 	void new_input_files	 (Input_files* in_files);
 	void init_input_files	 (Input_files* in_files, char* fplm_name, char* code, char* all, char* c1, char* c2, char* c3, char* c4, char* p1, char* p2, char* p3, char* p4);
 	void new_output_files	 (Output_files* out_files);
-	void init_output_files	 (Output_files* out_files, char* error_name, char* predict_name, char* fplm_name, char* morpho_name);
+	void init_output_files	 (Output_files* out_files, char* error_name, char* predict_name, char* morpho_name);
 	void free_input_files	 (Input_files* in_files);
 	void free_output_files	 (Output_files* out_files);
 	
diff --git a/maca_morpho/src/predict_fct.c b/maca_morpho/src/predict_fct.c
index dd759fc..77308c2 100644
--- a/maca_morpho/src/predict_fct.c
+++ b/maca_morpho/src/predict_fct.c
@@ -13,7 +13,6 @@ void predict_help_message(context *ctx)
 	context_weights_matrix_filename_help_message(ctx);
 	context_features_model_help_message(ctx);
 	context_code_class_help_message(ctx);
-	context_cascade_help_message(ctx);
 	exit(1);
 }
 
@@ -141,10 +140,9 @@ void new_output_files(Output_files* out_files)
 {
 	out_files->f_error = NULL;
 	out_files->f_predict = NULL;
-	out_files->new_fplm = NULL;
 	out_files->morpho_predicted = NULL;	
 }
-void init_output_files(Output_files* out_files, char* error_name, char* predict_name, char* fplm_name, char* morpho_name)
+void init_output_files(Output_files* out_files, char* error_name, char* predict_name, char* morpho_name)
 {
 	new_output_files(out_files);
 	if(error_name != NULL)
@@ -165,15 +163,6 @@ void init_output_files(Output_files* out_files, char* error_name, char* predict_
 			exit(EXIT_FAILURE);
 		}
 	}
-	if(fplm_name != NULL)
-	{
-		out_files->new_fplm = fopen(fplm_name, "w");
-		if(out_files->new_fplm==NULL)
-		{
-			fprintf(stderr,"Problem with the new fplm file.\n");
-			exit(EXIT_FAILURE);
-		}
-	}
 	if(morpho_name != NULL)
 	{
 		out_files->morpho_predicted = fopen(morpho_name, "w+");
@@ -205,7 +194,6 @@ void free_output_files(Output_files* out_files)
 {
 	if(out_files->f_error != NULL) fclose(out_files->f_error);
 	if(out_files->f_predict != NULL) fclose(out_files->f_predict);
-	if(out_files->new_fplm != NULL) fclose(out_files->new_fplm);
 	if(out_files->morpho_predicted != NULL) fclose(out_files->morpho_predicted);
 	free(out_files);
 }
@@ -224,7 +212,7 @@ void predict_all_classes(context* ctx)
 	int fields_nb;
 	int errors = 0;
 	
-	init_output_files(out_files, "error.txt", NULL, NULL, NULL);
+	init_output_files(out_files, "error.txt", NULL, NULL);
 	init_input_files(in_files,ctx->fplm_filename,ctx->code_class_filename,
 					NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
 	while((fields_nb = read_line_fplm(in_files->f_fplm, fplm)) != -1)
@@ -343,7 +331,6 @@ void predict_target(context* ctx)
 	int fields_nb;
 	int errors = 0;
 	char target_name[10];
-	char output_fplm_name[20];
 	char predict_name[50];
 	FPLM* fplm = new_fplm();
 	TARGET target;
@@ -356,14 +343,8 @@ void predict_target(context* ctx)
 	strcpy(predict_name,"predict_");
 	strcat(predict_name,target_name);
 	target = choose_target(target_name);
-	if(ctx->cascade)
-	{
-		strcpy(output_fplm_name,"fplm_");
-		strcat(output_fplm_name,target_name);
-		init_output_files(out_files, "predict_error", predict_name, output_fplm_name, NULL);
-	}
-	else
-		init_output_files(out_files, "predict_error", predict_name, NULL, NULL); 
+
+	init_output_files(out_files, "predict_error", predict_name, NULL); 
 	
 	while((fields_nb = read_line_fplm(in_files->f_fplm, fplm)) != -1)
 	{
@@ -377,8 +358,6 @@ void predict_target(context* ctx)
 			continue;
 		}
 		line_nb++;
-		if(ctx->cascade) 
-			fprintf(out_files->new_fplm,"%s\t%s\t%s\t",fplm->form, fplm->pos, fplm->lemma);
 		make_prediction(ctx, out_files, in_files->code_class, target, &errors, fplm, cfw, fv, dico_features, fm);
 	}
 	printf("Success rate : %lf %%\n", 100-((float)errors*100/line_nb));
@@ -401,70 +380,6 @@ void make_prediction(context* ctx, Output_files* out_files, FILE* code_class, TA
 		errors_nb_separated(out_files->f_error, code_class, target, class_predicted, errors, fplm);
 	else
 		errors_nb_not_separated(out_files->f_error, code_class, target, fplm, class_predicted, errors);
-	
-	if(ctx->cascade)
-		write_new_fplm(fplm, target, out_files->new_fplm, code_class, class_predicted);
-
-}
-
-void write_new_fplm(FPLM* fplm, TARGET target, FILE* new_fplm, FILE* code_class, int class_predicted)
-{
-	int code;
-	int i=0;
-	int ok=1;
-	int cpt_diese = 0;
-	char tmp[20];
-	char new_morpho[30]; //will contain the morpho feature with the prediction
-	int position_morpho = 0;
-	int position = extract_class_position(target); //position = the num of the diese we want
-	while(i<(int)strlen(fplm->morpho) && cpt_diese!=position)
-	{
-		new_morpho[i] = fplm->morpho[i];
-		if(fplm->morpho[i]=='#')
-			cpt_diese++;
-		i++;
-	}
-	position = i; //position is now where we will include the class predicted
-	position_morpho = position;
-	while(position_morpho<(int)strlen(fplm->morpho) && fplm->morpho[position_morpho]!='#')
-		position_morpho++; //position_morpho is where we will copy the initial morpho feature in the new morpho feature
-
-	if(class_predicted==0)
-	{
-		while(position_morpho<(int)strlen(fplm->morpho)) //writting the initial morpho feature's rest in the new morpho feature
-		{
-			new_morpho[position] = fplm->morpho[position_morpho];
-			position++;
-			position_morpho++;
-		}
-		new_morpho[position]='\0';
-		ok=0;
-	}
-
-	rewind(code_class);
-	fscanf(code_class,"%s",tmp); //read the target name
-	while(ok && fscanf(code_class,"%d %s\n",&code,tmp)==2) //tmp = class
-	{
-		if(class_predicted==code && code!=0) //including the class predicted
-		{
-			i=0;
-			while(i<(int)strlen(tmp))
-			{
-				new_morpho[position]=tmp[i];
-				i++;
-				position++;
-			}
-			while(position_morpho<(int)strlen(fplm->morpho)) //writting the initial morpho feature's rest in the new morpho feature
-			{
-				new_morpho[position] = fplm->morpho[position_morpho];
-				position++;
-				position_morpho++;
-			}
-			new_morpho[position]='\0';
-			ok=0;
-		}
-	}
-	fprintf(new_fplm,"%s\n",new_morpho);	
 }
 
 	/**Fonctions for separated classes**/
@@ -522,7 +437,7 @@ void predict_each_and_all_targets(context* ctx)
 	int global_error = 0;
 	int line_nb = 0;
 	FPLM* fplm = new_fplm();
-	init_output_files(out_files, NULL, NULL, NULL, "morpho_predicted");
+	init_output_files(out_files, NULL, NULL, "morpho_predicted");
 	init_input_files(in_files,ctx->fplm_filename, NULL, "code_class", "code_class_tense", "code_class_person", "code_class_gender",
 			"code_class_number", "predict_tense", "predict_person", "predict_gender", "predict_number");
 	
-- 
GitLab