Files
doc-fr/reference/tokenizer/reference.xml
Yannick Torres ead1c1c21b typo & example's translation
git-svn-id: https://svn.php.net/repository/phpdoc/fr/trunk@175195 c90b9560-bf6c-de11-be94-00142212c4b1
2004-12-20 20:43:09 +00:00

109 lines
2.7 KiB
XML
Executable File

<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.8 $ -->
<!-- EN-Revision: 1.19 Maintainer: didou Status: ready -->
<reference id="ref.tokenizer">
<title>Analyseur de code &php;</title>
<titleabbrev>Tokenizer</titleabbrev>
<partintro>
<section id="tokenizer.intro">
&reftitle.intro;
<para>
Les fonctions du tokenizer fournissent une interface avec
l'analyseur interne de &php;, intégré dans le moteur Zend.
En utilisant ces fonctions, vous pouvez écrire votre propre
système d'analyse des sources &php;, ou bien des outils de
modification du code, sans avoir à refaire toute l'analyse
lexicale.
</para>
<para>
Voir aussi l'annexe sur les <link linkend="tokens">tokens</link>.
</para>
</section>
<section id="tokenizer.requirements">
&reftitle.required;
&no.requirement;
</section>
&reference.tokenizer.configure;
&reference.tokenizer.constants;
<section id="tokenizer.examples">
&reftitle.examples;
<para>
Voici un exemple simple de script &php; qui utilise le tokenizer
pour lire un fichier, supprimer tous les commentaires de la source,
et afficher uniquement du code.
</para>
<example>
<title>Suppression de commentaires avec le tokenizer</title>
<programlisting role="php">
<![CDATA[
<?php
/* T_ML_COMMENT n'existe pas en PHP 5.
* Les trois lignes suivantes définissent l'ordre
* pour préserver une compatibilité ascendante.
*
* Les deux lignes suivantes la constante T_DOC_COMMENT uniquement présente en PHP 5,
* que nous appelerons T_ML_COMMENT pour PHP 4.
*/
if (!defined('T_ML_COMMENT')) {
define('T_ML_COMMENT', T_COMMENT);
} else {
define('T_DOC_COMMENT', T_ML_COMMENT);
}
$source = file_get_contents("somefile.php");
$tokens = token_get_all($source);
foreach ($tokens as $token) {
if (is_string($token)) {
// simple 1-character token
echo $token;
} else {
// token array
list($id, $text) = $token;
switch ($id) {
case T_COMMENT:
case T_ML_COMMENT: // nous avons définie cette constante
case T_DOC_COMMENT: // et celle-là
// aucune action sur les commentaires
break;
default:
// rien d'autre -> affiche "as is"
echo $text;
break;
}
}
}
?>
]]>
</programlisting>
</example>
</section>
</partintro>
&reference.tokenizer.functions;
</reference>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
-->