-- CC3016B.ADA
|
-- CC3016B.ADA
|
|
|
-- Grant of Unlimited Rights
|
-- Grant of Unlimited Rights
|
--
|
--
|
-- Under contracts F33600-87-D-0337, F33600-84-D-0280, MDA903-79-C-0687,
|
-- Under contracts F33600-87-D-0337, F33600-84-D-0280, MDA903-79-C-0687,
|
-- F08630-91-C-0015, and DCA100-97-D-0025, the U.S. Government obtained
|
-- F08630-91-C-0015, and DCA100-97-D-0025, the U.S. Government obtained
|
-- unlimited rights in the software and documentation contained herein.
|
-- unlimited rights in the software and documentation contained herein.
|
-- Unlimited rights are defined in DFAR 252.227-7013(a)(19). By making
|
-- Unlimited rights are defined in DFAR 252.227-7013(a)(19). By making
|
-- this public release, the Government intends to confer upon all
|
-- this public release, the Government intends to confer upon all
|
-- recipients unlimited rights equal to those held by the Government.
|
-- recipients unlimited rights equal to those held by the Government.
|
-- These rights include rights to use, duplicate, release or disclose the
|
-- These rights include rights to use, duplicate, release or disclose the
|
-- released technical data and computer software in whole or in part, in
|
-- released technical data and computer software in whole or in part, in
|
-- any manner and for any purpose whatsoever, and to have or permit others
|
-- any manner and for any purpose whatsoever, and to have or permit others
|
-- to do so.
|
-- to do so.
|
--
|
--
|
-- DISCLAIMER
|
-- DISCLAIMER
|
--
|
--
|
-- ALL MATERIALS OR INFORMATION HEREIN RELEASED, MADE AVAILABLE OR
|
-- ALL MATERIALS OR INFORMATION HEREIN RELEASED, MADE AVAILABLE OR
|
-- DISCLOSED ARE AS IS. THE GOVERNMENT MAKES NO EXPRESS OR IMPLIED
|
-- DISCLOSED ARE AS IS. THE GOVERNMENT MAKES NO EXPRESS OR IMPLIED
|
-- WARRANTY AS TO ANY MATTER WHATSOEVER, INCLUDING THE CONDITIONS OF THE
|
-- WARRANTY AS TO ANY MATTER WHATSOEVER, INCLUDING THE CONDITIONS OF THE
|
-- SOFTWARE, DOCUMENTATION OR OTHER INFORMATION RELEASED, MADE AVAILABLE
|
-- SOFTWARE, DOCUMENTATION OR OTHER INFORMATION RELEASED, MADE AVAILABLE
|
-- OR DISCLOSED, OR THE OWNERSHIP, MERCHANTABILITY, OR FITNESS FOR A
|
-- OR DISCLOSED, OR THE OWNERSHIP, MERCHANTABILITY, OR FITNESS FOR A
|
-- PARTICULAR PURPOSE OF SAID MATERIAL.
|
-- PARTICULAR PURPOSE OF SAID MATERIAL.
|
--*
|
--*
|
-- CHECK THAT AN INSTANCE OF A GENERIC PACKAGE MUST DECLARE A
|
-- CHECK THAT AN INSTANCE OF A GENERIC PACKAGE MUST DECLARE A
|
-- PACKAGE. CHECK THAT THE DECLARATIVE ITEMS IN AN INSTANTIATION
|
-- PACKAGE. CHECK THAT THE DECLARATIVE ITEMS IN AN INSTANTIATION
|
-- OF A GENERIC PACKAGE SPECIFICATION ARE ELABORATED IN THE ORDER
|
-- OF A GENERIC PACKAGE SPECIFICATION ARE ELABORATED IN THE ORDER
|
-- DECLARED.
|
-- DECLARED.
|
|
|
-- HISTORY:
|
-- HISTORY:
|
-- EDWARD V. BERARD, 8 AUGUST 1990
|
-- EDWARD V. BERARD, 8 AUGUST 1990
|
|
|
WITH REPORT ;
|
WITH REPORT ;
|
|
|
PROCEDURE CC3016B IS
|
PROCEDURE CC3016B IS
|
|
|
WHEN_ELABORATED : NATURAL := 0 ;
|
WHEN_ELABORATED : NATURAL := 0 ;
|
|
|
TYPE REAL IS DIGITS 6 ;
|
TYPE REAL IS DIGITS 6 ;
|
REAL_VALUE : REAL := 3.14159 ;
|
REAL_VALUE : REAL := 3.14159 ;
|
|
|
TRUE_VALUE : BOOLEAN := TRUE ;
|
TRUE_VALUE : BOOLEAN := TRUE ;
|
|
|
CHARACTER_VALUE : CHARACTER := 'Z' ;
|
CHARACTER_VALUE : CHARACTER := 'Z' ;
|
|
|
TYPE MONTH_TYPE IS (JAN, FEB, MAR, APR, MAY, JUN, JUL, AUG,
|
TYPE MONTH_TYPE IS (JAN, FEB, MAR, APR, MAY, JUN, JUL, AUG,
|
SEP, OCT, NOV, DEC) ;
|
SEP, OCT, NOV, DEC) ;
|
TYPE DAY_TYPE IS RANGE 1 .. 31 ;
|
TYPE DAY_TYPE IS RANGE 1 .. 31 ;
|
TYPE YEAR_TYPE IS RANGE 1904 .. 2050 ;
|
TYPE YEAR_TYPE IS RANGE 1904 .. 2050 ;
|
TYPE DATE IS RECORD
|
TYPE DATE IS RECORD
|
MONTH : MONTH_TYPE ;
|
MONTH : MONTH_TYPE ;
|
DAY : DAY_TYPE ;
|
DAY : DAY_TYPE ;
|
YEAR : YEAR_TYPE ;
|
YEAR : YEAR_TYPE ;
|
END RECORD ;
|
END RECORD ;
|
|
|
TYPE DATE_ACCESS IS ACCESS DATE ;
|
TYPE DATE_ACCESS IS ACCESS DATE ;
|
|
|
THIS_MONTH : MONTH_TYPE := AUG ;
|
THIS_MONTH : MONTH_TYPE := AUG ;
|
THIS_YEAR : YEAR_TYPE := 1990 ;
|
THIS_YEAR : YEAR_TYPE := 1990 ;
|
|
|
TODAY : DATE := (MONTH => AUG,
|
TODAY : DATE := (MONTH => AUG,
|
DAY => 8,
|
DAY => 8,
|
YEAR => 1990) ;
|
YEAR => 1990) ;
|
|
|
FIRST_DATE : DATE_ACCESS := NEW DATE'(DAY => 6,
|
FIRST_DATE : DATE_ACCESS := NEW DATE'(DAY => 6,
|
MONTH => JUN,
|
MONTH => JUN,
|
YEAR => 1967) ;
|
YEAR => 1967) ;
|
|
|
TYPE DUE_DATES IS ARRAY (MONTH_TYPE RANGE JAN .. DEC) OF DATE ;
|
TYPE DUE_DATES IS ARRAY (MONTH_TYPE RANGE JAN .. DEC) OF DATE ;
|
REPORT_DATES : DUE_DATES := ((JAN, 23, 1990), (FEB, 23, 1990),
|
REPORT_DATES : DUE_DATES := ((JAN, 23, 1990), (FEB, 23, 1990),
|
(MAR, 23, 1990), (APR, 23, 1990),
|
(MAR, 23, 1990), (APR, 23, 1990),
|
(MAY, 23, 1990), (JUN, 22, 1990),
|
(MAY, 23, 1990), (JUN, 22, 1990),
|
(JUL, 23, 1990), (AUG, 23, 1990),
|
(JUL, 23, 1990), (AUG, 23, 1990),
|
(SEP, 24, 1990), (OCT, 23, 1990),
|
(SEP, 24, 1990), (OCT, 23, 1990),
|
(NOV, 23, 1990), (DEC, 20, 1990)) ;
|
(NOV, 23, 1990), (DEC, 20, 1990)) ;
|
|
|
TYPE LIST_INDEX IS RANGE 1 .. 16 ;
|
TYPE LIST_INDEX IS RANGE 1 .. 16 ;
|
TYPE LIST IS ARRAY (LIST_INDEX) OF NATURAL ;
|
TYPE LIST IS ARRAY (LIST_INDEX) OF NATURAL ;
|
ORDER_LIST : LIST := (OTHERS => 0) ;
|
ORDER_LIST : LIST := (OTHERS => 0) ;
|
|
|
GENERIC
|
GENERIC
|
|
|
TYPE RETURN_TYPE IS PRIVATE ;
|
TYPE RETURN_TYPE IS PRIVATE ;
|
RETURN_VALUE : IN OUT RETURN_TYPE ;
|
RETURN_VALUE : IN OUT RETURN_TYPE ;
|
POSITION : IN NATURAL ;
|
POSITION : IN NATURAL ;
|
OFFSET : IN NATURAL ;
|
OFFSET : IN NATURAL ;
|
WHEN_ELAB : IN OUT NATURAL ;
|
WHEN_ELAB : IN OUT NATURAL ;
|
TYPE INDEX IS RANGE <> ;
|
TYPE INDEX IS RANGE <> ;
|
TYPE LIST IS ARRAY (INDEX) OF NATURAL ;
|
TYPE LIST IS ARRAY (INDEX) OF NATURAL ;
|
ORDER_LIST : IN OUT LIST ;
|
ORDER_LIST : IN OUT LIST ;
|
|
|
FUNCTION NAME (VALUE : IN NATURAL) RETURN RETURN_TYPE ;
|
FUNCTION NAME (VALUE : IN NATURAL) RETURN RETURN_TYPE ;
|
|
|
FUNCTION NAME (VALUE : IN NATURAL) RETURN RETURN_TYPE IS
|
FUNCTION NAME (VALUE : IN NATURAL) RETURN RETURN_TYPE IS
|
|
|
BEGIN -- NAME
|
BEGIN -- NAME
|
|
|
IF (VALUE = POSITION) THEN
|
IF (VALUE = POSITION) THEN
|
WHEN_ELAB := NATURAL'SUCC (WHEN_ELAB) ;
|
WHEN_ELAB := NATURAL'SUCC (WHEN_ELAB) ;
|
ORDER_LIST (INDEX (POSITION)) := WHEN_ELAB ;
|
ORDER_LIST (INDEX (POSITION)) := WHEN_ELAB ;
|
RETURN RETURN_VALUE ;
|
RETURN RETURN_VALUE ;
|
ELSIF (VALUE = (POSITION + OFFSET)) THEN
|
ELSIF (VALUE = (POSITION + OFFSET)) THEN
|
WHEN_ELAB := NATURAL'SUCC (WHEN_ELAB) ;
|
WHEN_ELAB := NATURAL'SUCC (WHEN_ELAB) ;
|
ORDER_LIST (INDEX (POSITION + OFFSET)) := WHEN_ELAB ;
|
ORDER_LIST (INDEX (POSITION + OFFSET)) := WHEN_ELAB ;
|
RETURN RETURN_VALUE ;
|
RETURN RETURN_VALUE ;
|
END IF ;
|
END IF ;
|
|
|
END NAME ;
|
END NAME ;
|
|
|
GENERIC
|
GENERIC
|
|
|
TYPE FIRST_TYPE IS PRIVATE ;
|
TYPE FIRST_TYPE IS PRIVATE ;
|
WITH FUNCTION FIRST (POSITION : IN NATURAL)
|
WITH FUNCTION FIRST (POSITION : IN NATURAL)
|
RETURN FIRST_TYPE ;
|
RETURN FIRST_TYPE ;
|
FIRST_VALUE : IN NATURAL ;
|
FIRST_VALUE : IN NATURAL ;
|
TYPE SECOND_TYPE IS PRIVATE ;
|
TYPE SECOND_TYPE IS PRIVATE ;
|
WITH FUNCTION SECOND (POSITION : IN NATURAL)
|
WITH FUNCTION SECOND (POSITION : IN NATURAL)
|
RETURN SECOND_TYPE ;
|
RETURN SECOND_TYPE ;
|
SECOND_VALUE : IN NATURAL ;
|
SECOND_VALUE : IN NATURAL ;
|
TYPE THIRD_TYPE IS PRIVATE ;
|
TYPE THIRD_TYPE IS PRIVATE ;
|
WITH FUNCTION THIRD (POSITION : IN NATURAL)
|
WITH FUNCTION THIRD (POSITION : IN NATURAL)
|
RETURN THIRD_TYPE ;
|
RETURN THIRD_TYPE ;
|
THIRD_VALUE : IN NATURAL ;
|
THIRD_VALUE : IN NATURAL ;
|
TYPE FOURTH_TYPE IS PRIVATE ;
|
TYPE FOURTH_TYPE IS PRIVATE ;
|
WITH FUNCTION FOURTH (POSITION : IN NATURAL)
|
WITH FUNCTION FOURTH (POSITION : IN NATURAL)
|
RETURN FOURTH_TYPE ;
|
RETURN FOURTH_TYPE ;
|
FOURTH_VALUE : IN NATURAL ;
|
FOURTH_VALUE : IN NATURAL ;
|
TYPE FIFTH_TYPE IS PRIVATE ;
|
TYPE FIFTH_TYPE IS PRIVATE ;
|
WITH FUNCTION FIFTH (POSITION : IN NATURAL)
|
WITH FUNCTION FIFTH (POSITION : IN NATURAL)
|
RETURN FIFTH_TYPE ;
|
RETURN FIFTH_TYPE ;
|
FIFTH_VALUE : IN NATURAL ;
|
FIFTH_VALUE : IN NATURAL ;
|
TYPE SIXTH_TYPE IS PRIVATE ;
|
TYPE SIXTH_TYPE IS PRIVATE ;
|
WITH FUNCTION SIXTH (POSITION : IN NATURAL)
|
WITH FUNCTION SIXTH (POSITION : IN NATURAL)
|
RETURN SIXTH_TYPE ;
|
RETURN SIXTH_TYPE ;
|
SIXTH_VALUE : IN NATURAL ;
|
SIXTH_VALUE : IN NATURAL ;
|
TYPE SEVENTH_TYPE IS PRIVATE ;
|
TYPE SEVENTH_TYPE IS PRIVATE ;
|
WITH FUNCTION SEVENTH (POSITION : IN NATURAL)
|
WITH FUNCTION SEVENTH (POSITION : IN NATURAL)
|
RETURN SEVENTH_TYPE ;
|
RETURN SEVENTH_TYPE ;
|
SEVENTH_VALUE : IN NATURAL ;
|
SEVENTH_VALUE : IN NATURAL ;
|
TYPE EIGHTH_TYPE IS PRIVATE ;
|
TYPE EIGHTH_TYPE IS PRIVATE ;
|
WITH FUNCTION EIGHTH (POSITION : IN NATURAL)
|
WITH FUNCTION EIGHTH (POSITION : IN NATURAL)
|
RETURN EIGHTH_TYPE ;
|
RETURN EIGHTH_TYPE ;
|
EIGHTH_VALUE : IN NATURAL ;
|
EIGHTH_VALUE : IN NATURAL ;
|
TYPE NINTH_TYPE IS PRIVATE ;
|
TYPE NINTH_TYPE IS PRIVATE ;
|
WITH FUNCTION NINTH (POSITION : IN NATURAL)
|
WITH FUNCTION NINTH (POSITION : IN NATURAL)
|
RETURN NINTH_TYPE ;
|
RETURN NINTH_TYPE ;
|
NINTH_VALUE : IN NATURAL ;
|
NINTH_VALUE : IN NATURAL ;
|
TYPE TENTH_TYPE IS PRIVATE ;
|
TYPE TENTH_TYPE IS PRIVATE ;
|
WITH FUNCTION TENTH (POSITION : IN NATURAL)
|
WITH FUNCTION TENTH (POSITION : IN NATURAL)
|
RETURN TENTH_TYPE ;
|
RETURN TENTH_TYPE ;
|
TENTH_VALUE : IN NATURAL ;
|
TENTH_VALUE : IN NATURAL ;
|
TYPE ELEVENTH_TYPE IS PRIVATE ;
|
TYPE ELEVENTH_TYPE IS PRIVATE ;
|
WITH FUNCTION ELEVENTH (POSITION : IN NATURAL)
|
WITH FUNCTION ELEVENTH (POSITION : IN NATURAL)
|
RETURN ELEVENTH_TYPE ;
|
RETURN ELEVENTH_TYPE ;
|
ELEVENTH_VALUE : IN NATURAL ;
|
ELEVENTH_VALUE : IN NATURAL ;
|
TYPE TWELFTH_TYPE IS PRIVATE ;
|
TYPE TWELFTH_TYPE IS PRIVATE ;
|
WITH FUNCTION TWELFTH (POSITION : IN NATURAL)
|
WITH FUNCTION TWELFTH (POSITION : IN NATURAL)
|
RETURN TWELFTH_TYPE ;
|
RETURN TWELFTH_TYPE ;
|
TWELFTH_VALUE : IN NATURAL ;
|
TWELFTH_VALUE : IN NATURAL ;
|
TYPE THIRTEENTH_TYPE IS PRIVATE ;
|
TYPE THIRTEENTH_TYPE IS PRIVATE ;
|
WITH FUNCTION THIRTEENTH (POSITION : IN NATURAL)
|
WITH FUNCTION THIRTEENTH (POSITION : IN NATURAL)
|
RETURN THIRTEENTH_TYPE ;
|
RETURN THIRTEENTH_TYPE ;
|
THIRTEENTH_VALUE : IN NATURAL ;
|
THIRTEENTH_VALUE : IN NATURAL ;
|
TYPE FOURTEENTH_TYPE IS PRIVATE ;
|
TYPE FOURTEENTH_TYPE IS PRIVATE ;
|
WITH FUNCTION FOURTEENTH (POSITION : IN NATURAL)
|
WITH FUNCTION FOURTEENTH (POSITION : IN NATURAL)
|
RETURN FOURTEENTH_TYPE ;
|
RETURN FOURTEENTH_TYPE ;
|
FOURTEENTH_VALUE : IN NATURAL ;
|
FOURTEENTH_VALUE : IN NATURAL ;
|
TYPE FIFTEENTH_TYPE IS PRIVATE ;
|
TYPE FIFTEENTH_TYPE IS PRIVATE ;
|
WITH FUNCTION FIFTEENTH (POSITION : IN NATURAL)
|
WITH FUNCTION FIFTEENTH (POSITION : IN NATURAL)
|
RETURN FIFTEENTH_TYPE ;
|
RETURN FIFTEENTH_TYPE ;
|
FIFTEENTH_VALUE : IN NATURAL ;
|
FIFTEENTH_VALUE : IN NATURAL ;
|
TYPE SIXTEENTH_TYPE IS PRIVATE ;
|
TYPE SIXTEENTH_TYPE IS PRIVATE ;
|
WITH FUNCTION SIXTEENTH (POSITION : IN NATURAL)
|
WITH FUNCTION SIXTEENTH (POSITION : IN NATURAL)
|
RETURN SIXTEENTH_TYPE ;
|
RETURN SIXTEENTH_TYPE ;
|
SIXTEENTH_VALUE : IN NATURAL ;
|
SIXTEENTH_VALUE : IN NATURAL ;
|
|
|
PACKAGE ORDER_PACKAGE IS
|
PACKAGE ORDER_PACKAGE IS
|
|
|
A : FIRST_TYPE := FIRST (FIRST_VALUE) ;
|
A : FIRST_TYPE := FIRST (FIRST_VALUE) ;
|
B : SECOND_TYPE := SECOND (SECOND_VALUE) ;
|
B : SECOND_TYPE := SECOND (SECOND_VALUE) ;
|
C : THIRD_TYPE := THIRD (THIRD_VALUE) ;
|
C : THIRD_TYPE := THIRD (THIRD_VALUE) ;
|
D : FOURTH_TYPE := FOURTH (FOURTH_VALUE) ;
|
D : FOURTH_TYPE := FOURTH (FOURTH_VALUE) ;
|
E : FIFTH_TYPE := FIFTH (FIFTH_VALUE) ;
|
E : FIFTH_TYPE := FIFTH (FIFTH_VALUE) ;
|
F : SIXTH_TYPE := SIXTH (SIXTH_VALUE) ;
|
F : SIXTH_TYPE := SIXTH (SIXTH_VALUE) ;
|
G : SEVENTH_TYPE := SEVENTH (SEVENTH_VALUE) ;
|
G : SEVENTH_TYPE := SEVENTH (SEVENTH_VALUE) ;
|
H : EIGHTH_TYPE := EIGHTH (EIGHTH_VALUE) ;
|
H : EIGHTH_TYPE := EIGHTH (EIGHTH_VALUE) ;
|
I : NINTH_TYPE := NINTH (NINTH_VALUE) ;
|
I : NINTH_TYPE := NINTH (NINTH_VALUE) ;
|
J : TENTH_TYPE := TENTH (TENTH_VALUE) ;
|
J : TENTH_TYPE := TENTH (TENTH_VALUE) ;
|
K : ELEVENTH_TYPE := ELEVENTH (ELEVENTH_VALUE) ;
|
K : ELEVENTH_TYPE := ELEVENTH (ELEVENTH_VALUE) ;
|
L : TWELFTH_TYPE := TWELFTH (TWELFTH_VALUE) ;
|
L : TWELFTH_TYPE := TWELFTH (TWELFTH_VALUE) ;
|
M : THIRTEENTH_TYPE := THIRTEENTH (THIRTEENTH_VALUE) ;
|
M : THIRTEENTH_TYPE := THIRTEENTH (THIRTEENTH_VALUE) ;
|
N : FOURTEENTH_TYPE := FOURTEENTH (FOURTEENTH_VALUE) ;
|
N : FOURTEENTH_TYPE := FOURTEENTH (FOURTEENTH_VALUE) ;
|
O : FIFTEENTH_TYPE := FIFTEENTH (FIFTEENTH_VALUE) ;
|
O : FIFTEENTH_TYPE := FIFTEENTH (FIFTEENTH_VALUE) ;
|
P : SIXTEENTH_TYPE := SIXTEENTH (SIXTEENTH_VALUE) ;
|
P : SIXTEENTH_TYPE := SIXTEENTH (SIXTEENTH_VALUE) ;
|
|
|
END ORDER_PACKAGE ;
|
END ORDER_PACKAGE ;
|
|
|
|
|
FUNCTION BOOL IS NEW NAME (RETURN_TYPE => BOOLEAN,
|
FUNCTION BOOL IS NEW NAME (RETURN_TYPE => BOOLEAN,
|
RETURN_VALUE => TRUE_VALUE,
|
RETURN_VALUE => TRUE_VALUE,
|
POSITION => 1,
|
POSITION => 1,
|
OFFSET => 8,
|
OFFSET => 8,
|
WHEN_ELAB => WHEN_ELABORATED,
|
WHEN_ELAB => WHEN_ELABORATED,
|
INDEX => LIST_INDEX,
|
INDEX => LIST_INDEX,
|
LIST => LIST,
|
LIST => LIST,
|
ORDER_LIST => ORDER_LIST) ;
|
ORDER_LIST => ORDER_LIST) ;
|
|
|
FUNCTION INT IS NEW NAME (RETURN_TYPE => YEAR_TYPE,
|
FUNCTION INT IS NEW NAME (RETURN_TYPE => YEAR_TYPE,
|
RETURN_VALUE => THIS_YEAR,
|
RETURN_VALUE => THIS_YEAR,
|
POSITION => 2,
|
POSITION => 2,
|
OFFSET => 8,
|
OFFSET => 8,
|
WHEN_ELAB => WHEN_ELABORATED,
|
WHEN_ELAB => WHEN_ELABORATED,
|
INDEX => LIST_INDEX,
|
INDEX => LIST_INDEX,
|
LIST => LIST,
|
LIST => LIST,
|
ORDER_LIST => ORDER_LIST) ;
|
ORDER_LIST => ORDER_LIST) ;
|
|
|
FUNCTION FLOAT IS NEW NAME (RETURN_TYPE => REAL,
|
FUNCTION FLOAT IS NEW NAME (RETURN_TYPE => REAL,
|
RETURN_VALUE => REAL_VALUE,
|
RETURN_VALUE => REAL_VALUE,
|
POSITION => 3,
|
POSITION => 3,
|
OFFSET => 8,
|
OFFSET => 8,
|
WHEN_ELAB => WHEN_ELABORATED,
|
WHEN_ELAB => WHEN_ELABORATED,
|
INDEX => LIST_INDEX,
|
INDEX => LIST_INDEX,
|
LIST => LIST,
|
LIST => LIST,
|
ORDER_LIST => ORDER_LIST) ;
|
ORDER_LIST => ORDER_LIST) ;
|
|
|
FUNCTION CHAR IS NEW NAME (RETURN_TYPE => CHARACTER,
|
FUNCTION CHAR IS NEW NAME (RETURN_TYPE => CHARACTER,
|
RETURN_VALUE => CHARACTER_VALUE,
|
RETURN_VALUE => CHARACTER_VALUE,
|
POSITION => 4,
|
POSITION => 4,
|
OFFSET => 8,
|
OFFSET => 8,
|
WHEN_ELAB => WHEN_ELABORATED,
|
WHEN_ELAB => WHEN_ELABORATED,
|
INDEX => LIST_INDEX,
|
INDEX => LIST_INDEX,
|
LIST => LIST,
|
LIST => LIST,
|
ORDER_LIST => ORDER_LIST) ;
|
ORDER_LIST => ORDER_LIST) ;
|
|
|
FUNCTION ENUM IS NEW NAME (RETURN_TYPE => MONTH_TYPE,
|
FUNCTION ENUM IS NEW NAME (RETURN_TYPE => MONTH_TYPE,
|
RETURN_VALUE => THIS_MONTH,
|
RETURN_VALUE => THIS_MONTH,
|
POSITION => 5,
|
POSITION => 5,
|
OFFSET => 8,
|
OFFSET => 8,
|
WHEN_ELAB => WHEN_ELABORATED,
|
WHEN_ELAB => WHEN_ELABORATED,
|
INDEX => LIST_INDEX,
|
INDEX => LIST_INDEX,
|
LIST => LIST,
|
LIST => LIST,
|
ORDER_LIST => ORDER_LIST) ;
|
ORDER_LIST => ORDER_LIST) ;
|
|
|
FUNCTION ARRY IS NEW NAME (RETURN_TYPE => DUE_DATES,
|
FUNCTION ARRY IS NEW NAME (RETURN_TYPE => DUE_DATES,
|
RETURN_VALUE => REPORT_DATES,
|
RETURN_VALUE => REPORT_DATES,
|
POSITION => 6,
|
POSITION => 6,
|
OFFSET => 8,
|
OFFSET => 8,
|
WHEN_ELAB => WHEN_ELABORATED,
|
WHEN_ELAB => WHEN_ELABORATED,
|
INDEX => LIST_INDEX,
|
INDEX => LIST_INDEX,
|
LIST => LIST,
|
LIST => LIST,
|
ORDER_LIST => ORDER_LIST) ;
|
ORDER_LIST => ORDER_LIST) ;
|
|
|
|
|
FUNCTION RCRD IS NEW NAME (RETURN_TYPE => DATE,
|
FUNCTION RCRD IS NEW NAME (RETURN_TYPE => DATE,
|
RETURN_VALUE => TODAY,
|
RETURN_VALUE => TODAY,
|
POSITION => 7,
|
POSITION => 7,
|
OFFSET => 8,
|
OFFSET => 8,
|
WHEN_ELAB => WHEN_ELABORATED,
|
WHEN_ELAB => WHEN_ELABORATED,
|
INDEX => LIST_INDEX,
|
INDEX => LIST_INDEX,
|
LIST => LIST,
|
LIST => LIST,
|
ORDER_LIST => ORDER_LIST) ;
|
ORDER_LIST => ORDER_LIST) ;
|
|
|
|
|
FUNCTION ACSS IS NEW NAME (RETURN_TYPE => DATE_ACCESS,
|
FUNCTION ACSS IS NEW NAME (RETURN_TYPE => DATE_ACCESS,
|
RETURN_VALUE => FIRST_DATE,
|
RETURN_VALUE => FIRST_DATE,
|
POSITION => 8,
|
POSITION => 8,
|
OFFSET => 8,
|
OFFSET => 8,
|
WHEN_ELAB => WHEN_ELABORATED,
|
WHEN_ELAB => WHEN_ELABORATED,
|
INDEX => LIST_INDEX,
|
INDEX => LIST_INDEX,
|
LIST => LIST,
|
LIST => LIST,
|
ORDER_LIST => ORDER_LIST) ;
|
ORDER_LIST => ORDER_LIST) ;
|
|
|
PACKAGE ELABORATION_ORDER IS NEW ORDER_PACKAGE
|
PACKAGE ELABORATION_ORDER IS NEW ORDER_PACKAGE
|
(FIRST_TYPE => BOOLEAN,
|
(FIRST_TYPE => BOOLEAN,
|
FIRST => BOOL,
|
FIRST => BOOL,
|
FIRST_VALUE => 1,
|
FIRST_VALUE => 1,
|
THIRD_TYPE => REAL,
|
THIRD_TYPE => REAL,
|
THIRD => FLOAT,
|
THIRD => FLOAT,
|
THIRD_VALUE => 3,
|
THIRD_VALUE => 3,
|
SECOND_TYPE => YEAR_TYPE, -- ORDERING OF PARAMETERS
|
SECOND_TYPE => YEAR_TYPE, -- ORDERING OF PARAMETERS
|
SECOND => INT, -- IS DELIBERATE.
|
SECOND => INT, -- IS DELIBERATE.
|
SECOND_VALUE => 2,
|
SECOND_VALUE => 2,
|
FOURTH_TYPE => CHARACTER,
|
FOURTH_TYPE => CHARACTER,
|
FOURTH => CHAR,
|
FOURTH => CHAR,
|
FOURTH_VALUE => 4,
|
FOURTH_VALUE => 4,
|
FIFTH_TYPE => MONTH_TYPE,
|
FIFTH_TYPE => MONTH_TYPE,
|
FIFTH => ENUM,
|
FIFTH => ENUM,
|
FIFTH_VALUE => 5,
|
FIFTH_VALUE => 5,
|
SIXTH_TYPE => DUE_DATES,
|
SIXTH_TYPE => DUE_DATES,
|
SIXTH => ARRY,
|
SIXTH => ARRY,
|
SIXTH_VALUE => 6,
|
SIXTH_VALUE => 6,
|
SEVENTH_TYPE => DATE,
|
SEVENTH_TYPE => DATE,
|
SEVENTH => RCRD,
|
SEVENTH => RCRD,
|
SEVENTH_VALUE => 7,
|
SEVENTH_VALUE => 7,
|
EIGHTH_TYPE => DATE_ACCESS,
|
EIGHTH_TYPE => DATE_ACCESS,
|
EIGHTH => ACSS,
|
EIGHTH => ACSS,
|
EIGHTH_VALUE => 8,
|
EIGHTH_VALUE => 8,
|
NINTH_TYPE => BOOLEAN,
|
NINTH_TYPE => BOOLEAN,
|
NINTH => BOOL,
|
NINTH => BOOL,
|
NINTH_VALUE => 9,
|
NINTH_VALUE => 9,
|
TENTH_TYPE => YEAR_TYPE,
|
TENTH_TYPE => YEAR_TYPE,
|
TENTH => INT,
|
TENTH => INT,
|
TENTH_VALUE => 10,
|
TENTH_VALUE => 10,
|
ELEVENTH_TYPE => REAL,
|
ELEVENTH_TYPE => REAL,
|
ELEVENTH => FLOAT,
|
ELEVENTH => FLOAT,
|
ELEVENTH_VALUE => 11,
|
ELEVENTH_VALUE => 11,
|
TWELFTH_TYPE => CHARACTER,
|
TWELFTH_TYPE => CHARACTER,
|
TWELFTH => CHAR,
|
TWELFTH => CHAR,
|
TWELFTH_VALUE => 12,
|
TWELFTH_VALUE => 12,
|
THIRTEENTH_TYPE => MONTH_TYPE,
|
THIRTEENTH_TYPE => MONTH_TYPE,
|
THIRTEENTH => ENUM,
|
THIRTEENTH => ENUM,
|
THIRTEENTH_VALUE => 13,
|
THIRTEENTH_VALUE => 13,
|
FOURTEENTH_TYPE => DUE_DATES,
|
FOURTEENTH_TYPE => DUE_DATES,
|
FOURTEENTH => ARRY,
|
FOURTEENTH => ARRY,
|
FOURTEENTH_VALUE => 14,
|
FOURTEENTH_VALUE => 14,
|
FIFTEENTH_TYPE => DATE,
|
FIFTEENTH_TYPE => DATE,
|
FIFTEENTH => RCRD,
|
FIFTEENTH => RCRD,
|
FIFTEENTH_VALUE => 15,
|
FIFTEENTH_VALUE => 15,
|
SIXTEENTH_TYPE => DATE_ACCESS,
|
SIXTEENTH_TYPE => DATE_ACCESS,
|
SIXTEENTH => ACSS,
|
SIXTEENTH => ACSS,
|
SIXTEENTH_VALUE => 16) ;
|
SIXTEENTH_VALUE => 16) ;
|
|
|
BEGIN
|
BEGIN
|
REPORT.TEST("CC3016B", "CHECK THAT AN INSTANCE OF A GENERIC " &
|
REPORT.TEST("CC3016B", "CHECK THAT AN INSTANCE OF A GENERIC " &
|
"PACKAGE MUST DECLARE A PACKAGE. CHECK THAT THE " &
|
"PACKAGE MUST DECLARE A PACKAGE. CHECK THAT THE " &
|
"DECLARATIVE ITEMS IN AN INSTANTIATION OF A GENERIC " &
|
"DECLARATIVE ITEMS IN AN INSTANTIATION OF A GENERIC " &
|
"PACKAGE SPECIFICATION ARE ELABORATED IN THE ORDER " &
|
"PACKAGE SPECIFICATION ARE ELABORATED IN THE ORDER " &
|
"DECLARED.");
|
"DECLARED.");
|
|
|
IF ORDER_LIST(1) /= REPORT.IDENT_INT(1) THEN
|
IF ORDER_LIST(1) /= REPORT.IDENT_INT(1) THEN
|
REPORT.FAILED("BOOLEAN 1 ELABORATED OUT OF ORDER");
|
REPORT.FAILED("BOOLEAN 1 ELABORATED OUT OF ORDER");
|
END IF;
|
END IF;
|
|
|
IF ORDER_LIST(2) /= REPORT.IDENT_INT(2) THEN
|
IF ORDER_LIST(2) /= REPORT.IDENT_INT(2) THEN
|
REPORT.FAILED("INTEGER TYPE 1 ELABORATED OUT OF ORDER");
|
REPORT.FAILED("INTEGER TYPE 1 ELABORATED OUT OF ORDER");
|
END IF;
|
END IF;
|
|
|
IF ORDER_LIST(3) /= REPORT.IDENT_INT(3) THEN
|
IF ORDER_LIST(3) /= REPORT.IDENT_INT(3) THEN
|
REPORT.FAILED("REAL 1 ELABORATED OUT OF ORDER");
|
REPORT.FAILED("REAL 1 ELABORATED OUT OF ORDER");
|
END IF;
|
END IF;
|
|
|
IF ORDER_LIST(4) /= REPORT.IDENT_INT(4) THEN
|
IF ORDER_LIST(4) /= REPORT.IDENT_INT(4) THEN
|
REPORT.FAILED("CHARACTER 1 ELABORATED OUT OF ORDER");
|
REPORT.FAILED("CHARACTER 1 ELABORATED OUT OF ORDER");
|
END IF;
|
END IF;
|
|
|
IF ORDER_LIST(5) /= REPORT.IDENT_INT(5) THEN
|
IF ORDER_LIST(5) /= REPORT.IDENT_INT(5) THEN
|
REPORT.FAILED("ENUMERATION 1 ELABORATED OUT OF ORDER");
|
REPORT.FAILED("ENUMERATION 1 ELABORATED OUT OF ORDER");
|
END IF;
|
END IF;
|
|
|
IF ORDER_LIST(6) /= REPORT.IDENT_INT(6) THEN
|
IF ORDER_LIST(6) /= REPORT.IDENT_INT(6) THEN
|
REPORT.FAILED("ARRAY 1 ELABORATED OUT OF ORDER");
|
REPORT.FAILED("ARRAY 1 ELABORATED OUT OF ORDER");
|
END IF;
|
END IF;
|
|
|
IF ORDER_LIST(7) /= REPORT.IDENT_INT(7) THEN
|
IF ORDER_LIST(7) /= REPORT.IDENT_INT(7) THEN
|
REPORT.FAILED("RECORD 1 ELABORATED OUT OF ORDER");
|
REPORT.FAILED("RECORD 1 ELABORATED OUT OF ORDER");
|
END IF;
|
END IF;
|
|
|
IF ORDER_LIST(8) /= REPORT.IDENT_INT(8) THEN
|
IF ORDER_LIST(8) /= REPORT.IDENT_INT(8) THEN
|
REPORT.FAILED("ACCESS 1 ELABORATED OUT OF ORDER");
|
REPORT.FAILED("ACCESS 1 ELABORATED OUT OF ORDER");
|
END IF;
|
END IF;
|
|
|
IF ORDER_LIST(9) /= REPORT.IDENT_INT(9) THEN
|
IF ORDER_LIST(9) /= REPORT.IDENT_INT(9) THEN
|
REPORT.FAILED("BOOLEAN 2 ELABORATED OUT OF ORDER");
|
REPORT.FAILED("BOOLEAN 2 ELABORATED OUT OF ORDER");
|
END IF;
|
END IF;
|
|
|
IF ORDER_LIST(10) /= REPORT.IDENT_INT(10) THEN
|
IF ORDER_LIST(10) /= REPORT.IDENT_INT(10) THEN
|
REPORT.FAILED("INTEGER TYPE 2 ELABORATED OUT OF ORDER");
|
REPORT.FAILED("INTEGER TYPE 2 ELABORATED OUT OF ORDER");
|
END IF;
|
END IF;
|
|
|
IF ORDER_LIST(11) /= REPORT.IDENT_INT(11) THEN
|
IF ORDER_LIST(11) /= REPORT.IDENT_INT(11) THEN
|
REPORT.FAILED("REAL 2 ELABORATED OUT OF ORDER");
|
REPORT.FAILED("REAL 2 ELABORATED OUT OF ORDER");
|
END IF;
|
END IF;
|
|
|
IF ORDER_LIST(12) /= REPORT.IDENT_INT(12) THEN
|
IF ORDER_LIST(12) /= REPORT.IDENT_INT(12) THEN
|
REPORT.FAILED("CHARACTER 2 ELABORATED OUT OF ORDER");
|
REPORT.FAILED("CHARACTER 2 ELABORATED OUT OF ORDER");
|
END IF;
|
END IF;
|
|
|
IF ORDER_LIST(13) /= REPORT.IDENT_INT(13) THEN
|
IF ORDER_LIST(13) /= REPORT.IDENT_INT(13) THEN
|
REPORT.FAILED("ENUMERATION 2 ELABORATED OUT OF ORDER");
|
REPORT.FAILED("ENUMERATION 2 ELABORATED OUT OF ORDER");
|
END IF;
|
END IF;
|
|
|
IF ORDER_LIST(14) /= REPORT.IDENT_INT(14) THEN
|
IF ORDER_LIST(14) /= REPORT.IDENT_INT(14) THEN
|
REPORT.FAILED("ARRAY 2 ELABORATED OUT OF ORDER");
|
REPORT.FAILED("ARRAY 2 ELABORATED OUT OF ORDER");
|
END IF;
|
END IF;
|
|
|
IF ORDER_LIST(15) /= REPORT.IDENT_INT(15) THEN
|
IF ORDER_LIST(15) /= REPORT.IDENT_INT(15) THEN
|
REPORT.FAILED("RECORD 2 ELABORATED OUT OF ORDER");
|
REPORT.FAILED("RECORD 2 ELABORATED OUT OF ORDER");
|
END IF;
|
END IF;
|
|
|
IF ORDER_LIST(16) /= REPORT.IDENT_INT(16) THEN
|
IF ORDER_LIST(16) /= REPORT.IDENT_INT(16) THEN
|
REPORT.FAILED("ACCESS 2 ELABORATED OUT OF ORDER");
|
REPORT.FAILED("ACCESS 2 ELABORATED OUT OF ORDER");
|
END IF;
|
END IF;
|
|
|
REPORT.RESULT ;
|
REPORT.RESULT ;
|
|
|
END CC3016B;
|
END CC3016B;
|
|
|