1-- C56002A.ADA
2
3--                             Grant of Unlimited Rights
4--
5--     Under contracts F33600-87-D-0337, F33600-84-D-0280, MDA903-79-C-0687,
6--     F08630-91-C-0015, and DCA100-97-D-0025, the U.S. Government obtained
7--     unlimited rights in the software and documentation contained herein.
8--     Unlimited rights are defined in DFAR 252.227-7013(a)(19).  By making
9--     this public release, the Government intends to confer upon all
10--     recipients unlimited rights  equal to those held by the Government.
11--     These rights include rights to use, duplicate, release or disclose the
12--     released technical data and computer software in whole or in part, in
13--     any manner and for any purpose whatsoever, and to have or permit others
14--     to do so.
15--
16--                                    DISCLAIMER
17--
18--     ALL MATERIALS OR INFORMATION HEREIN RELEASED, MADE AVAILABLE OR
19--     DISCLOSED ARE AS IS.  THE GOVERNMENT MAKES NO EXPRESS OR IMPLIED
20--     WARRANTY AS TO ANY MATTER WHATSOEVER, INCLUDING THE CONDITIONS OF THE
21--     SOFTWARE, DOCUMENTATION OR OTHER INFORMATION RELEASED, MADE AVAILABLE
22--     OR DISCLOSED, OR THE OWNERSHIP, MERCHANTABILITY, OR FITNESS FOR A
23--     PARTICULAR PURPOSE OF SAID MATERIAL.
24--*
25-- CHECK THAT BLOCKS CAN HAVE DECLARATIVE PARTS AND THAT
26--    THE EFFECT OF THESE DECLARATIONS IS LIMITED TO THE BLOCKS
27--    IN WHICH THEY OCCUR.
28
29
30-- RM 04/16/81
31-- SPS 3/4/83
32
33WITH REPORT;
34PROCEDURE  C56002A  IS
35
36     USE  REPORT ;
37
38BEGIN
39
40     TEST( "C56002A" , "BLOCKS CAN HAVE DECLARATIVE PARTS AND"         &
41                       " THE EFFECT OF THESE DECLARATIONS IS LIMITED"  &
42                       " TO THE BLOCKS IN WHICH THEY OCCUR" )          ;
43
44     DECLARE
45
46          FIRST   :  CONSTANT INTEGER := IDENT_INT( 1) ;
47          SECOND  :  CONSTANT INTEGER := IDENT_INT( 2) ;
48          THIRD   :  CONSTANT INTEGER := IDENT_INT( 3) ;
49          FOURTH  :  CONSTANT INTEGER := IDENT_INT( 4) ;
50          FIFTH   :  CONSTANT INTEGER := IDENT_INT( 5) ;
51          TENTH   :  CONSTANT INTEGER := IDENT_INT(10) ;
52          ZEROTH  :  CONSTANT INTEGER := IDENT_INT( 0) ;
53
54     BEGIN
55
56          IF   FIRST   /= 1  OR
57               SECOND  /= 2  OR
58               THIRD   /= 3  OR
59               FOURTH  /= 4  OR
60               FIFTH   /= 5  OR
61               TENTH   /=10  OR
62               ZEROTH  /= 0
63          THEN
64               FAILED( "WRONG VALUES  -  1" );
65          END IF;
66
67          DECLARE
68
69               TYPE  ENUM   IS  ( AMINUS , A,B,C,D,E,  F,G,H,I,J );
70
71               FIRST   :  CONSTANT ENUM := A ;
72               SECOND  :  CONSTANT ENUM := B ;
73               THIRD   :  CONSTANT ENUM := C ;
74               FOURTH  :  CONSTANT ENUM := D ;
75               FIFTH   :  CONSTANT ENUM := E ;
76               TENTH   :  CONSTANT ENUM := J ;
77               ZEROTH  :  CONSTANT ENUM := AMINUS ;
78
79          BEGIN
80
81               IF   FIRST   /= ENUM'VAL( IDENT_INT( 1 ) )  OR
82                    SECOND  /= ENUM'VAL( IDENT_INT( 2 ) )  OR
83                    THIRD   /= ENUM'VAL( IDENT_INT( 3 ) )  OR
84                    FOURTH  /= ENUM'VAL( IDENT_INT( 4 ) )  OR
85                    FIFTH   /= ENUM'VAL( IDENT_INT( 5 ) )  OR
86                    TENTH   /= ENUM'VAL( IDENT_INT(10 ) )  OR
87                    ZEROTH  /= ENUM'VAL( IDENT_INT( 0 ) )
88               THEN
89                    FAILED( "WRONG VALUES  -  2" );
90               END IF;
91
92          END ;
93
94          IF   FIRST   /= 1  OR
95               SECOND  /= 2  OR
96               THIRD   /= 3  OR
97               FOURTH  /= 4  OR
98               FIFTH   /= 5  OR
99               TENTH   /=10  OR
100               ZEROTH  /= 0
101          THEN
102               FAILED( "WRONG VALUES  -  3" );
103          END IF;
104
105          DECLARE
106
107               FIRST   :  CONSTANT CHARACTER := 'A' ;
108               SECOND  :  CONSTANT CHARACTER := 'B' ;
109               THIRD   :  CONSTANT CHARACTER := 'C' ;
110               FOURTH  :  CONSTANT CHARACTER := 'D' ;
111               FIFTH   :  CONSTANT CHARACTER := 'E' ;
112               TENTH   :  CONSTANT CHARACTER := 'J' ;
113               ZEROTH  :  CONSTANT CHARACTER := '0' ;--ZERO < ANY LETTER
114
115          BEGIN
116
117               IF   FIRST   /= IDENT_CHAR( 'A' )  OR
118                    SECOND  /= IDENT_CHAR( 'B' )  OR
119                    THIRD   /= IDENT_CHAR( 'C' )  OR
120                    FOURTH  /= IDENT_CHAR( 'D' )  OR
121                    FIFTH   /= IDENT_CHAR( 'E' )  OR
122                    TENTH   /= IDENT_CHAR( 'J' )  OR
123                    ZEROTH  /= IDENT_CHAR( '0' )
124               THEN
125                    FAILED( "WRONG VALUES  -  4" );
126               END IF;
127
128          END ;
129
130          IF   FIRST   /= 1  OR
131               SECOND  /= 2  OR
132               THIRD   /= 3  OR
133               FOURTH  /= 4  OR
134               FIFTH   /= 5  OR
135               TENTH   /=10  OR
136               ZEROTH  /= 0
137          THEN
138               FAILED( "WRONG VALUES  -  5" );
139          END IF;
140
141
142     END ;
143
144
145     RESULT ;
146
147
148END  C56002A ;
149