Petite experience avec les parsers

Petit nouveau ! | 3 Messages

10 avr. 2010, 01:34

Bonjour à tous !

Je m'intéresse plus ou moins aux différent(e)s notations / paradigmes dans le domaine du coding (un peu très pompeux comme intro ça ..) et j'ai voulu coder un petit parser en php afin de mettre en place quelques idées. Pour l'instant, ce n'est qu'un moyen de noter les fonctions récursives à la façon des langages fonctionnels mais j'ai comme objectif d'implémenter d'autres idées concernant la façon de remplir/initialiser des tableaux et d'utiliser les boucles.

Petit snippet de base (à copier coller dans le textarea du lien fourni un peu plus bas) qui montre plutôt bien le principe :)

Code : Tout sélectionner

# Exemple : # # Fibonnacci # f(0) = 0; f(1) = 1; f(x) = f(x-1)+f(x-2); echo 'f0 = '.f(0)."\n"; echo 'f1 = '.f(1)."\n"; echo 'f2 = '.f(2)."\n"; echo 'f3 = '.f(3)."\n"; echo 'f4 = '.f(4)."\n"; echo 'f5 = '.f(5)."\n"; echo 'f6 = '.f(6)."\n"; echo 'f7 = '.f(7)."\n";
Le parser :
http://www.hezad.com/files/func_parser/parser.php

C'est vraiment qu'un début, la gestion des erreurs de syntaxe est (très très) loin d'être véritablement gérée (Comprenez "pas du tout sauf exception").

instructions implémentées :
- ? / echo : exactement la même chose que echo() en php.
- debug : affiche pas mal d'infos sur le code généré et les données parsées.

et euh.. c'est tout pour l'instant :lol: Pour la déclaration / utlisation des fonctions, la syntaxe est clairement visible dans l'exemple.

Le principe étant que toute donnée est censée être une fonction, une variable peut être déclarée de la façon suivante :
nom_variable() = valeur_variable;