grammar


nondigit

We say that a string s is a nondigit when it is one of the following characters:

abcdefgh ijklm
nopqrstu vwxyz
ABCDEFGH IJKLM
NOPQRSTU VWXYZ_

digit

We say that a string s is a digit when it is one of the following characters:

012345 6789

integer-literal

We say that a string s is an integer-literal when it is any of the following:

primary-expression

We say that a string s is a primary-expression when it is any of the following:

postfix-expression

We say that a string s is a postfix-expression when it is any of the following:

unary-expression

We say that a string s is a unary-expression when it is any of the following:

cast-expression

We say that a string s is a cast-expression when it is any of the following:

pm-expression

We say that a string s is a pm-expression when it is any of the following:

multiplicative-expression

We say that a string s is a multiplicative-expression when it is any of the following:

additive-expression

We say that a string s is an additive-expression when it is any of the following:

shift-expression

We say that a string s is a shift-expression when it is any of the following:

compare-expression

We say that a string s is a compare-expression when it is any of the following:

relational-expression

We say that a string s is a relational-expression when it is any of the following:

equality-expression

We say that a string s is an equality-expression when it is any of the following:

and-expression

We say that a string s is an and-expression when it is any of the following:

exclusive-or-expression

We say that a string s is an exclusive-or-expression when it is any of the following:

inclusive-or-expression

We say that a string s is an inclusive-or-expression when it is any of the following:

logical-and-expression

We say that a string s is a logical-and-expression when it is any of the following:

logical-or-expression

We say that a string s is a logical-or-expression when it is any of the following:

conditional-expression

We say that a string s is a conditional-expression when it is any of the following:

assignment-expression

We say that a string s is an assignment-expression when it is any of the following:

expression

We say that a string s is an expression when it is any of the following:

identifier-start

We say that a string s is an identifier-start when it is any of the following:

identifier-continue

We say that a string s is an identifier-continue when it is any of the following:

operator

We say that a string s is an operator when it is any of the following:

newdeletenew[]delete[]
co_await( )[ ]->
->*~!+
-*/%
^&|=
+=-=*=/=
%=^=&=|=
==!=<>
<=>=<=>&&
||<<>><<=
>>=++--,

operator-function-id

We say that a string s is an operator-function-id when it is any of the following:

template-name

We say that a string s is a template-name when it is any of the following:

template-argument-name

We say that a string s is a template-argument-name when it is any of the following:

nested-name-specifier

We say that a string s is a nested-name-specifier when it is any of the following:

namespace-name

We say that a string s is a namespace-name when it is any of the following:

computed-type-specifier

We say that a string s is a computed-type-specifier when it is any of the following:

nested-name-specifier

We say that a string s is a nested-name-specifier when it is any of the following:

template-argument

We say that a string s is a template-argument when it is any of the following:

template-argument-list

We say that a string s is a template-argument-list when it is any of the following:

simple-template-id

We say that a string s is a simple-template-id when it consists of the following:

type-name

We say that a string s is a type-name when it is any of the following:

simple-type-specifier

We say that a string s is a simple-type-specifier when it is any of the following:

identifier

We say that a string s is an identifier when it is any of the following:

Examples

Non-examples

unqualified-id

We say that a string s is an unqualified-id when it is any of the following:

id-expression

We say that a string s is an id-expression when it is any of the following: