Discussion:Das Rolandslied (Konrad der Pfaffe) Bibliotheca Augustana

De Wicri Chanson de Roland

Traitement des pages

Un programme lex est utilisé pour faciliter les importations, et plus précisément la génération de tableaux à partir d'extraits récupérés par copier/coller.

Les données d'entrée est une suite de vers contenant des numéros, exemple :

uile manich u''uo''rste ze houe chom.
895 
der keiser in sinen wizzin

Le programme fonctionne avec 2 règles qui différencient les lignes contenant un numéro et celles qui contiennent un vers.

^[0-9]+  { printf("|-\n|%s \n", yytext); flip=1; }
^[^0-9]  { if (flip==0) { printf("|-\n|\n"); } else flip=0; printf("|%s",yytext); }

Pour voir un exemple complet, voir la page discussion de la laisse XXXVII.

Pour compiler ce programme
copier/coller ce qui suit sur une fenêtre terminal Unix.
cat <<... > augustana.lex
 int flip;
%%
^[0-9]+  { printf("|-\n|%s&nbsp;\n", yytext); flip=1; }
^[^0-9]  { if (flip==0) { printf("|-\n|\n"); } else flip=0; printf("|%s",yytext); }
%%
int main()
{
   flip=0;
   yylex();
}
...
lex augustana.lex 

gcc lex.yy.c -ll -o augustana

./augustana <<...
...
Pour voir un exemple d'emploi