Wicri:Dilib source, module MediaWiki, MediaWikiExtractSources

De Wicri Outils
Révision datée du 8 septembre 2013 à 09:20 par imported>Jacques Ducloy (Code source)

Cette page introduit les sources relatifs à la commande MMediaWikiExtractSources du module MediaWiki.

Fichier MediaWikiExtractSources.lex

Code source

Attention : Ce code pose une difficulté syntaxique par la présence de balise source qui ne doivent pas être codées explicitement pour ne pas être analysées comme telles par le parser MediaWiki.
/*   -*- coding: utf-8 -*-  */
/*
  Dilib Version :
  Date : V0.5.46 (7 septembre 2013
  Module MediaWiki, 
  Commande : MediaWikiExtractSources
  Fichier source géré par Wicri/Outils, page : 
       Wicri:Dilib source, module MediaWiki, MediaWikiExtractSources
*/

%START JUMP
%START WIKI
%START SOURCE_TAG
%START FILE_NAME
%START COPY

 char *root;
%%
<JUMP>.                             ;
<JUMP>\n                            ;
<JUMP>"\n<?dilib start wiki ?>\n"   {BEGIN WIKI;}
<WIKI>.                             ;
<WIKI>\n                            ;
<WIKI>"\n<source"                   {BEGIN SOURCE_TAG;}
<WIKI>"<?dilib start wiki ?>"       BEGIN JUMP;
<SOURCE_TAG>">"                     BEGIN WIKI;
<SOURCE_TAG>.                       ;
<SOURCE_TAG>"dilib:file="[\"]       {printf("<?dilib  file=\"%s\"", root); BEGIN FILE_NAME;}
<FILE_NAME>[\"].+\n                 {printf("\" ?>\n"); BEGIN COPY;}
<FILE_NAME>.                        ECHO;
<COPY>^"</"source">"[ ]*\n          BEGIN WIKI;
<COPY>.                             ECHO;
<COPY>\n                            ECHO;            
%%
main()
{
  root="testImport/";
  BEGIN JUMP;
  yylex();
}

Test

Jeu de test

<source>
</source>