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

De Histoire de l'IST
(Script lex)
 
(5 révisions intermédiaires par le même utilisateur non affichées)
Ligne 6 : Ligne 6 :
 
%START Z2
 
%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;}
 
<Z1>","/[ ]*[0-9]        {printf("\n|"); BEGIN Z2;}
<Z2>[0-9][0-9]*      {printf ("{{Interview Dusoulier (2000) Rayward/Page|%s}}", yytext);}
+
<Z2>[0-9][0-9]           {printf ("{{Interview Dusoulier (2000) Rayward/Page|%s}}", yytext);}
<Z2>\n       {printf("\n|-\n"); BEGIN 0;}
+
<Z2>[0-9]                {printf ("{{Interview Dusoulier (2000) Rayward/Page|0%s}}", yytext);}
 +
<Z2>\n                   {printf("\n"); BEGIN 0;}
 
%%
 
%%
 
main()
 
main()
Ligne 21 : 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
...