Pile/parseur/lexer/tokens

Soyez le premier à donner votre avis sur cette source.

Vue 8 172 fois - Téléchargée 341 fois

Description

Pour un projet plus gros, j'avais besoin de maitriser le parsing de facon generale, j'ai donc cherche sur le net, sans comprendre vraiment... j'ai ensuite code quelques petits trucs, puis demande a certaines personnes si c'etait correct, Exetron et ZeroCool, ZeroCool m'a bien aide, il m'a decrit le fonctionnement ideal du parseur/lexeur, et m'a corrige enormement d'erreurs de conceptions...

ca permet pour le moment de colorer du CSS, si quelqu'un desire faire un site qui heberge des programmes, si il veut pouvoir chercher une fonction particuliere dans son code, une ou toutes les fonctions qui ont un prototype particulier, c'est a peu pres cette source qui convient, mais il devra se coder beaucoup de tokens et nodes...

Conclusion :


n'utilisez pas ca pour colorer, c'est vraiment vraiment lent... la, j'ai colore pour l'exemple... mais c'est pas exploitable...

Codes Sources

A voir également

Ajouter un commentaire Commentaires
Messages postés
163
Date d'inscription
lundi 29 septembre 2003
Statut
Membre
Dernière intervention
8 mai 2010

Salut coucou747, ça fait un baille que je ne suis pas reconnecter ici.

C'est osez de faire un parseur lexeur en PHP et un bon défi en meme temps.
J'ai regarder rapidement tes sources, cela semble sympa et plutôt pas mal gérer. Je pense surtout que la lenteur est surtout du à l'imbrication des boucles dans ton parseur. La conso mémoire doit être sympa aussi.

Je regretterai juste que tu ne gère pas les priorités d'opérateur, qu'il est difficile de visualiser sa grammaire, et l'absence de sous-groupe de token (à moins de modifié tes token complexe pour les remplacer par une autre instance d'un lexeur parseur).

Je pense, c'est un avis personnel, que la parsage par sous-groupe de token offre de bien meilleure performance et moins de risque d'erreur lors du parsage.

Belle tentative toutefois, je pense que c'est un peu complexe pour les utilisateurs de CS malheureusement. Tu risque de ne pas avoir beaucoup de commentaires constructifs.
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
39
elle sert a montrer comment analyser un code source essentiellement

je me sers d'un modele analogue (en un poil plus fin) pour transformer un code pascal en pseudo code
Messages postés
46
Date d'inscription
mercredi 4 avril 2007
Statut
Membre
Dernière intervention
25 février 2009

slt ,
c bien comme souce mais, ce que je ne comprend pas puisqu'elle est lent dans la utilisation et vous qui dises ca alors à quoi sert cette source ;)
bref je te felicite pour ton super travail comme meme :$
à bientot..........
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
39
pour hotmail, je sais, mais pourquoi tu dis ca exactement ?
throw new Exception, c'est un peu obligatoire que ta classe herite d'Exception...
le fait de creer un fichier / classe ca permet de faire mon petit autoload, c'est pratique pour pouvoir parser du Cpp ou du Css avec quasiment le meme code...
Messages postés
385
Date d'inscription
lundi 27 février 2006
Statut
Membre
Dernière intervention
21 août 2015
4
Quand j'ai vu lexer/tokens j'ai cru que c'est un compilateur ;)
-sinon je crois que le fait de crée un fichier pour chaque token n'est pas vraiment la bonne méthode.
-les classe de gestion des erreurs héritent toutes d'une seule classe oO
c'est bien documenté ;)
ps: hotmail est un produit MS :-)

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.