1 Simple BLOCK
The simple block represents only a way of partitioning the code. It allows concurrent statements to be clustered into a BLOCK, with the
purpose of turning a set of concurrent statements to be more readable and more manageable.
label: BLOCK [declarative part] BEGIN (concurrent statements) END BLOCK label;
2 Guarded BLOCK
A guarded BLOCK includes an additional expression, called guard expression. A guard statement in a guarded BLOCK is executed only when
the guard expression is TRUE.
label: BLOCK (guard expression) [declarative part] BEGIN (concurrent guarded and unguarded statements) END BLOCK label;