Discussion:Interview Dusoulier (2000) Rayward/Index : Différence entre versions
De Histoire de l'IST
(prin) |
(→Script lex) |
||
(11 révisions intermédiaires par le même utilisateur non affichées) | |||
Ligne 2 : | Ligne 2 : | ||
<source lang="sh"> | <source lang="sh"> | ||
− | cat <<... > | + | 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
...