Sections and Paragraphs

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

...