loop_statement
::=
forever
statement_or_null
| repeat ( expression
) statement_or_null
| while ( expression
) statement_or_null
| for
( variable_decl_or_assignment ; expression
; variable_assignment ) statement_or_null
| for ( variable_decl_or_assignment
{ , variable_decl_or_assignment } ; expression
;
variable_assignment { , variable_assignment
} ) statement_or_null
| do statement_or_null while ( expression )
;
variable_decl_or_assignment
::=
data_type list_of_variable_identifiers_or_assignments variable_declaration
| variable_assignment
event_control ::=
@ hierarchical_event_identifier
event_identifier
| @ ( event_expression
)
| @*
| @ (*)