statement:
labeled-statement
expression-statement
compound-statement
selection-statement
iteration-statement
jump-statement
declaration-statement
asm-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