Each statement within the generator body (except the foreach
construct) may end with an optional semicolon. Note that several statements can
be written on the same line by separating them with whitespace, and optionally a
semicolon after each command. Semicolons are obligatory in a few places, e.g. to
mark the end of a type name that contains a space or precedes a
command.