Nuvola apps important.png Attention, suite à une analyse de sécurité, les liens vers quelques serveurs d'exploration sont désactivés.

-

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

logo travaux Attention, dans un premier temps il s'agit de mettre en place les outils de paramétrage de la plateforme. Les programmes d'extraction sont encore très rudimentaires.

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