Wicri:EuropiumV1/Génération index elemChimie.i
De Wicri Terre
Cette page contient les codes sources nécessaires à la génération de l'index elem.i de la version EuropiumV1 du « Serveur d'exploration sur l'europium ».
Voir aussi : Wicri:EuropiumV1/Paramètres, data - génération des données
Sommaire
generIndexElemChimie.1.lex
Ce premier programme reconnait des formules chimiques contenant de l'Europium par des expressions régulières.
%{
#include <stdio.h>
#include <stdlib.h>
char *key;
%}
%%
^[0-9A-F]+/\t. strcpy(key, yytext);
[A-Za-z0-9]*"Eu"[A-Z][A-Za-z0-9]* {printf("%s\t%s\n", key, yytext);}
[A-Za-z0-9]+"Eu" {printf("%s\t%s\n", key, yytext);}
. ;
\n ;
%%
main()
{
key=malloc(7);
yylex();
}
generIndexElemChimie.2.lex
Ce programme extrait les composés d'une formule préalablement reconnue.
%{
#include <stdio.h>
#include <stdlib.h>
char *key;
%}
%%
^[0-9A-F]+/\t strcpy(key, yytext);
Eu ;
[A-Z][a-z] {printf("%s\t%s\n", yytext, key);}
\t ;
[0-9] ;
. ;
\n ;
%%
main()
{
key=malloc(7);
yylex();
}
generIndexElemChimie.sh
Ce shell procède à l'extraction des composés pour former un inxex.
./EuropiumV1/bin/generIndexElemChimie.1 \
| ./EuropiumV1/bin/generIndexElemChimie.2
generIndexElemChimie.mk
Cet ensemble de règles de dépendance make d'Unix seront introduites dans le makefile qui sert à généer la plateforme.
EuropiumV1/bin/generIndexElemChimie.sh: EuropiumV1/Import/generIndexElemChimie.sh \
EuropiumV1/bin/generIndexElemChimie.1 \
EuropiumV1/bin/generIndexElemChimie.2
:cp EuropiumV1/Import/generIndexElemChimie.sh EuropiumV1/bin/generIndexElemChimie.sh
:chmod +x EuropiumV1/bin/generIndexElemChimie.sh
EuropiumV1/bin/generIndexElemChimie.1:EuropiumV1/Import/generIndexElemChimie.1.lex
:lex EuropiumV1/Import/generIndexElemChimie.1.lex
:gcc lex.yy.c -ll -o $@
EuropiumV1/bin/generIndexElemChimie.2:EuropiumV1/Import/generIndexElemChimie.2.lex
:lex EuropiumV1/Import/generIndexElemChimie.2.lex
:gcc lex.yy.c -ll -o $@
Opérations
Pour récupérer cette page :
- l'exporter sur : EuropiumV1/Import/codeGenerIndexElemChimie.xml
Puis :
MediaWikiImportClean < EuropiumV1/Import/codeGenerIndexElemChimie.xml | MediaWikiExtractSources | HfdStoreFile