Discussion:Interview Dusoulier (2000) Rayward/Index : Différence entre versions
De Histoire de l'IST
(→Script lex) |
(→Script lex) |
||
(7 révisions intermédiaires par le même utilisateur non affichées) | |||
Ligne 4 : | Ligne 4 : | ||
cat <<... >indexTab.lex | cat <<... >indexTab.lex | ||
%START Z1 | %START Z1 | ||
+ | %START Z2 | ||
%% | %% | ||
− | ^[A-Za-z] {printf("|-\n|[\["); | + | ^[A-Za-z] {printf("|-\n|"); ECHO; BEGIN Z1;} |
+ | <Z1>","/[ ]*[0-9] {printf("\n|"); BEGIN Z2;} | ||
+ | <Z2>[0-9][0-9] {printf ("{{Interview Dusoulier (2000) Rayward/Page|%s}}", yytext);} | ||
+ | <Z2>[0-9] {printf ("{{Interview Dusoulier (2000) Rayward/Page|0%s}}", yytext);} | ||
+ | <Z2>\n {printf("\n"); BEGIN 0;} | ||
%% | %% | ||
main() | main() | ||
Ligne 12 : | Ligne 17 : | ||
yylex(); | yylex(); | ||
printf("|-\n"); | printf("|-\n"); | ||
− | printf("|}"); | + | printf("|}\n"); |
} | } | ||
... | ... | ||
lex indexTab.lex | lex indexTab.lex | ||
gcc lex.yy.c -ll -o indexTab | gcc lex.yy.c -ll -o indexTab | ||
+ | |||
+ | ./indexTab <<... | ||
+ | texte à traduire | ||
+ | ... | ||
</source> | </source> |
Version actuelle datée du 28 avril 2021 à 11:32
Script lex
cat <<... >indexTab.lex
%START Z1
%START Z2
%%
^[A-Za-z] {printf("|-\n|"); ECHO; BEGIN Z1;}
<Z1>","/[ ]*[0-9] {printf("\n|"); BEGIN Z2;}
<Z2>[0-9][0-9] {printf ("{{Interview Dusoulier (2000) Rayward/Page|%s}}", yytext);}
<Z2>[0-9] {printf ("{{Interview Dusoulier (2000) Rayward/Page|0%s}}", yytext);}
<Z2>\n {printf("\n"); BEGIN 0;}
%%
main()
{
printf("{|\n");
yylex();
printf("|-\n");
printf("|}\n");
}
...
lex indexTab.lex
gcc lex.yy.c -ll -o indexTab
./indexTab <<...
texte à traduire
...