Je suis un peu de difficulté à comprendre les différences entre les différentes erreurs dans les phases de complier, par exemple ce programme:Quelle étape du compilateur détecte le programme erroné suivant?
int main()
{
int x = 5;
int x = 6;
}
Je pense que ce serait un échec dans la phase d'analyse sémantique, mais je ne suis pas cela est certain (est-il possible qu'il échoue dans la phase d'analyse lexicale comme un jeton dupliqué pour (int x) serait généré?)
Appréciez votre aide.
L'insertion dans la table de symboles lors de la phase d'analyse lexicale conduirait à une collision et créerait une erreur de "duplicate symbol". –
@DavidBrabant Merci, merci de votre aide. –