The TASK and TASK ARRAY declarations are used to declare tasks and task arrays, which can then be associated with a process or coroutine. Task attributes can be used to control or to contain information about the process or coroutine.
<task declaration>
┌◄───── , ─────┐ ── TASK ─┴─<identifier>─┴──────────────────────────────────────────────┤
<task identifier>
An identifier that is associated with a task in a TASK declaration.
<task array declaration>
┌◄───────────────────── , ─────────────────────┐
│ ┌◄───── , ─────┐ │
── TASK ── ARRAY ─┴─┴─<identifier>─┴─ [ ──<bound pair list>── ] ─┴─────┤<task array identifier>
An identifier that is associated with a task array in a TASK ARRAY declaration.
A task array is an array whose elements are tasks. A task array can have no more than 15 dimensions.

