return_statement ::=
return
[expression];
return_statement ::= return
; | return
expression;
term ::= factor {multiplying_operator factor}
term ::= factor | term multiplying_operator factor
letter_or_digit ::= letter | digit
component_association ::= [choice {| choice} =>] expression
if_statement ::=
if
condition then
sequence_of_statements
{elsif
condition then
sequence_of_statements}
[else
sequence_of_statements]
end if
;