Next: , Previous: Configuration Declaration, Up: The Configuration Language


8.5.4.4 Partition Declaration

In the declarative part, the user declares his partitions and can change their default behavior. po_gnatdist provides a predefined type Partition. The user can declare a list of partitions and can also initialize these partitions with an initial list of Ada units.

     
     DECLARATIVE_PART ::= {DECLARATIVE_ITEM}
     
     DECLARATIVE_ITEM ::=
        PARTITION_DECLARATION
      | REPRESENTATION_CLAUSE
      | SUBPROGRAM_DECLARATION
      | PRAGMA
     
     SUBPROGRAM_DECLARATION ::=
        MAIN_PROCEDURE_DECLARATION
      | PROCEDURE_DECLARATION
      | FUNCTION_DECLARATION
     
     PARTITION_DECLARATION ::=
        DEFINING_IDENTIFIER_LIST : Partition
           [:= ENUMERATION_OF_ADA_UNITS];
     
     DEFINING_IDENTIFIER_LIST ::=
        DEFINING_IDENTIFIER {, DEFINING_IDENTIFIER}
     
     STATEMENT ::=
        IDENTIFIER := ENUMERATION_OF_ADA_UNITS;
     
     SEQUENCE_OF_STATEMENTS ::=
        STATEMENT {STATEMENT}
     

Once declared, a partition is an empty list of Ada units. The operator ":=" adds the Ada units list on the right side to the current list of Ada units that are already mapped to the partition. This is a non-destructive operation. Whether a unit is a relevant Ada unit or not is checked later on by the back-end of po_gnatdist. These assignments can occur in the declarative part as well as in the body part.

     
     ENUMERATION_OF_ADA_UNITS ::= ({ADA_UNIT {, ADA_UNIT}});