ANALYSEUR SYNTAXIQUE DU LANGUAGE PASCAL (ANALYSE DESCENDANTE RECURSIVE)

Mulugruntz Messages postés 5 Date d'inscription vendredi 1 mai 2009 Statut Membre Dernière intervention 18 avril 2011 - 7 févr. 2011 à 14:50
Mulugruntz Messages postés 5 Date d'inscription vendredi 1 mai 2009 Statut Membre Dernière intervention 18 avril 2011 - 7 févr. 2011 à 14:50
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/52782-analyseur-syntaxique-du-language-pascal-analyse-descendante-recursive

Mulugruntz Messages postés 5 Date d'inscription vendredi 1 mai 2009 Statut Membre Dernière intervention 18 avril 2011
7 févr. 2011 à 14:50
C'est peut-être sympa, mais des conventions sont à utiliser, parce que sinon, les gens vont faire comme moi: ils vont s'arrêter de lire à la troisième ou quatrième aberration (voire plus tôt).

1) Sépare tes définitions et tes implémentations (un fichier .h et un fichier .cpp).
2) A première vue, tu codes en c++ (extension du fichier .cpp), mais en regardant de plus près, c'est du C pur (sauf erreur de ma part). Tu as à ta disposition des bibliothèques c++, mais commentées. Autant supprimer les lignes, pour ne pas induire en erreur les lecteurs (surtout que si les gens lisent avec une optique de c++, ils vont pas assimiler les # en tant que commentaires).
3) Tes is_** sont déroutants. En lisant "int", on s'attend à récupérer un int. Mais en lisant "is", on s'attend à récupérer un booléen. Au final, on ne sait pas ce que sont censées faire les méthodes. Comment corriger ça: soit tu passes en c++, soit tu définies un bool toi-même:
typedef enum { FAUX, VRAI } BOOL;
La compréhension en sera améliorée et ça évitera bon nombre d'erreurs (plus que deux valeurs possibles).
4) Si en fait, tu souhaitais dès le début programmer en c++, utilise les bibliothèques commentées et use et abuse des string, cin, cout.
5) bonne chance ;)
Rejoignez-nous