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
...