Wicri:EuropiumV1/Génération index elemChimie.i : Différence entre versions

De Wicri Terre
imported>Jacques Ducloy
m (1 révision importée)
 
(Aucune différence)

Version actuelle datée du 6 juillet 2017 à 21:38

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