Entiendo la diferencia entre sintaxis y semántica:
Sintaxis : cómo se combinan los símbolos para formar una expresión o declaración válida.
Semántica : el significado de esos símbolos que forman una expresión o enunciado.
¿Pero cuál es la gramática? Por ejemplo: a veces escucho a la gente decir que alguna construcción es "gramaticalmente incorrecta pero sintácticamente es correcta". Qué significa eso?
int;
es gramaticalmente válido, pero sintácticamente mal formado en C ++. La gramática no tiene ningún problema con este código, pero las restricciones de sintaxis requieren que se proporcione un nombre si la primera parte de una declaración no contiene especificador de clase o especificador de enumeración o, en C ++ 11, especificador de amigo .