Non mais tu réinventes la roue carrée là, je t'assure. Ce que tu décris, c'est ce que fait le compilateur, sauf qu'il le fait au bon moment.
Si je comprends ce que tu veux dire en le reformulant, c'est : au moment de l'analyse syntaxique, quand on lit «identificateur x», on peut savoir que x est un type (avec une pile dis-tu) et donc, c'est non-ambigu. Alors, je te rassure, c'est ce qu'un compilateur fait, sauf qu'il le fait dans la phase suivante, l'analyse sémantique. Parce que déjà, pour savoir que x est un type (défini précédemment), il faut avoir définit sa sémantique. Ensuite, ta pile, en fait, ça s'appelle une table des symboles et ça s'implémente mieux avec une hashmap ou un arbre, et ça se construit au moment de l'analyse sémantique. Et la grammaire reste ambiguë, c'est pas parce qu'on sait résoudre les ambiguïtés que la grammaire devient non-ambiguë sinon, on ne pourrait rien compiler. L'analyse syntaxique, elle se contente de renvoyer une suite de léxème, qui sont en entrée de l'analyse sémantique.
[^] # Re: commentaires
Posté par rewind (Mastodon) . En réponse à la dépêche Le standard C++0x a enfin été voté. Évalué à 4.
Non mais tu réinventes la roue carrée là, je t'assure. Ce que tu décris, c'est ce que fait le compilateur, sauf qu'il le fait au bon moment.
Si je comprends ce que tu veux dire en le reformulant, c'est : au moment de l'analyse syntaxique, quand on lit «identificateur x», on peut savoir que x est un type (avec une pile dis-tu) et donc, c'est non-ambigu. Alors, je te rassure, c'est ce qu'un compilateur fait, sauf qu'il le fait dans la phase suivante, l'analyse sémantique. Parce que déjà, pour savoir que x est un type (défini précédemment), il faut avoir définit sa sémantique. Ensuite, ta pile, en fait, ça s'appelle une table des symboles et ça s'implémente mieux avec une hashmap ou un arbre, et ça se construit au moment de l'analyse sémantique. Et la grammaire reste ambiguë, c'est pas parce qu'on sait résoudre les ambiguïtés que la grammaire devient non-ambiguë sinon, on ne pourrait rien compiler. L'analyse syntaxique, elle se contente de renvoyer une suite de léxème, qui sont en entrée de l'analyse sémantique.