Je comprends la différence entre la syntaxe et la sémantique -
Syntaxe : comment les symboles sont combinés pour former une expression ou une instruction valide.
Sémantique : la signification de ces symboles qui forment une expression ou une déclaration.
Mais quelle est la grammaire? Par exemple: parfois j'entends des gens dire qu'une construction est "grammaticalement incorrecte mais syntaxiquement correcte". Qu'est-ce que ça veut dire?
int;
est grammaticalement valide, mais mal formé syntaxiquement en C ++. La grammaire n'a aucun problème avec ce code, mais les contraintes de syntaxe nécessitent qu'un nom soit fourni si la première partie d'une déclaration ne contient aucun spécificateur de classe ou spécificateur d' énumération ou, en C ++ 11, ami-spécificateur .