The generic block structure of Ocean is called a 'section'.
A section has a name with a description (which varies per section type) and zero
or more 'paragraphs'. Control sections have a first unnamed
paragraph, structure sections only have named paragraphs.
The syntax is like this:
named-paragraph ::= paragraph-identifier description-list? :
(line, step)...
:
annom-paragraph ::= :
(line, step)...
:
structure-section ::= section-ident section-name
name-paragraph...
end [. section-ident [. section-name]]
control-section ::= section-ident section-name? description-list?
annom-paragraph
name-paragraph...
end [. section-ident [. section-name]]
section ::= control-section | structure-section
...