5.2.1.2 Option Base Directive

Option Base directives set the default value used within a module (section 4.2) for lower bound (section 2.1) of all array dimensions that are not explicitly specified in a <lower-bound> of a <dim-spec>.

 option-base-directive = "Option"   "Base"     INTEGER 

Static Semantics.

  • An <option-base-directive> can occur at most once in a <procedural-module-declaration-section> or <class-module-declaration-section>.

  • If present an < option-base-directive> MUST come before the first occurrence of a <dim-spec> in the same <procedural-module-declaration-section> or <class-module-declaration-section>.

  • The data value (section 2.1) of the <INTEGER> MUST be equal to either the integer data value 0 or the integer data value 1.

  • The default lower bound for array dimensions in containing module is the data value of the <INTEGER> element.

  • If a <procedural-module-declaration-section> or <class-module-declaration-section> does not contain an <option-base-directive> the default lower bound for array dimensions in the module is 0.