statement:
labeled-statement
expression-statement
compound-statement
selection-statement
iteration-statement
jump-statement
declaration-statement
asm-statement
try-except-statement
try-finally-statement
labeled-statement:
identifier : statement
case constant-expression : statement
default : statement
expression-statement:
expressionopt ;
compound-statement:
{ statement-listopt }
statement-list:
statement
statement-list statement
selection-statement:
if ( expression ) statement
if ( expression ) statement else statement
switch ( expression ) statement
iteration-statement:
while ( expression ) statement
do statement while ( expression ) ;
for ( for-init-statement expressionopt ; expressionopt ) statement
for-init-statement:
expression-statement
declaration-statement
jump-statement:
break ;
continue ;
return expressionopt ;
goto identifier ;
declaration-statement:
declaration
try-except-statement:
__try compound-statement
__except ( expression ) compound-statement
try-finally-statement:
__try compound-statement
__finally ( expression ) compound-statement