INTERPRETEUR DE LANGAGE PERSONNALISABLE

amiga68 Messages postés 54 Date d'inscription dimanche 23 février 2003 Statut Membre Dernière intervention 21 décembre 2009 - 7 juil. 2011 à 22:46
cs_Jean_Jean Messages postés 615 Date d'inscription dimanche 13 août 2006 Statut Membre Dernière intervention 13 décembre 2018 - 11 juil. 2011 à 23:10
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/53363-interpreteur-de-langage-personnalisable

cs_Jean_Jean Messages postés 615 Date d'inscription dimanche 13 août 2006 Statut Membre Dernière intervention 13 décembre 2018 3
11 juil. 2011 à 23:10
Super ce code. Bravo pour ce magnifique travail...
cs_barbichette Messages postés 220 Date d'inscription lundi 30 octobre 2000 Statut Membre Dernière intervention 15 juillet 2013
9 juil. 2011 à 09:15
@Mauricio:
La technique n'est pas la même que pour le parser mathématique.
Dans le parser, la liste des tokens est transformée en pile d'évaluation, suivant des règles de priorités uniquement. (une seule fonction qui tourne en boucle)
Dans cette interpréteur, la liste des tokens est transformée en arbre syntaxique, via une série de fonctions qui l'appellent les unes les autres. La notion de priorité est gérée par l'imbrication des fonctions. En gros, la plus imbriqué, "atom", est la plus élevée, et la moins élevé, "commande", est en général celle qui appelle toutes les autres.
cs_MAURICIO Messages postés 2106 Date d'inscription mardi 10 décembre 2002 Statut Modérateur Dernière intervention 15 décembre 2014 5
8 juil. 2011 à 14:51
lol,

ça ressemble beaucoup à ton parser mathématique tout ça!
Je testerai la source plus tard mais j' imagine déjà le code ...

Bravo

A+
cs_barbichette Messages postés 220 Date d'inscription lundi 30 octobre 2000 Statut Membre Dernière intervention 15 juillet 2013
8 juil. 2011 à 07:53
Merci @AMiga68.

Encore une petite précision.
J'ai eu un peu de mal à gérer la classe TValue. (Savoir quand créer un nouvelle objet, le détruire, le modifier). Normalement, chaque TValue créé est détruit. Mais je n'en suis à vrai dire pas sûr...

Barbichette
amiga68 Messages postés 54 Date d'inscription dimanche 23 février 2003 Statut Membre Dernière intervention 21 décembre 2009
7 juil. 2011 à 22:47
Le ? c'est un smiley qui a mal tourné...
Magnifique, je le répète...
amiga68 Messages postés 54 Date d'inscription dimanche 23 février 2003 Statut Membre Dernière intervention 21 décembre 2009
7 juil. 2011 à 22:46
Tout simplement magnifique !!! ?

Je vais étudier tout ça....
Rejoignez-nous