Ich verstehe den Unterschied zwischen Syntax und Semantik -
Syntax : wie die Symbole zu einem gültigen Ausdruck oder einer gültigen Anweisung kombiniert werden.
Semantik : Die Bedeutung der Symbole, die einen Ausdruck oder eine Aussage bilden.
Aber was ist die Grammatik? Zum Beispiel: Manchmal höre ich Leute sagen, dass ein Konstrukt "grammatikalisch falsch, syntaktisch aber richtig" ist. Was bedeutet es?
int;
ist grammatikalisch gültig, aber syntaktisch falsch in C ++. Die Grammatik hat kein Problem mit diesem Code, aber Syntaxbeschränkungen erfordern, dass ein Name angegeben wird, wenn der erste Teil einer Deklaration keinen Klassenspezifizierer oder Aufzählungsspezifizierer oder in C ++ 11 einen Freundespezifizierer enthält .