Capisco la differenza tra sintassi e semantica -
Sintassi : come i simboli vengono combinati per formare un'espressione o un'istruzione valida.
Semantica : il significato di quei simboli che formano un'espressione o un'affermazione.
Ma qual è la grammatica? Ad esempio: a volte sento persone dire che un costrutto è "grammaticalmente errato ma sintatticamente è corretto". Cosa significa?
int;
è grammaticalmente valido, ma sintatticamente mal formato in C ++. La grammatica non ha problemi con questo codice, ma i vincoli di sintassi richiedono che venga fornito un nome se la prima parte di una dichiarazione non contiene specificatore di classe o specificatore di enum o, in C ++ 11, specificatore di amico .