// longueur-des-facteurs.c
// << Algorithmique du texte >>
// Maxime Crochemore, Christophe Hancart et Thierry Lecroq
// Vuibert, 2001.
#include <stdio.h>
#include "chl.h"
#include "automate.h"
void longueurDesFacteurs(Automate Sx, Mot y, Longueur n) {
Etat p;
int i, ell;
ell = 0;
p = initial(Sx);
for (i = 0; i <= n - 1; ++i) {
if (cible(p, y[i]) != NULL) {
++ell;
p = cible(p, y[i]);
}
else {
do {
p = F(p);
}
while (p != NULL && cible(p, y[i]) == NULL);
if (p != NULL) {
ell = L(p) + 1;
p = cible(p, y[i]);
}
else {
ell = 0;
p = initial(Sx);
}
}
printf("%d\n", ell);
}
}