Discussion:Interview Dusoulier (2000) Rayward/Index : Différence entre versions

De Histoire de l'IST
(Script lex)
 
(6 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|[\["); ECHO; BEGIN Z1;}
+
^[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 17 : Ligne 22 :
 
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
...