Bull. Soc. sci. Nancy (1898) Millot/Outils : Différence entre versions
De Wicri Nancy
imported>Jacques Ducloy (→février) |
imported>Jacques Ducloy (→février) |
||
Ligne 14 : | Ligne 14 : | ||
9 — 15°0 1895 14°4 1879 29°4 | 9 — 15°0 1895 14°4 1879 29°4 | ||
10 — 14°4 1895 13°0 1879 27°4 | 10 — 14°4 1895 13°0 1879 27°4 | ||
− | 11 —13°4 | + | 11 —13°4 1895 12°6 1894 26°0 |
12 — 8°S 1889 12°2 1879 21°0 | 12 — 8°S 1889 12°2 1879 21°0 | ||
13 —12°4 1889 12°1 1882 24°5 | 13 —12°4 1889 12°1 1882 24°5 |
Version du 27 février 2020 à 19:13
Cette page montre une utilisation de l'analyseur lexical lex pour faciliter la conversion des tableaux.
Les données
février
cat <<... > fevrier.text 1 — 15°0 1895 12°3 1885 27°3 2 — 16°8 1895 15°0 1885 31°8 3 — 11°4 1895 10°0 1897 21°4 4 — 11°0 1895 10°3 1887 21°3 5 — 10°8 1880 9°2 1881 20°0 6 — 13°2 1895 9°2 1894 22°4 7 — 15°6 1895 9°4 1892 25°0 8 — 15°0 1895 11°0 1879 26°0 9 — 15°0 1895 14°4 1879 29°4 10 — 14°4 1895 13°0 1879 27°4 11 —13°4 1895 12°6 1894 26°0 12 — 8°S 1889 12°2 1879 21°0 13 —12°4 1889 12°1 1882 24°5 14 —17°0 1895 11°0 1897 28°0 15. —17°0 1895 11°6 1893 28°6 16 . —13°6 > 1895 15°8 1878 29°4 17. — 12°2 1887 17°0 1885 29°2 18 . . . . . . —12°0 1887 13°4 1878 25°4 19. . . . . . . — 9°0 1892 12°4 1878 21°4 20 — 7°4 1888 et 1894 13°6 1880 21°0 21. —11°0 1895 12°0 1884 23°0 22 —10°2 1895 14°0 1881 24°2 23 — 8°2 1889 13°0 1878 21°2 24 — 8°1 1886 15°2 1885 23°3 25. —10°2 1888 16°2 1885 26°4 26. . . . . — 9°0 1882 et l896 16°0 1885 25°0 27. . . . . . . . — 8°0 1896 17°2 1885 25°2 28. . . . . . . — 7°2 1889 13°8 1878 21°0 ...
Le programme lex
cat <<... > convertTab.lex
int zone;
%START TEMP
%START AN
%%
^[1-9][0-9]* {printf("|-\n|%s\n| ", yytext); BEGIN TEMP; zone=2;}
<TEMP>"—" printf("-");
<TEMP>[1-9][0-9]*"°"[0-9]* {printf("%s\n", yytext); zone++;
switch(zone){ case 3: case 5: BEGIN AN; break; case 7: BEGIN 0; break; }}
<AN>18[0-9][0-9] {printf("|%s\n|", yytext); zone++; BEGIN TEMP; }
<AN>18[0-9][0-9][ ]*"et"[ ]*18[0-9][0-9] {printf("|%s\n|", yytext); zone++; BEGIN TEMP; }
. ;
\n BEGIN 0;
%%
int main()
{
printf("{| class=\"wikitable sortable\"\n");
printf("|-\n!jour\n!minimum\n!année\n!maximum\n!année\n!différence\n");
yylex();
printf("|-\n|}\n");
}
...
lex convertTab.lex
gcc lex.yy.c -ll -o convertTab
./convertTab < fevrier.text