ANALYSEUR LEXICAL ET SYNTAXIQUE DES FORMULES PROPOSITIONNELLES [LOGIQUE MATHÉMAT

cs_zakizaki7 Messages postés 12 Date d'inscription mardi 27 mai 2008 Statut Membre Dernière intervention 29 novembre 2009 - 31 mai 2009 à 20:56
cs_boutemine Messages postés 78 Date d'inscription dimanche 8 mai 2005 Statut Membre Dernière intervention 21 mars 2018 - 23 févr. 2012 à 18:37
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/50061-analyseur-lexical-et-syntaxique-des-formules-propositionnelles-logique-mathematique

cs_boutemine Messages postés 78 Date d'inscription dimanche 8 mai 2005 Statut Membre Dernière intervention 21 mars 2018 2
23 févr. 2012 à 18:37
@GILDER, merci pour la mention. Tas raison, la priorité des opérateurs n'a pas été prise en charge. Fallait utiliser un analyseur SLR ou LALR. Quand meme, le code fonctionne avec la notation polonaise.
Pour l'astuce du DataTable, il est meilleur si on avait une expression à évaluer mais comme l'objectif était de reconstruire l'arbre d'analyse syntaxique, j'ai opté pour l'implémentation de l'analyseur ascendant.
Merci pour votre commentaire
gilder Messages postés 3 Date d'inscription mercredi 2 avril 2003 Statut Membre Dernière intervention 23 février 2012
23 févr. 2012 à 18:12
Merci pour cette source !
Petite précision, cela ne permet que de tester la syntaxe et le lexique.
Ne pas ce baser sur l'arbre car les opérateurs ne sont pas priorisé...

Si vous n'avez que des & et | il suffit de remplacer des & par des * et les | par des + ainsi que les variables par 1 ou 0 dans la formule et faire :

new DataTable().Compute(formule,null);

Si 0 false si <0 true
imadarena Messages postés 1 Date d'inscription dimanche 18 avril 2010 Statut Membre Dernière intervention 8 mai 2011
8 mai 2011 à 19:51
Merci du partage..je l'est pas essayé, mais ça a l'air bien fait...

bonne continuation
cs_zakizaki7 Messages postés 12 Date d'inscription mardi 27 mai 2008 Statut Membre Dernière intervention 29 novembre 2009
31 mai 2009 à 20:56
merci bcp pour le source