__EarlyStartSymbol:
File
TOK_EOF
__EarlyStartSymbol
::=
File
TOK_EOF
no references
File:
TranslationUnit
File
::=
TranslationUnit
referenced by:
__EarlyStartSymbol
Identifier:
TOK_NAME
Identifier
::=
TOK_NAME
referenced by:
CastExpression
ClassHeadNameOpt
Declarator
Designator
EnumSpecifier
EnumeratorDefinition
FirstMemberDesignator
GNUAsmOperand
IdentifierOpt
InitializerClause
KandRIdentifier
LabelAndColon
NAD1
NAD2
NamespaceDecl
PQTypeName_ncc
PQualifiedId
Statement
TemplateId
UnqualifiedId
TranslationUnit:
TFDeclaration
;
TranslationUnit
::= (
TFDeclaration
| ';' )*
referenced by:
File
LinkageSpecification
NamespaceDefinition
Literal:
TOK_INT_LITERAL
TOK_FLOAT_LITERAL
StringLiteral
TOK_CHAR_LITERAL
true
false
Literal
::=
TOK_INT_LITERAL
|
TOK_FLOAT_LITERAL
|
StringLiteral
|
TOK_CHAR_LITERAL
| 'true'
| 'false'
referenced by:
CastExpression
PreprocString:
TOK_STRING_LITERAL
TOK___FUNCTION__
TOK___PRETTY_FUNCTION__
PreprocString
::=
TOK_STRING_LITERAL
|
TOK___FUNCTION__
|
TOK___PRETTY_FUNCTION__
referenced by:
StringLiteral
StringLiteral:
PreprocString
StringLiteral
::=
PreprocString
+
referenced by:
AsmDefinition
Declarator
GNUAsmClobberList
GNUAsmOperand
Literal
IdExpression:
::
PQualifiedId
IdExpression
::= '::'?
PQualifiedId
referenced by:
CastExpression
Declarator
MemberDeclaration
NamespaceDecl
PtrToMemberName
UnqualifiedId:
Identifier
OperatorFunctionId
ConversionFunctionId
TemplateId
UnqualifiedId
::=
Identifier
|
OperatorFunctionId
|
ConversionFunctionId
|
TemplateId
referenced by:
PQualifiedId
PQualifiedId:
Identifier
<
TemplateArgumentListOpt
>
template
Identifier
<
TemplateArgumentListOpt
>
::
UnqualifiedId
PQualifiedId
::= ( (
Identifier
( '<'
TemplateArgumentListOpt
'>' )? | 'template'
Identifier
'<'
TemplateArgumentListOpt
'>' ) '::' )*
UnqualifiedId
referenced by:
IdExpression
MemberDeclaration
ArgumentList:
(
ExpressionListOpt
)
ArgumentList
::= '('
ExpressionListOpt
')'
referenced by:
CastExpression
CtorExpressionType:
PQTypeName
char
wchar_t
bool
short
int
long
TOK_SIGNED
unsigned
float
double
void
CtorExpressionType
::=
PQTypeName
| 'char'
| 'wchar_t'
| 'bool'
| 'short'
| 'int'
| 'long'
|
TOK_SIGNED
| 'unsigned'
| 'float'
| 'double'
| 'void'
referenced by:
CastExpression
CastKeyword:
dynamic_cast
static_cast
reinterpret_cast
const_cast
CastKeyword
::= 'dynamic_cast'
| 'static_cast'
| 'reinterpret_cast'
| 'const_cast'
referenced by:
CastExpression
ExpressionList:
AssignmentExpression
,
ExpressionList
::=
AssignmentExpression
( ','
AssignmentExpression
)*
referenced by:
CommaSepExpressionListOpt
ExpressionListOpt
Initializer
NewPlacementOpt
ExpressionListOpt:
ExpressionList
ExpressionListOpt
::=
ExpressionList
?
referenced by:
ArgumentList
MemInitializer
NewInitializerOpt
ColonColonOpt:
::
ColonColonOpt
::= '::'?
referenced by:
DeleteExpression
NewExpression
NewExpression:
ColonColonOpt
new
NewPlacementOpt
NewTypeId
(
TypeId
)
NewInitializerOpt
NewExpression
::=
ColonColonOpt
'new'
NewPlacementOpt
(
NewTypeId
| '('
TypeId
')' )
NewInitializerOpt
referenced by:
CastExpression
NewPlacementOpt:
(
ExpressionList
)
NewPlacementOpt
::= ( '('
ExpressionList
')' )?
referenced by:
NewExpression
NewTypeId:
TypeSpecifier
PtrToMemberName
*
CVQualifierSeqOpt
[
Expression
]
ConstantExpression
[
NewTypeId
::=
TypeSpecifier
(
PtrToMemberName
? '*'
CVQualifierSeqOpt
)* ( '['
Expression
']' ( '['
ConstantExpression
']' )* )?
referenced by:
NewExpression
NewInitializerOpt:
(
ExpressionListOpt
)
NewInitializerOpt
::= ( '('
ExpressionListOpt
')' )?
referenced by:
NewExpression
DeleteExpression:
ColonColonOpt
delete
[
]
CastExpression
DeleteExpression
::=
ColonColonOpt
'delete' ( '[' ']' )?
CastExpression
referenced by:
CastExpression
NameAfterDot:
NAD1
::
NAD2
NameAfterDot
::=
NAD1
| '::'
NAD2
referenced by:
CastExpression
NAD1:
template
Identifier
<
TemplateArgumentListOpt
>
::
NAD2
template
Identifier
<
TemplateArgumentListOpt
>
~
Identifier
<
TemplateArgumentListOpt
>
ConversionFunctionId
NAD1
::= ( 'template'
Identifier
'<'
TemplateArgumentListOpt
'>' '::' )* (
NAD2
| 'template'
Identifier
'<'
TemplateArgumentListOpt
'>' | '~'
Identifier
( '<'
TemplateArgumentListOpt
'>' )? |
ConversionFunctionId
)
referenced by:
NAD2
NameAfterDot
NAD2:
Identifier
<
TemplateArgumentListOpt
>
::
NAD1
OperatorFunctionId
<
TemplateArgumentListOpt
>
template
OperatorFunctionId
<
TemplateArgumentListOpt
>
NAD2
::=
Identifier
( '<'
TemplateArgumentListOpt
'>' )? ( '::'
NAD1
)?
|
OperatorFunctionId
( '<'
TemplateArgumentListOpt
'>' )?
| 'template'
OperatorFunctionId
'<'
TemplateArgumentListOpt
'>'
referenced by:
NAD1
NameAfterDot
CastExpression:
(
TypeId
ImplicitIntTypeId
)
sizeof
__real__
__imag__
Literal
this
(
Expression
CompoundStatement
)
TypeId
)
CompoundInitializer
IdExpression
typename
IdExpression
CtorExpressionType
ArgumentList
CastKeyword
<
TypeId
>
(
Expression
typeid
(
Expression
TypeId
)
[
Expression
]
ArgumentList
.
->
NameAfterDot
++
--
++
--
*
&
+
-
!
~
CastExpression
DeleteExpression
sizeof
(
__builtin_va_arg
(
Expression
,
TypeId
__builtin_offsetof
(
TypeId
,
MemberDesignator
__offsetof__
(
__builtin_expect
(
Expression
,
Expression
TOK___ALIGNOF__
(
TypeId
Expression
)
NewExpression
__builtin_constant_p
ParenthesizedExpression
&&
Identifier
CastExpression
::= ( '(' (
TypeId
|
ImplicitIntTypeId
) ')' )* 'sizeof'* ( ( ( '__real__' | '__imag__' )* (
Literal
| 'this' | '(' ( (
Expression
|
CompoundStatement
) ')' |
TypeId
')'
CompoundInitializer
) |
IdExpression
) | ( 'typename'
IdExpression
|
CtorExpressionType
)
ArgumentList
| (
CastKeyword
'<'
TypeId
'>' '('
Expression
| 'typeid' '(' (
Expression
|
TypeId
) ) ')' ) ( '['
Expression
']' |
ArgumentList
| ( '.' | '->' )
NameAfterDot
| '++' | '--' )* | ( '++' | '--' | '*' | '&' | '+' | '-' | '!' | '~' )
CastExpression
|
DeleteExpression
| ( ( 'sizeof' '(' | '__builtin_va_arg' '('
Expression
',' )
TypeId
| '__builtin_offsetof' '('
TypeId
','
MemberDesignator
| ( '__offsetof__' '(' | '__builtin_expect' '('
Expression
',' )
Expression
|
TOK___ALIGNOF__
'(' (
TypeId
|
Expression
) ) ')' |
NewExpression
| '__builtin_constant_p'
ParenthesizedExpression
| '&&'
Identifier
)
referenced by:
BinExp_high
CastExpression
DeleteExpression
BinExp_high:
CastExpression
BinExp_high
.*
->*
*
/
%
+
-
<<
>>
BinExp_high
BinExp_high
::=
CastExpression
|
BinExp_high
( '.*' | '->*' | '*' | '/' | '%' | '+' | '-' | '<<' | '>>' )
BinExp_high
referenced by:
BinExp_high
BinaryExpression
BinaryExpression:
BinExp_high
<
>
<=
>=
TOK_MIN_OP
TOK_MAX_OP
BinaryExpression
==
!=
&
^
|
&&
||
BinaryExpression
BinaryExpression
::=
BinExp_high
( ( '<' | '>' | '<=' | '>=' |
TOK_MIN_OP
|
TOK_MAX_OP
)
BinExp_high
)*
|
BinaryExpression
( '==' | '!=' | '&' | '^' | '|' | '&&' | '||' )
BinaryExpression
referenced by:
AssignmentExpression
BinaryExpression
ConditionalExpression
ConditionalExpression:
BinaryExpression
?
Expression
:
AssignmentExpression
ConditionalExpression
::=
BinaryExpression
( '?'
Expression
? ':'
AssignmentExpression
)?
referenced by:
AssignmentExpression
AssignmentExpression:
BinaryExpression
AssignmentOperator
ConditionalExpression
ThrowExpression
AssignmentExpression
::= (
BinaryExpression
AssignmentOperator
)* (
ConditionalExpression
|
ThrowExpression
)
referenced by:
Condition
ConditionalExpression
ConstantExpression
Expression
ExpressionList
ParameterDeclarator
SimpleInitializerClause
TemplateArgument
ThrowExpression
AssignmentOperator:
*=
/=
%=
+=
-=
>>=
<<=
&=
^=
|=
=
AssignmentOperator
::= '*='
| '/='
| '%='
| '+='
| '-='
| '>>='
| '<<='
| '&='
| '^='
| '|='
| '='
referenced by:
AssignmentExpression
Expression:
AssignmentExpression
,
Expression
::=
AssignmentExpression
( ','
AssignmentExpression
)*
referenced by:
CastExpression
Condition
ConditionalExpression
ExpressionOpt
ExpressionStatement
GNUAsmOperand
NewTypeId
ParenthesizedExpression
Statement
TypeofExpr
ExpressionOpt:
Expression
ExpressionOpt
::=
Expression
?
referenced by:
Statement
ConstantExpression:
AssignmentExpression
ConstantExpression
::=
AssignmentExpression
referenced by:
ConstantExpressionOpt
Declarator
Designator
DirectAbstractDeclarator
EnumeratorDefinition
MemberDeclarator
NewTypeId
Statement
ConstantExpressionOpt:
ConstantExpression
ConstantExpressionOpt
::=
ConstantExpression
?
referenced by:
Declarator
DirectAbstractDeclarator
KandRDeclarator
LabelAndColon:
Identifier
:
LabelAndColon
::=
Identifier
':'
referenced by:
Statement
Statement:
LabelAndColon
default
case
ConstantExpression
...
ConstantExpression
:
switch
while
(
Condition
for
(
ForInitStatement
ConditionOpt
;
ExpressionOpt
)
Identifier
:
AttributeSpecifierList
if
(
Condition
)
Statement
else
Statement
ExpressionStatement
CompoundStatement
do
Statement
while
(
Expression
)
break
continue
UberModifierSeq
InitDeclaratorList
return
Expression
goto
Identifier
*
Expression
;
BlockDeclaration
TryBlock
AsmDefinition
NamespaceDecl
FunctionDefinition
Statement
::= (
LabelAndColon
| ( 'default' | 'case'
ConstantExpression
( '...'
ConstantExpression
)? ) ':' | ( ( 'switch' | 'while' ) '('
Condition
| 'for' '('
ForInitStatement
ConditionOpt
';'
ExpressionOpt
) ')' |
Identifier
':'
AttributeSpecifierList
| 'if' '('
Condition
')' (
Statement
'else' )? )
Statement
|
ExpressionStatement
|
CompoundStatement
| ( 'do'
Statement
'while' '('
Expression
')' | 'break' | 'continue' |
UberModifierSeq
InitDeclaratorList
| 'return'
Expression
? | 'goto' (
Identifier
| '*'
Expression
) ) ';'
|
BlockDeclaration
|
TryBlock
|
AsmDefinition
|
NamespaceDecl
|
FunctionDefinition
referenced by:
CompoundStatement
Statement
ExpressionStatement:
Expression
;
ExpressionStatement
::=
Expression
? ';'
referenced by:
ForInitStatement
Statement
CompoundStatement:
{
Statement
}
CompoundStatement
::= '{'
Statement
* '}'
referenced by:
CastExpression
FunctionBody
Handler
Statement
TryBlock
Condition:
Expression
TypeSpecifier
Declarator
=
AssignmentExpression
Condition
::=
Expression
|
TypeSpecifier
Declarator
'='
AssignmentExpression
referenced by:
ConditionOpt
Statement
ConditionOpt:
Condition
ConditionOpt
::=
Condition
?
referenced by:
Statement
ForInitStatement:
ExpressionStatement
SimpleDeclaration
ForInitStatement
::=
ExpressionStatement
|
SimpleDeclaration
referenced by:
Statement
TFDeclaration:
BlockDeclaration
FunctionDefinition
TemplateDeclaration
ExplicitInstantiation
LinkageSpecification
AsmDefinition
NamespaceDefinition
NamespaceDecl
KandRFunctionDefinition
KandRFunctionDefinition_implInt
ImplIntFunctionDefinition
UberModifierSeqOpt
InitDeclaratorList
;
TFDeclaration
::=
BlockDeclaration
|
FunctionDefinition
|
TemplateDeclaration
|
ExplicitInstantiation
|
LinkageSpecification
|
AsmDefinition
|
NamespaceDefinition
|
NamespaceDecl
|
KandRFunctionDefinition
|
KandRFunctionDefinition_implInt
|
ImplIntFunctionDefinition
|
UberModifierSeqOpt
InitDeclaratorList
';'
referenced by:
LinkageSpecification
TranslationUnit
BlockDeclaration:
SimpleDeclaration
BlockDeclaration
::=
SimpleDeclaration
referenced by:
ExplicitInstantiation
Statement
TFDeclaration
SimpleDeclaration:
DeclSpecifier
InitDeclaratorList
;
SimpleDeclaration
::=
DeclSpecifier
InitDeclaratorList
? ';'
referenced by:
BlockDeclaration
ForInitStatement
TemplateDeclaration
DeclSpecifier:
AttributeSpecifierList
PQTypeName
ElaboratedOrSpecifier
TypeofTypeSpecifier
UberModifierSeqOpt
AttributeSpecifier_UMAASLOpt
UberModifierSeq
PQTypeName
ElaboratedOrSpecifier
TypeofTypeSpecifier
UberModifierSeqOpt
AttributeSpecifier_UMAASLOpt
UberTypeKeyword
UberTypeAndModifierSeqOpt
AttributeSpecifier_UTAMAASLOpt
AttributeSpecifier_UMAASLOpt
PQTypeName
ElaboratedOrSpecifier
TypeofTypeSpecifier
UMAASLOpt
UberTypeKeyword
UTAMAASLOpt
UberTypeKeyword
UberTypeAndModifierSeqOpt
AttributeSpecifier_UTAMAASLOpt
DeclSpecifier
::=
AttributeSpecifierList
* ( (
PQTypeName
|
ElaboratedOrSpecifier
|
TypeofTypeSpecifier
)
UberModifierSeqOpt
AttributeSpecifier_UMAASLOpt
? |
UberModifierSeq
( (
PQTypeName
|
ElaboratedOrSpecifier
|
TypeofTypeSpecifier
)
UberModifierSeqOpt
AttributeSpecifier_UMAASLOpt
? |
UberTypeKeyword
UberTypeAndModifierSeqOpt
AttributeSpecifier_UTAMAASLOpt
? |
AttributeSpecifier_UMAASLOpt
( (
PQTypeName
|
ElaboratedOrSpecifier
|
TypeofTypeSpecifier
)
UMAASLOpt
|
UberTypeKeyword
UTAMAASLOpt
) ) |
UberTypeKeyword
UberTypeAndModifierSeqOpt
AttributeSpecifier_UTAMAASLOpt
? )
referenced by:
FunctionDefinition
KandRFunctionDefinition
KandRSimpleDeclaration
MemberDeclaration
SimpleDeclaration
ElaboratedOrSpecifier:
ElaboratedTypeSpecifier
ClassSpecifier
EnumSpecifier
ElaboratedOrSpecifier
::=
ElaboratedTypeSpecifier
|
ClassSpecifier
|
EnumSpecifier
referenced by:
DeclSpecifier
TypeSpecifier
UberModifierSeq:
UberModifier
UberModifierSeq
::=
UberModifier
+
referenced by:
DeclSpecifier
KandRFunctionDefinition_implInt
Statement
UberModifierSeqOpt
UberModifierSeqOpt:
UberModifierSeq
UberModifierSeqOpt
::=
UberModifierSeq
?
referenced by:
DeclSpecifier
TFDeclaration
UberTypeAndModifierSeqOpt:
UberModifier
UberTypeKeyword
UberTypeAndModifierSeqOpt
::= (
UberModifier
|
UberTypeKeyword
)*
referenced by:
DeclSpecifier
UberCVQualifierSeq:
UberCVQualifier
UberCVQualifierSeq
::=
UberCVQualifier
+
referenced by:
ImplicitIntTypeSpecifier
TypeSpecifier
UberCVQualifierSeqOpt
UberCVQualifierSeqOpt:
UberCVQualifierSeq
UberCVQualifierSeqOpt
::=
UberCVQualifierSeq
?
referenced by:
TypeSpecifier
UberTypeAndCVQualifierSeqOpt:
UberCVQualifier
UberTypeKeyword
UberTypeAndCVQualifierSeqOpt
::= (
UberCVQualifier
|
UberTypeKeyword
)*
referenced by:
TypeSpecifier
UberModifier:
auto
register
static
extern
mutable
TOK_INLINE
virtual
friend
typedef
TOK_CONST
TOK_VOLATILE
TOK_RESTRICT
UberModifier
::= 'auto'
| 'register'
| 'static'
| 'extern'
| 'mutable'
|
TOK_INLINE
| 'virtual'
| 'friend'
| 'typedef'
|
TOK_CONST
|
TOK_VOLATILE
|
TOK_RESTRICT
referenced by:
UMAASLOpt
UTAMAASLOpt
UberModifierSeq
UberTypeAndModifierSeqOpt
UberCVQualifier:
TOK_CONST
TOK_VOLATILE
TOK_RESTRICT
UberCVQualifier
::=
TOK_CONST
|
TOK_VOLATILE
|
TOK_RESTRICT
referenced by:
UCVAASLOpt
UTACVAASLOpt
UberCVQualifierSeq
UberTypeAndCVQualifierSeqOpt
UberTypeKeyword:
char
wchar_t
bool
short
int
long
TOK_SIGNED
unsigned
float
double
void
TOK_COMPLEX
TOK_IMAGINARY
UberTypeKeyword
::= 'char'
| 'wchar_t'
| 'bool'
| 'short'
| 'int'
| 'long'
|
TOK_SIGNED
| 'unsigned'
| 'float'
| 'double'
| 'void'
|
TOK_COMPLEX
|
TOK_IMAGINARY
referenced by:
DeclSpecifier
TypeSpecifier
UTACVAASLOpt
UTAMAASLOpt
UberTypeAndCVQualifierSeqOpt
UberTypeAndModifierSeqOpt
ElaboratedTypeSpecifier:
ClassKey
enum
AttributeSpecifierList
typename
PQTypeName
ElaboratedTypeSpecifier
::= ( (
ClassKey
| 'enum' )
AttributeSpecifierList
? | 'typename' )
PQTypeName
referenced by:
ElaboratedOrSpecifier
TypeSpecifier:
AttributeSpecifierList
PQTypeName
ElaboratedOrSpecifier
TypeofTypeSpecifier
UberCVQualifierSeqOpt
AttributeSpecifier_UCVAASLOpt
UberCVQualifierSeq
PQTypeName
ElaboratedOrSpecifier
TypeofTypeSpecifier
UberCVQualifierSeqOpt
AttributeSpecifier_UCVAASLOpt
UberTypeKeyword
UberTypeAndCVQualifierSeqOpt
AttributeSpecifier_UTACVAASLOpt
AttributeSpecifier_UCVAASLOpt
PQTypeName
ElaboratedOrSpecifier
TypeofTypeSpecifier
UCVAASLOpt
UberTypeKeyword
UTACVAASLOpt
UberTypeKeyword
UberTypeAndCVQualifierSeqOpt
AttributeSpecifier_UTACVAASLOpt
TypeSpecifier
::=
AttributeSpecifierList
* ( (
PQTypeName
|
ElaboratedOrSpecifier
|
TypeofTypeSpecifier
)
UberCVQualifierSeqOpt
AttributeSpecifier_UCVAASLOpt
? |
UberCVQualifierSeq
( (
PQTypeName
|
ElaboratedOrSpecifier
|
TypeofTypeSpecifier
)
UberCVQualifierSeqOpt
AttributeSpecifier_UCVAASLOpt
? |
UberTypeKeyword
UberTypeAndCVQualifierSeqOpt
AttributeSpecifier_UTACVAASLOpt
? |
AttributeSpecifier_UCVAASLOpt
( (
PQTypeName
|
ElaboratedOrSpecifier
|
TypeofTypeSpecifier
)
UCVAASLOpt
|
UberTypeKeyword
UTACVAASLOpt
) ) |
UberTypeKeyword
UberTypeAndCVQualifierSeqOpt
AttributeSpecifier_UTACVAASLOpt
? )
referenced by:
Condition
ConversionTypeId
HandlerParameter
NewTypeId
ParameterDeclaration
TypeId
PQTypeName:
::
PQTypeName_ncc
PQTypeName
::= '::'?
PQTypeName_ncc
referenced by:
CtorExpressionType
DeclSpecifier
ElaboratedTypeSpecifier
EnumSpecifier
MemInitializerId
PQClassName
TypeSpecifier
PQTypeName_ncc:
Identifier
<
TemplateArgumentListOpt
>
::
>
TemplateArgumentListOpt
<
Identifier
template
PQTypeName_ncc
template
TemplateId
TemplateId
PQTypeName_ncc
::=
Identifier
( ( '<'
TemplateArgumentListOpt
'>' )? '::' ( 'template'
Identifier
'<'
TemplateArgumentListOpt
'>' '::' )* (
PQTypeName_ncc
| 'template'
TemplateId
) )?
|
TemplateId
referenced by:
PQTypeName
PQTypeName_ncc
EnumSpecifier:
enum
Identifier
AttributeSpecifierList
PQTypeName
{
EnumeratorDefinition
,
EnumeratorDefinition
}
EnumSpecifier
::= 'enum' (
Identifier
|
AttributeSpecifierList
PQTypeName
? )? '{' (
EnumeratorDefinition
',' )*
EnumeratorDefinition
? '}'
referenced by:
ElaboratedOrSpecifier
EnumeratorDefinition:
Identifier
=
ConstantExpression
EnumeratorDefinition
::=
Identifier
( '='
ConstantExpression
)?
referenced by:
EnumSpecifier
AsmDefinition:
TOK_ASM
TOK_VOLATILE
(
StringLiteral
VolatileOpt
(
StringLiteral
:
GNUAsmOperandListOpt
:
GNUAsmOperandListOpt
GNUAsmClobberListOpt
::
GNUAsmClobberList
::
GNUAsmOperandListOpt
GNUAsmClobberListOpt
)
;
AsmDefinition
::=
TOK_ASM
(
TOK_VOLATILE
? '('
StringLiteral
|
VolatileOpt
'('
StringLiteral
( ':'
GNUAsmOperandListOpt
( ':'
GNUAsmOperandListOpt
GNUAsmClobberListOpt
| '::'
GNUAsmClobberList
)? | '::'
GNUAsmOperandListOpt
GNUAsmClobberListOpt
) ) ')' ';'
referenced by:
Statement
TFDeclaration
LinkageSpecification:
extern
TOK_STRING_LITERAL
{
TranslationUnit
}
TFDeclaration
LinkageSpecification
::= 'extern'
TOK_STRING_LITERAL
( '{'
TranslationUnit
'}' |
TFDeclaration
)
referenced by:
TFDeclaration
InitDeclaratorList:
InitDeclarator
AttributeSpecifierList
,
InitDeclaratorList
::=
InitDeclarator
( ','
AttributeSpecifierList
?
InitDeclarator
)*
referenced by:
SimpleDeclaration
Statement
TFDeclaration
InitDeclarator:
Declarator
Initializer
InitDeclarator
::=
Declarator
Initializer
?
referenced by:
InitDeclaratorList
Initializer:
=
SimpleInitializerClause
(
ExpressionList
)
Initializer
::= '='
SimpleInitializerClause
| '('
ExpressionList
')'
referenced by:
InitDeclarator
SimpleInitializerClause:
AssignmentExpression
CompoundInitializer
SimpleInitializerClause
::=
AssignmentExpression
|
CompoundInitializer
referenced by:
Initializer
InitializerClause
InitializerClause:
Identifier
:
DesignatorList
=
SimpleInitializerClause
InitializerClause
::= (
Identifier
':' |
DesignatorList
'='? )?
SimpleInitializerClause
referenced by:
CompoundInitializer
CompoundInitializer:
{
InitializerClause
,
CommaOpt
}
CompoundInitializer
::= '{' (
InitializerClause
( ','
InitializerClause
)*
CommaOpt
)? '}'
referenced by:
CastExpression
SimpleInitializerClause
CommaOpt:
,
CommaOpt
::= ','?
referenced by:
CompoundInitializer
DesignatorList:
Designator
DesignatorList
::=
Designator
+
referenced by:
InitializerClause
MemberDesignator
Designator:
.
Identifier
[
ConstantExpression
...
ConstantExpression
]
Designator
::= '.'
Identifier
| '['
ConstantExpression
( '...'
ConstantExpression
)? ']'
referenced by:
DesignatorList
Declarator:
*
CVQualifierSeqOpt
AttributeSpecifier_UCVAASLOpt
&
PtrToMemberName
*
CVQualifierSeqOpt
IdExpression
Identifier
<
TemplateArgumentListOpt
>
template
Identifier
<
TemplateArgumentListOpt
>
::
~
Identifier
<
TemplateArgumentListOpt
>
(
AttributeSpecifierList
Declarator
)
(
ParameterDeclarationClause
)
CVQualifierSeqOpt
ExceptionSpecificationOpt
[
ConstantExpressionOpt
static
CVQualifierSeqOpt
ConstantExpression
CVQualifierSeq
ConstantExpressionOpt
static
ConstantExpression
]
TOK_ASM
(
StringLiteral
)
AttributeSpecifierList
Declarator
::= ( '*'
CVQualifierSeqOpt
AttributeSpecifier_UCVAASLOpt
? | ( '&' |
PtrToMemberName
'*' )
CVQualifierSeqOpt
)* (
IdExpression
| ( (
Identifier
( '<'
TemplateArgumentListOpt
'>' )? | 'template'
Identifier
'<'
TemplateArgumentListOpt
'>' ) '::' )* '~'
Identifier
( '<'
TemplateArgumentListOpt
'>' )? | '('
AttributeSpecifierList
?
Declarator
')' ) ( '('
ParameterDeclarationClause
')'
CVQualifierSeqOpt
ExceptionSpecificationOpt
| '[' (
ConstantExpressionOpt
| 'static'
CVQualifierSeqOpt
ConstantExpression
|
CVQualifierSeq
(
ConstantExpressionOpt
| 'static'
ConstantExpression
) ) ']' )* (
TOK_ASM
'('
StringLiteral
')' )?
AttributeSpecifierList
?
referenced by:
Condition
Declarator
FDDeclarator
ImplIntFunctionDefinition
InitDeclarator
KandRInitDeclarator
MemberDeclarator
UnqualifiedDeclarator
PtrToMemberName:
IdExpression
::
PtrToMemberName
::=
IdExpression
'::'
referenced by:
AbstractDeclarator
ConversionTypeId
Declarator
NewTypeId
CVQualifierSeqOpt:
CVQualifierSeq
CVQualifierSeqOpt
::=
CVQualifierSeq
?
referenced by:
AbstractDeclarator
ConversionTypeId
Declarator
DirectAbstractDeclarator
KandRDeclarator
NewTypeId
CVQualifierSeq:
CVQualifier
CVQualifierSeq
::=
CVQualifier
+
referenced by:
CVQualifierSeqOpt
Declarator
DirectAbstractDeclarator
CVQualifier:
TOK_CONST
TOK_VOLATILE
TOK_RESTRICT
CVQualifier
::=
TOK_CONST
|
TOK_VOLATILE
|
TOK_RESTRICT
referenced by:
CVQualifierSeq
TypeId:
TypeSpecifier
AbstractDeclaratorOpt
TypeId
::=
TypeSpecifier
AbstractDeclaratorOpt
referenced by:
CastExpression
DefaultTypeOpt
ExceptionSpecificationOpt
NewExpression
TemplateArgument
TypeofType
AbstractDeclaratorOpt:
AbstractDeclarator
AbstractDeclaratorOpt
::=
AbstractDeclarator
?
referenced by:
AbstractDeclarator
HandlerParameter
ParameterDeclarator
TypeId
AbstractDeclarator:
*
CVQualifierSeqOpt
AttributeSpecifier_UCVAASLOpt
&
PtrToMemberName
*
CVQualifierSeqOpt
AbstractDeclaratorOpt
DirectAbstractDeclarator
AttributeSpecifierList
AbstractDeclarator
::= ( '*'
CVQualifierSeqOpt
AttributeSpecifier_UCVAASLOpt
? | ( '&' |
PtrToMemberName
'*' )
CVQualifierSeqOpt
)
AbstractDeclaratorOpt
|
DirectAbstractDeclarator
AttributeSpecifierList
?
referenced by:
AbstractDeclaratorOpt
DirectAbstractDeclarator
DirectAbstractDeclaratorOpt:
DirectAbstractDeclarator
DirectAbstractDeclaratorOpt
::=
DirectAbstractDeclarator
?
referenced by:
DirectAbstractDeclarator
DirectAbstractDeclarator:
DirectAbstractDeclaratorOpt
(
ParameterDeclarationClause
)
CVQualifierSeqOpt
ExceptionSpecificationOpt
[
ConstantExpressionOpt
static
CVQualifierSeqOpt
ConstantExpression
CVQualifierSeq
ConstantExpressionOpt
static
ConstantExpression
]
(
AttributeSpecifierList
AbstractDeclarator
)
DirectAbstractDeclarator
::=
DirectAbstractDeclaratorOpt
( '('
ParameterDeclarationClause
')'
CVQualifierSeqOpt
ExceptionSpecificationOpt
| '[' (
ConstantExpressionOpt
| 'static'
CVQualifierSeqOpt
ConstantExpression
|
CVQualifierSeq
(
ConstantExpressionOpt
| 'static'
ConstantExpression
) ) ']' )
| '('
AttributeSpecifierList
?
AbstractDeclarator
')'
referenced by:
AbstractDeclarator
DirectAbstractDeclaratorOpt
ParameterDeclarationClause:
ParameterDeclaration
,
...
ParameterDeclaration
...
ParameterDeclarationClause
::= ( (
ParameterDeclaration
',' )* ( '...' |
ParameterDeclaration
'...'? ) )?
referenced by:
Declarator
DirectAbstractDeclarator
KandRDeclarator
ParameterDeclaration:
TypeSpecifier
register
ParameterDeclarator
register
TypeSpecifier
ParameterDeclarator
UnqualifiedDeclarator
UnqualifiedDeclarator
ParameterDeclaration
::=
TypeSpecifier
'register'?
ParameterDeclarator
| 'register' (
TypeSpecifier
ParameterDeclarator
|
UnqualifiedDeclarator
)
|
UnqualifiedDeclarator
referenced by:
ParameterDeclarationClause
TemplateParameterList
ParameterDeclarator:
UnqualifiedDeclarator
AbstractDeclaratorOpt
=
AssignmentExpression
ParameterDeclarator
::= (
UnqualifiedDeclarator
|
AbstractDeclaratorOpt
) ( '='
AssignmentExpression
)?
referenced by:
ParameterDeclaration
FunctionDefinition:
DeclSpecifier
FDDeclarator
FunctionBody
try
FunctionBody
HandlerSeq
CDtorModifierSeq
FDDeclarator
CtorInitializerOpt
FunctionBody
try
CtorInitializerOpt
FunctionBody
HandlerSeq
FunctionDefinition
::=
DeclSpecifier
FDDeclarator
(
FunctionBody
| 'try'
FunctionBody
HandlerSeq
)
|
CDtorModifierSeq
?
FDDeclarator
(
CtorInitializerOpt
FunctionBody
| 'try'
CtorInitializerOpt
FunctionBody
HandlerSeq
)
referenced by:
MemberDeclaration
Statement
TFDeclaration
TemplateDeclaration
FDDeclarator:
Declarator
FDDeclarator
::=
Declarator
referenced by:
FunctionDefinition
FunctionBody:
CompoundStatement
FunctionBody
::=
CompoundStatement
referenced by:
FunctionDefinition
ImplIntFunctionDefinition
KandRFunctionDefinition
KandRFunctionDefinition_implInt
CtorInitializerOpt:
:
MemInitializer
,
CtorInitializerOpt
::= ( ':'
MemInitializer
( ','
MemInitializer
)* )?
referenced by:
FunctionDefinition
ClassSpecifier:
ClassKey
AttributeSpecifierList
ClassHeadNameOpt
BaseClauseOpt
{
;
MemberDeclaration
AccessSpecifier
:
}
ClassSpecifier
::=
ClassKey
AttributeSpecifierList
?
ClassHeadNameOpt
BaseClauseOpt
'{' ( ';' |
MemberDeclaration
|
AccessSpecifier
':' )* '}'
referenced by:
ElaboratedOrSpecifier
ClassHeadNameOpt:
Identifier
<
TemplateArgumentListOpt
>
template
Identifier
<
TemplateArgumentListOpt
>
::
Identifier
TemplateId
ClassHeadNameOpt
::= ( ( (
Identifier
( '<'
TemplateArgumentListOpt
'>' )? | 'template'
Identifier
'<'
TemplateArgumentListOpt
'>' ) '::' )* (
Identifier
|
TemplateId
) )?
referenced by:
ClassSpecifier
ClassKey:
class
struct
union
ClassKey
::= 'class'
| 'struct'
| 'union'
referenced by:
ClassSpecifier
ElaboratedTypeSpecifier
AccessSpecifier:
public
private
protected
AccessSpecifier
::= 'public'
| 'private'
| 'protected'
referenced by:
AccessSpecifierOpt
BaseSpecifier
ClassSpecifier
MemberDeclaration:
DeclSpecifier
MemberDeclarator
,
PQualifiedId
using
IdExpression
;
FunctionDefinition
CDtorProtoDecl
TemplateDeclaration
MemberDeclaration
::= (
DeclSpecifier
(
MemberDeclarator
( ','
MemberDeclarator
)* )? |
PQualifiedId
| 'using'
IdExpression
) ';'
|
FunctionDefinition
|
CDtorProtoDecl
|
TemplateDeclaration
referenced by:
ClassSpecifier
CDtorProtoDecl:
CDtorModifierSeq
MemberDeclarator
;
CDtorProtoDecl
::=
CDtorModifierSeq
?
MemberDeclarator
';'
referenced by:
MemberDeclaration
TemplateDeclaration
MemberDeclarator:
Declarator
=
ConstantExpression
IdentifierOpt
:
ConstantExpression
AttributeSpecifierList
MemberDeclarator
::=
Declarator
( '='
ConstantExpression
)?
|
IdentifierOpt
':'
ConstantExpression
AttributeSpecifierList
?
referenced by:
CDtorProtoDecl
MemberDeclaration
IdentifierOpt:
Identifier
IdentifierOpt
::=
Identifier
?
referenced by:
MemberDeclarator
NamespaceDefinition
TemplateParameterList
CDtorModifier:
explicit
virtual
TOK_INLINE
friend
CDtorModifier
::= 'explicit'
| 'virtual'
|
TOK_INLINE
| 'friend'
referenced by:
CDtorModifierSeq
CDtorModifierSeq:
CDtorModifier
CDtorModifierSeq
::=
CDtorModifier
+
referenced by:
CDtorProtoDecl
FunctionDefinition
BaseClauseOpt:
:
BaseSpecifier
,
BaseClauseOpt
::= ( ':'
BaseSpecifier
( ','
BaseSpecifier
)* )?
referenced by:
ClassSpecifier
BaseSpecifier:
virtual
AccessSpecifierOpt
AccessSpecifier
VirtualOpt
PQClassName
BaseSpecifier
::= ( 'virtual'
AccessSpecifierOpt
|
AccessSpecifier
VirtualOpt
)?
PQClassName
referenced by:
BaseClauseOpt
VirtualOpt:
virtual
VirtualOpt
::= 'virtual'?
referenced by:
BaseSpecifier
AccessSpecifierOpt:
AccessSpecifier
AccessSpecifierOpt
::=
AccessSpecifier
?
referenced by:
BaseSpecifier
PQClassName:
PQTypeName
PQClassName
::=
PQTypeName
referenced by:
BaseSpecifier
ConversionFunctionId:
operator
ConversionTypeId
ConversionFunctionId
::= 'operator'
ConversionTypeId
referenced by:
NAD1
UnqualifiedId
ConversionTypeId:
TypeSpecifier
PtrToMemberName
*
&
CVQualifierSeqOpt
ConversionTypeId
::=
TypeSpecifier
( (
PtrToMemberName
? '*' | '&' )
CVQualifierSeqOpt
)*
referenced by:
ConversionFunctionId
MemInitializer:
MemInitializerId
(
ExpressionListOpt
)
MemInitializer
::=
MemInitializerId
'('
ExpressionListOpt
')'
referenced by:
CtorInitializerOpt
MemInitializerId:
PQTypeName
MemInitializerId
::=
PQTypeName
referenced by:
MemInitializer
OperatorFunctionId:
operator
Operator
OperatorFunctionId
::= 'operator'
Operator
referenced by:
NAD2
TemplateId
UnqualifiedId
Operator:
new
delete
[
]
!
~
++
--
+
-
*
/
%
<<
>>
&
^
|
=
+=
-=
*=
/=
%=
<<=
>>=
&=
^=
|=
==
!=
<
>
<=
>=
&&
||
->
->*
[
]
(
)
,
TOK_MIN_OP
TOK_MAX_OP
Operator
::= ( 'new' | 'delete' ) ( '[' ']' )?
| '!'
| '~'
| '++'
| '--'
| '+'
| '-'
| '*'
| '/'
| '%'
| '<<'
| '>>'
| '&'
| '^'
| '|'
| '='
| '+='
| '-='
| '*='
| '/='
| '%='
| '<<='
| '>>='
| '&='
| '^='
| '|='
| '=='
| '!='
| '<'
| '>'
| '<='
| '>='
| '&&'
| '||'
| '->'
| '->*'
| '[' ']'
| '(' ')'
| ','
|
TOK_MIN_OP
|
TOK_MAX_OP
referenced by:
OperatorFunctionId
TemplateDeclaration:
TemplatePreamble
FunctionDefinition
SimpleDeclaration
CDtorProtoDecl
TemplateDeclaration
::=
TemplatePreamble
+ (
FunctionDefinition
|
SimpleDeclaration
|
CDtorProtoDecl
)
referenced by:
MemberDeclaration
TFDeclaration
TemplatePreamble:
export
template
<
TemplateParameterList
>
TemplatePreamble
::= 'export'? 'template' '<'
TemplateParameterList
? '>'
referenced by:
TemplateDeclaration
TemplateParameterList:
ClassOrTypename
IdentifierOpt
DefaultTypeOpt
ParameterDeclaration
,
TemplateParameterList
::= (
ClassOrTypename
IdentifierOpt
DefaultTypeOpt
|
ParameterDeclaration
) ( ',' (
ClassOrTypename
IdentifierOpt
DefaultTypeOpt
|
ParameterDeclaration
) )*
referenced by:
ClassOrTypename
TemplatePreamble
ClassOrTypename:
template
<
TemplateParameterList
>
class
typename
ClassOrTypename
::= ( 'template' '<'
TemplateParameterList
'>' )? 'class'
| 'typename'
referenced by:
TemplateParameterList
DefaultTypeOpt:
=
TypeId
DefaultTypeOpt
::= ( '='
TypeId
)?
referenced by:
TemplateParameterList
TemplateArgumentListOpt:
TemplateArgumentList
TemplateArgumentListOpt
::=
TemplateArgumentList
?
referenced by:
ClassHeadNameOpt
Declarator
NAD1
NAD2
PQTypeName_ncc
PQualifiedId
TemplateId
TemplateId:
Identifier
OperatorFunctionId
<
TemplateArgumentListOpt
>
TemplateId
::= (
Identifier
|
OperatorFunctionId
) '<'
TemplateArgumentListOpt
'>'
referenced by:
ClassHeadNameOpt
PQTypeName_ncc
UnqualifiedId
TemplateArgumentList:
TemplateArgument
TemplateArgumentList
::=
TemplateArgument
referenced by:
TemplateArgumentListOpt
TemplateArgumentListTailOpt:
,
TemplateArgument
TemplateArgumentListTailOpt
::= ( ','
TemplateArgument
)?
referenced by:
TemplateArgument
TemplateArgument:
TypeId
AssignmentExpression
TemplateArgumentListTailOpt
TemplateArgument
::= (
TypeId
|
AssignmentExpression
)
TemplateArgumentListTailOpt
referenced by:
TemplateArgumentList
TemplateArgumentListTailOpt
ExplicitInstantiation:
TOK_INLINE
extern
template
BlockDeclaration
ExplicitInstantiation
::= (
TOK_INLINE
| 'extern' )? 'template'
BlockDeclaration
referenced by:
TFDeclaration
TryBlock:
try
CompoundStatement
HandlerSeq
TryBlock
::= 'try'
CompoundStatement
HandlerSeq
referenced by:
Statement
HandlerSeq:
Handler
HandlerSeq
::=
Handler
+
referenced by:
FunctionDefinition
TryBlock
Handler:
catch
(
HandlerParameter
...
)
CompoundStatement
Handler
::= 'catch' '(' (
HandlerParameter
| '...' ) ')'
CompoundStatement
referenced by:
HandlerSeq
HandlerParameter:
TypeSpecifier
UnqualifiedDeclarator
AbstractDeclaratorOpt
HandlerParameter
::=
TypeSpecifier
(
UnqualifiedDeclarator
|
AbstractDeclaratorOpt
)
referenced by:
Handler
UnqualifiedDeclarator:
Declarator
UnqualifiedDeclarator
::=
Declarator
referenced by:
HandlerParameter
ParameterDeclaration
ParameterDeclarator
ThrowExpression:
throw
AssignmentExpression
ThrowExpression
::= 'throw'
AssignmentExpression
?
referenced by:
AssignmentExpression
ExceptionSpecificationOpt:
throw
(
TypeId
,
)
ExceptionSpecificationOpt
::= ( 'throw' '(' (
TypeId
( ','
TypeId
)* )? ')' )?
referenced by:
Declarator
DirectAbstractDeclarator
NamespaceDefinition:
namespace
IdentifierOpt
{
TranslationUnit
}
NamespaceDefinition
::= 'namespace'
IdentifierOpt
'{'
TranslationUnit
'}'
referenced by:
TFDeclaration
NamespaceDecl:
namespace
Identifier
=
IdExpression
using
IdExpression
namespace
IdExpression
AttributeSpecifierList
;
NamespaceDecl
::= ( 'namespace'
Identifier
'='
IdExpression
| 'using' (
IdExpression
| 'namespace'
IdExpression
AttributeSpecifierList
? ) ) ';'
referenced by:
Statement
TFDeclaration
KandRFunctionDefinition:
DeclSpecifier
KandRDeclarator
KandRSimpleDeclarationSeq
FunctionBody
KandRFunctionDefinition
::=
DeclSpecifier
KandRDeclarator
KandRSimpleDeclarationSeq
FunctionBody
referenced by:
TFDeclaration
KandRFunctionDefinition_implInt:
UberModifierSeq
KandRDeclarator
KandRSimpleDeclarationSeq
FunctionBody
KandRFunctionDefinition_implInt
::=
UberModifierSeq
?
KandRDeclarator
KandRSimpleDeclarationSeq
FunctionBody
referenced by:
TFDeclaration
KandRSimpleDeclarationSeq:
KandRSimpleDeclaration
KandRSimpleDeclarationSeq
::=
KandRSimpleDeclaration
+
referenced by:
KandRFunctionDefinition
KandRFunctionDefinition_implInt
KandRSimpleDeclaration:
DeclSpecifier
register
KandRInitDeclarator
,
;
KandRSimpleDeclaration
::= (
DeclSpecifier
| 'register' )
KandRInitDeclarator
( ','
KandRInitDeclarator
)* ';'
referenced by:
KandRSimpleDeclarationSeq
KandRInitDeclarator:
Declarator
KandRInitDeclarator
::=
Declarator
referenced by:
KandRSimpleDeclaration
KandRDeclarator:
*
CVQualifierSeqOpt
KandRIdExpression
(
KandRIdentifierList
(
KandRIdExpression
)
(
KandRIdentifierList
KandRDeclarator
)
(
ParameterDeclarationClause
)
[
ConstantExpressionOpt
]
KandRDeclarator
::= ( '*'
CVQualifierSeqOpt
)* (
KandRIdExpression
'('
KandRIdentifierList
| '(' (
KandRIdExpression
')' '('
KandRIdentifierList
|
KandRDeclarator
) ) ')' ( '('
ParameterDeclarationClause
')' | '['
ConstantExpressionOpt
']' )*
referenced by:
KandRDeclarator
KandRFunctionDefinition
KandRFunctionDefinition_implInt
KandRIdExpression:
KandRIdentifier
KandRIdExpression
::=
KandRIdentifier
referenced by:
KandRDeclarator
KandRIdentifierList:
KandRIdentifier
,
KandRIdentifierList
::=
KandRIdentifier
( ','
KandRIdentifier
)*
referenced by:
KandRDeclarator
KandRIdentifier:
Identifier
KandRIdentifier
::=
Identifier
referenced by:
KandRIdExpression
KandRIdentifierList
CFuncModifier_no_inline:
static
extern
TOK_CONST
TOK_VOLATILE
CFuncModifier_no_inline
::= 'static'
| 'extern'
|
TOK_CONST
|
TOK_VOLATILE
referenced by:
CFuncModifier
ImplIntFunctionDefinition
CFuncModifier:
CFuncModifier_no_inline
TOK_INLINE
CFuncModifier
::=
CFuncModifier_no_inline
|
TOK_INLINE
referenced by:
CFuncModifierSeqOpt
ImplIntFunctionDefinition
CFuncModifierSeqOpt:
CFuncModifier
CFuncModifierSeqOpt
::=
CFuncModifier
?
referenced by:
ImplIntFunctionDefinition
ImplIntFunctionDefinition:
CFuncModifier_no_inline
CFuncModifier
TOK_INLINE
CFuncModifier_no_inline
CFuncModifierSeqOpt
Declarator
FunctionBody
ImplIntFunctionDefinition
::= (
CFuncModifier_no_inline
CFuncModifier
* |
TOK_INLINE
CFuncModifier_no_inline
CFuncModifierSeqOpt
)
Declarator
FunctionBody
referenced by:
TFDeclaration
ImplicitIntTypeSpecifier:
UberCVQualifierSeq
ImplicitIntTypeSpecifier
::=
UberCVQualifierSeq
referenced by:
ImplicitIntTypeId
ImplicitIntTypeId:
ImplicitIntTypeSpecifier
ImplicitIntTypeId
::=
ImplicitIntTypeSpecifier
referenced by:
CastExpression
ParenthesizedExpression:
(
Expression
)
ParenthesizedExpression
::= '('
Expression
')'
referenced by:
CastExpression
MemberDesignator:
FirstMemberDesignator
DesignatorList
MemberDesignator
::=
FirstMemberDesignator
DesignatorList
?
referenced by:
CastExpression
FirstMemberDesignator:
Identifier
FirstMemberDesignator
::=
Identifier
referenced by:
MemberDesignator
TypeofTypeSpecifier:
TypeofExpr
TypeofType
TypeofTypeSpecifier
::=
TypeofExpr
|
TypeofType
referenced by:
DeclSpecifier
TypeSpecifier
TypeofExpr:
TOK___TYPEOF__
(
Expression
)
TypeofExpr
::=
TOK___TYPEOF__
'('
Expression
')'
referenced by:
TypeofTypeSpecifier
TypeofType:
TOK___TYPEOF__
(
TypeId
)
TypeofType
::=
TOK___TYPEOF__
'('
TypeId
')'
referenced by:
TypeofTypeSpecifier
VolatileOpt:
TOK_VOLATILE
VolatileOpt
::=
TOK_VOLATILE
?
referenced by:
AsmDefinition
GNUAsmOperandListOpt:
GNUAsmOperand
,
GNUAsmOperandListOpt
::= (
GNUAsmOperand
( ','
GNUAsmOperand
)* )?
referenced by:
AsmDefinition
GNUAsmOperand:
[
Identifier
]
StringLiteral
(
Expression
)
GNUAsmOperand
::= ( '['
Identifier
']' )?
StringLiteral
'('
Expression
')'
referenced by:
GNUAsmOperandListOpt
GNUAsmClobberListOpt:
:
GNUAsmClobberList
GNUAsmClobberListOpt
::= ( ':'
GNUAsmClobberList
? )?
referenced by:
AsmDefinition
GNUAsmClobberList:
StringLiteral
,
GNUAsmClobberList
::=
StringLiteral
( ','
StringLiteral
)*
referenced by:
AsmDefinition
GNUAsmClobberListOpt
AttributeSpecifier_UMAASLOpt:
AttributeSpecifier
UMAASLOpt
AttributeSpecifier_UMAASLOpt
::=
AttributeSpecifier
UMAASLOpt
referenced by:
DeclSpecifier
UMAASLOpt:
UberModifier
AttributeSpecifier
UMAASLOpt
::= (
UberModifier
|
AttributeSpecifier
)*
referenced by:
AttributeSpecifier_UMAASLOpt
DeclSpecifier
AttributeSpecifier_UTAMAASLOpt:
AttributeSpecifier
UTAMAASLOpt
AttributeSpecifier_UTAMAASLOpt
::=
AttributeSpecifier
UTAMAASLOpt
referenced by:
DeclSpecifier
UTAMAASLOpt:
UberModifier
UberTypeKeyword
AttributeSpecifier
UTAMAASLOpt
::= (
UberModifier
|
UberTypeKeyword
|
AttributeSpecifier
)*
referenced by:
AttributeSpecifier_UTAMAASLOpt
DeclSpecifier
AttributeSpecifier_UCVAASLOpt:
AttributeSpecifier
UCVAASLOpt
AttributeSpecifier_UCVAASLOpt
::=
AttributeSpecifier
UCVAASLOpt
referenced by:
AbstractDeclarator
Declarator
TypeSpecifier
UCVAASLOpt:
UberCVQualifier
AttributeSpecifier
UCVAASLOpt
::= (
UberCVQualifier
|
AttributeSpecifier
)*
referenced by:
AttributeSpecifier_UCVAASLOpt
TypeSpecifier
AttributeSpecifier_UTACVAASLOpt:
AttributeSpecifier
UTACVAASLOpt
AttributeSpecifier_UTACVAASLOpt
::=
AttributeSpecifier
UTACVAASLOpt
referenced by:
TypeSpecifier
UTACVAASLOpt:
UberCVQualifier
UberTypeKeyword
AttributeSpecifier
UTACVAASLOpt
::= (
UberCVQualifier
|
UberTypeKeyword
|
AttributeSpecifier
)*
referenced by:
AttributeSpecifier_UTACVAASLOpt
TypeSpecifier
AttributeWord:
TOK_NAME
TOK_ASM
auto
break
bool
case
catch
cdecl
char
class
TOK_CONST
const_cast
continue
default
delete
do
double
dynamic_cast
else
enum
explicit
export
extern
false
float
for
friend
goto
if
TOK_INLINE
int
long
mutable
namespace
new
operator
pascal
private
protected
public
register
reinterpret_cast
return
short
TOK_SIGNED
sizeof
static
static_cast
struct
switch
template
this
throw
true
try
typedef
typeid
typename
union
unsigned
using
virtual
void
TOK_VOLATILE
wchar_t
while
AttributeWord
::=
TOK_NAME
|
TOK_ASM
| 'auto'
| 'break'
| 'bool'
| 'case'
| 'catch'
| 'cdecl'
| 'char'
| 'class'
|
TOK_CONST
| 'const_cast'
| 'continue'
| 'default'
| 'delete'
| 'do'
| 'double'
| 'dynamic_cast'
| 'else'
| 'enum'
| 'explicit'
| 'export'
| 'extern'
| 'false'
| 'float'
| 'for'
| 'friend'
| 'goto'
| 'if'
|
TOK_INLINE
| 'int'
| 'long'
| 'mutable'
| 'namespace'
| 'new'
| 'operator'
| 'pascal'
| 'private'
| 'protected'
| 'public'
| 'register'
| 'reinterpret_cast'
| 'return'
| 'short'
|
TOK_SIGNED
| 'sizeof'
| 'static'
| 'static_cast'
| 'struct'
| 'switch'
| 'template'
| 'this'
| 'throw'
| 'true'
| 'try'
| 'typedef'
| 'typeid'
| 'typename'
| 'union'
| 'unsigned'
| 'using'
| 'virtual'
| 'void'
|
TOK_VOLATILE
| 'wchar_t'
| 'while'
referenced by:
Attribute
CommaSepExpressionListOpt:
ExpressionList
CommaSepExpressionListOpt
::=
ExpressionList
?
referenced by:
AttributeParameters
AttributeParameters:
CommaSepExpressionListOpt
AttributeParameters
::=
CommaSepExpressionListOpt
referenced by:
Attribute
Attribute:
AttributeWord
(
AttributeParameters
)
Attribute
::= (
AttributeWord
( '('
AttributeParameters
')' )? )?
referenced by:
AttributeSpecifier
AttributeSpecifier:
TOK___ATTRIBUTE__
(
(
Attribute
,
)
)
AttributeSpecifier
::=
TOK___ATTRIBUTE__
'(' '('
Attribute
( ','
Attribute
)* ')' ')'
referenced by:
AttributeSpecifierList
AttributeSpecifier_UCVAASLOpt
AttributeSpecifier_UMAASLOpt
AttributeSpecifier_UTACVAASLOpt
AttributeSpecifier_UTAMAASLOpt
UCVAASLOpt
UMAASLOpt
UTACVAASLOpt
UTAMAASLOpt
AttributeSpecifierList:
AttributeSpecifier
AttributeSpecifierList
::=
AttributeSpecifier
+
referenced by:
AbstractDeclarator
ClassSpecifier
DeclSpecifier
Declarator
DirectAbstractDeclarator
ElaboratedTypeSpecifier
EnumSpecifier
InitDeclaratorList
MemberDeclarator
NamespaceDecl
Statement
TypeSpecifier
TOK_ASM:
asm
__asm
__asm__
TOK_ASM
::= 'asm'
| '__asm'
| '__asm__'
referenced by:
AsmDefinition
AttributeWord
Declarator
TOK_CONST:
const
__const
__const__
TOK_CONST
::= 'const'
| '__const'
| '__const__'
referenced by:
AttributeWord
CFuncModifier_no_inline
CVQualifier
UberCVQualifier
UberModifier
TOK_INLINE:
inline
__inline
__inline__
TOK_INLINE
::= 'inline'
| '__inline'
| '__inline__'
referenced by:
AttributeWord
CDtorModifier
CFuncModifier
ExplicitInstantiation
ImplIntFunctionDefinition
UberModifier
TOK_SIGNED:
signed
__signed
__signed__
TOK_SIGNED
::= 'signed'
| '__signed'
| '__signed__'
referenced by:
AttributeWord
CtorExpressionType
UberTypeKeyword
TOK_VOLATILE:
volatile
__volatile
__volatile__
TOK_VOLATILE
::= 'volatile'
| '__volatile'
| '__volatile__'
referenced by:
AsmDefinition
AttributeWord
CFuncModifier_no_inline
CVQualifier
UberCVQualifier
UberModifier
VolatileOpt
TOK___ALIGNOF__:
__alignof
__alignof__
TOK___ALIGNOF__
::= '__alignof'
| '__alignof__'
referenced by:
CastExpression
TOK___ATTRIBUTE__:
__attribute
__attribute__
TOK___ATTRIBUTE__
::= '__attribute'
| '__attribute__'
referenced by:
AttributeSpecifier
TOK___TYPEOF__:
typeof
__typeof
__typeof__
TOK___TYPEOF__
::= 'typeof'
| '__typeof'
| '__typeof__'
referenced by:
TypeofExpr
TypeofType
TOK_RESTRICT:
restrict
__restrict
__restrict__
TOK_RESTRICT
::= 'restrict'
| '__restrict'
| '__restrict__'
referenced by:
CVQualifier
UberCVQualifier
UberModifier
TOK_COMPLEX:
_Complex
__complex__
TOK_COMPLEX
::= '_Complex'
| '__complex__'
referenced by:
UberTypeKeyword
TOK_IMAGINARY:
_Imaginary
__imaginary__
TOK_IMAGINARY
::= '_Imaginary'
| '__imaginary__'
referenced by:
UberTypeKeyword
... generated by
RR - Railroad Diagram Generator
R
R