Annex A (informative) Grammar summary [gram] (original) (raw)

This summary of C++ grammar is intended to be an aid to comprehension.

It is not an exact statement of the language.

In particular, the grammar described here accepts a superset of valid C++ constructs.

Disambiguation rules ([stmt.ambig], [dcl.spec], [class.member.lookup]) are applied to distinguish expressions from declarations.

Further, access control, ambiguity, and type rules are used to weed out syntactically valid but meaningless constructs.