URL
https://opencores.org/ocsvn/openrisc_2011-10-31/openrisc_2011-10-31/trunk
Subversion Repositories openrisc_2011-10-31
Compare Revisions
- This comparison shows the changes necessary to convert path
/openrisc/tags/gnu-src/gcc-4.5.1/gcc-4.5.1-or32-1.0rc1/gcc/testsuite/ada/acats/support
- from Rev 294 to Rev 338
- ↔ Reverse comparison
Rev 294 → Rev 338
/f730a001.a
0,0 → 1,76
-- F730A001.A |
-- |
-- Grant of Unlimited Rights |
-- |
-- 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 |
-- unlimited rights in the software and documentation contained herein. |
-- Unlimited rights are defined in DFAR 252.227-7013(a)(19). By making |
-- this public release, the Government intends to confer upon all |
-- recipients unlimited rights equal to those held by the Government. |
-- These rights include rights to use, duplicate, release or disclose the |
-- 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 |
-- to do so. |
-- |
-- DISCLAIMER |
-- |
-- ALL MATERIALS OR INFORMATION HEREIN RELEASED, MADE AVAILABLE OR |
-- DISCLOSED ARE AS IS. THE GOVERNMENT MAKES NO EXPRESS OR IMPLIED |
-- WARRANTY AS TO ANY MATTER WHATSOEVER, INCLUDING THE CONDITIONS OF THE |
-- SOFTWARE, DOCUMENTATION OR OTHER INFORMATION RELEASED, MADE AVAILABLE |
-- OR DISCLOSED, OR THE OWNERSHIP, MERCHANTABILITY, OR FITNESS FOR A |
-- PARTICULAR PURPOSE OF SAID MATERIAL. |
--* |
-- |
-- FOUNDATION DESCRIPTION: |
-- This file declares a tagged type and primitive subprogram for use in |
-- tests covering tagged types and type extensions. |
-- |
-- TEST FILES: |
-- The following files comprise this foundation: |
-- |
-- F730A000.A |
-- => F730A001.A |
-- |
-- CHANGE HISTORY: |
-- 06 Dec 94 SAIC ACVC 2.0 |
-- |
--! |
|
|
package F730A001 is -- Book definitions. |
|
|
type Text_Ptr is access String; |
|
type Book_Type is tagged record -- Root tagged type. |
Title : Text_Ptr; |
Author : Text_Ptr; |
end record; |
|
|
procedure Create_Book (Title : in Text_Ptr; -- Primitive operation |
Author : in Text_Ptr; -- of root tagged type. |
Book : out Book_Type); |
|
|
end F730A001; |
|
|
--==================================================================-- |
|
|
package body F730A001 is -- Book definitions. |
|
|
procedure Create_Book (Title : in Text_Ptr; |
Author : in Text_Ptr; |
Book : out Book_Type) is |
begin |
Book.Title := Title; |
Book.Author := Author; |
end Create_Book; |
|
|
end F730A001; |
/fxe2a00.a
0,0 → 1,90
-- FXE2A00.A |
-- |
-- Grant of Unlimited Rights |
-- |
-- 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 |
-- unlimited rights in the software and documentation contained herein. |
-- Unlimited rights are defined in DFAR 252.227-7013(a)(19). By making |
-- this public release, the Government intends to confer upon all |
-- recipients unlimited rights equal to those held by the Government. |
-- These rights include rights to use, duplicate, release or disclose the |
-- 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 |
-- to do so. |
-- |
-- DISCLAIMER |
-- |
-- ALL MATERIALS OR INFORMATION HEREIN RELEASED, MADE AVAILABLE OR |
-- DISCLOSED ARE AS IS. THE GOVERNMENT MAKES NO EXPRESS OR IMPLIED |
-- WARRANTY AS TO ANY MATTER WHATSOEVER, INCLUDING THE CONDITIONS OF THE |
-- SOFTWARE, DOCUMENTATION OR OTHER INFORMATION RELEASED, MADE AVAILABLE |
-- OR DISCLOSED, OR THE OWNERSHIP, MERCHANTABILITY, OR FITNESS FOR A |
-- PARTICULAR PURPOSE OF SAID MATERIAL. |
--* |
-- |
-- FOUNDATION DESCRIPTION: |
-- This foundation provides a Declared Pure package, a Shared Passive |
-- package, a Remote Types package and a normal, unrestricted package. |
-- |
-- It is used by tests checking the interrelationship between the |
-- categorized packages |
-- |
-- CHANGE HISTORY: |
-- 06 Dec 94 SAIC ACVC 2.0 |
-- |
--! |
|
|
--==================================================================== |
|
-- This is a DECLARED PURE package |
-- |
package FXE2A00_0 is |
|
pragma pure (FXE2A00_0); |
|
type Type_From_0 is (Red, Orange, Yellow); |
|
|
end FXE2A00_0; |
|
|
--==================================================================== |
|
-- This is a SHARED_PASSIVE package |
-- |
package FXE2A00_1 is |
|
|
pragma shared_passive (FXE2A00_1); |
|
type Type_From_1 is (Blue, Indigo, Violet); |
|
end FXE2A00_1; |
|
|
--==================================================================== |
|
-- This is a REMOTE TYPES package |
-- |
package FXE2A00_2 is |
|
pragma Remote_Types (FXE2A00_2); |
|
type Type_From_2 is (Red, Orange, Yellow, Green, Blue, Indigo, Violet); |
|
end FXE2A00_2; |
|
|
--==================================================================== |
|
-- This is a NORMAL unrestricted package which has no categorization |
-- |
package FXE2A00_4 is |
|
type Type_From_4 is (Black, White); |
|
end FXE2A00_4; |
|
--==================================================================== |
/fxc6a00.a
0,0 → 1,162
-- FXC6A00.A |
-- |
-- Grant of Unlimited Rights |
-- |
-- 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 |
-- unlimited rights in the software and documentation contained herein. |
-- Unlimited rights are defined in DFAR 252.227-7013(a)(19). By making |
-- this public release, the Government intends to confer upon all |
-- recipients unlimited rights equal to those held by the Government. |
-- These rights include rights to use, duplicate, release or disclose the |
-- 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 |
-- to do so. |
-- |
-- DISCLAIMER |
-- |
-- ALL MATERIALS OR INFORMATION HEREIN RELEASED, MADE AVAILABLE OR |
-- DISCLOSED ARE AS IS. THE GOVERNMENT MAKES NO EXPRESS OR IMPLIED |
-- WARRANTY AS TO ANY MATTER WHATSOEVER, INCLUDING THE CONDITIONS OF THE |
-- SOFTWARE, DOCUMENTATION OR OTHER INFORMATION RELEASED, MADE AVAILABLE |
-- OR DISCLOSED, OR THE OWNERSHIP, MERCHANTABILITY, OR FITNESS FOR A |
-- PARTICULAR PURPOSE OF SAID MATERIAL. |
--* |
-- |
-- FOUNDATION DESCRIPTION: |
-- This foundation declares various volatile and non-volatile types. Some |
-- are by-reference types, and some allow pass-by-copy. |
-- |
-- CHANGE HISTORY: |
-- 23 Jan 96 SAIC Initial version for ACVC 2.1. |
-- 02 DEC 97 EDS Removed Pragma Volatile applied to composite types. |
-- 27 AUG 99 RLB Repaired so Nonvolatile_Tagged really is |
-- Nonvolatile. |
--! |
|
package FXC6A00 is |
|
type Roman is ('I', 'V', 'X', 'L', 'C', 'D', 'M'); -- By-copy type. |
|
type Acc_Roman is access all Roman; |
|
|
type Tagged_Type is tagged record -- By-reference type. |
C: Natural; |
end record; |
|
|
type Volatile_Tagged is new Tagged_Type with record -- Volatile by-reference |
R1: Roman; -- type. |
end record; |
pragma Volatile (Volatile_Tagged); |
|
type Acc_Volatile_Tagged is access all Volatile_Tagged; |
|
-- By-reference type. |
type NonVolatile_Tagged is new Tagged_Type with record |
R2: aliased Roman; |
end record; |
|
|
task type Task_Type is -- By-reference type. |
entry Calculate (C: in out Natural); |
end Task_Type; |
|
type Acc_Task_Type is access all Task_Type; |
|
|
protected type Protected_Type is -- By-reference type. |
procedure Op; |
private |
Count : Natural := 0; |
end Protected_Type; |
|
|
protected type Volatile_Protected is -- Volatile by-reference |
procedure Handler; -- type. |
pragma Interrupt_Handler (Handler); |
|
function Handled return Boolean; |
private |
Was_Handled : Boolean := False; |
end Volatile_Protected; |
pragma Volatile (Volatile_Protected); |
|
type Acc_Vol_Protected is access all Volatile_Protected; |
|
|
type Record_Type is record -- Allows pass-by-copy. |
C: String(1 .. 2); |
end record; |
|
|
type Volatile_Record is limited record -- Volatile by-reference |
C: String(1 .. 2); -- type. |
end record; |
pragma Volatile (Volatile_Record); |
|
|
type Composite_Type is record -- By-reference type. |
C: Tagged_Type; |
D: aliased Volatile_Tagged; -- Volatile component. |
end record; |
|
|
type Private_Type is private; -- By-reference type. |
|
|
type Array_Type is array (1..3) of Tagged_Type; -- By-reference type. |
pragma Volatile_Components (Array_Type); |
|
type Acc_Array_Type is access all Array_Type; |
|
|
type Lim_Private_Type is limited private; -- By-copy type. |
|
private |
|
type Private_Type is new Tagged_Type with record |
D: Character; |
end record; |
|
|
type Lim_Private_Type is new Integer; |
|
end FXC6A00; |
|
|
--==================================================================-- |
|
|
package body FXC6A00 is |
|
task body Task_Type is |
begin |
accept Calculate (C: in out Natural) do |
C := C * 10; |
end Calculate; |
end Task_Type; |
|
|
protected body Protected_Type is |
procedure Op is |
begin |
Count := Count + 1; |
end Op; |
end Protected_Type; |
|
|
protected body Volatile_Protected is |
procedure Handler is |
begin |
Was_Handled := True; |
end Handler; |
|
function Handled return Boolean is |
begin |
return Was_Handled; |
end Handled; |
end Volatile_Protected; |
|
end FXC6A00; |
/impdefe.a
0,0 → 1,58
-- IMPDEFE.A |
-- |
-- Grant of Unlimited Rights |
-- |
-- 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 |
-- unlimited rights in the software and documentation contained herein. |
-- Unlimited rights are defined in DFAR 252.227-7013(a)(19). By making |
-- this public release, the Government intends to confer upon all |
-- recipients unlimited rights equal to those held by the Government. |
-- These rights include rights to use, duplicate, release or disclose the |
-- 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 |
-- to do so. |
-- |
-- DISCLAIMER |
-- |
-- ALL MATERIALS OR INFORMATION HEREIN RELEASED, MADE AVAILABLE OR |
-- DISCLOSED ARE AS IS. THE GOVERNMENT MAKES NO EXPRESS OR IMPLIED |
-- WARRANTY AS TO ANY MATTER WHATSOEVER, INCLUDING THE CONDITIONS OF THE |
-- SOFTWARE, DOCUMENTATION OR OTHER INFORMATION RELEASED, MADE AVAILABLE |
-- OR DISCLOSED, OR THE OWNERSHIP, MERCHANTABILITY, OR FITNESS FOR A |
-- PARTICULAR PURPOSE OF SAID MATERIAL. |
--* |
-- |
-- DESCRIPTION: |
-- This package provides tailorable entities for a particular |
-- implementation. Each entity may be modified to suit the needs |
-- of the implementation. Default values are provided to act as |
-- a guide. |
-- |
-- The entities in this package are those which are used exclusively |
-- in tests for Annex E (Distributed Systems). |
-- |
-- APPLICABILITY CRITERIA: |
-- This package is only required for implementations validating the |
-- Distributed Systems Annex. |
-- |
-- CHANGE HISTORY: |
-- 29 Jan 96 SAIC Initial version for ACVC 2.1. |
-- |
--! |
|
package ImpDef.Annex_E is |
|
--=====-=====-=====-=====-=====-=====-=====-=====-=====-=====-=====-=====-- |
|
-- The Max_RPC_Call_Time value is the longest time a test needs to wait for |
-- an RPC to complete. Included in this time is the time for the called |
-- procedure to make a task entry call where the task is ready to accept |
-- the call. |
|
Max_RPC_Call_Time : constant Duration := 2.0; |
-- ^^^ --- MODIFY HERE AS NEEDED |
|
--=====-=====-=====-=====-=====-=====-=====-=====-=====-=====-=====-=====-- |
|
end ImpDef.Annex_E; |
/impdefg.a
0,0 → 1,83
-- IMPDEFG.A |
-- |
-- Grant of Unlimited Rights |
-- |
-- 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 |
-- unlimited rights in the software and documentation contained herein. |
-- Unlimited rights are defined in DFAR 252.227-7013(a)(19). By making |
-- this public release, the Government intends to confer upon all |
-- recipients unlimited rights equal to those held by the Government. |
-- These rights include rights to use, duplicate, release or disclose the |
-- 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 |
-- to do so. |
-- |
-- DISCLAIMER |
-- |
-- ALL MATERIALS OR INFORMATION HEREIN RELEASED, MADE AVAILABLE OR |
-- DISCLOSED ARE AS IS. THE GOVERNMENT MAKES NO EXPRESS OR IMPLIED |
-- WARRANTY AS TO ANY MATTER WHATSOEVER, INCLUDING THE CONDITIONS OF THE |
-- SOFTWARE, DOCUMENTATION OR OTHER INFORMATION RELEASED, MADE AVAILABLE |
-- OR DISCLOSED, OR THE OWNERSHIP, MERCHANTABILITY, OR FITNESS FOR A |
-- PARTICULAR PURPOSE OF SAID MATERIAL. |
--* |
-- |
-- DESCRIPTION: |
-- This package provides tailorable entities for a particular |
-- implementation. Each entity may be modified to suit the needs |
-- of the implementation. Default values are provided to act as |
-- a guide. |
-- |
-- The entities in this package are those which are used exclusively |
-- in tests for Annex G (Numerics). |
-- |
-- APPLICABILITY CRITERIA: |
-- This package is only required for implementations validating the |
-- Numerics Annex. |
-- |
-- CHANGE HISTORY: |
-- 29 Jan 96 SAIC Initial version for ACVC 2.1. |
-- |
--! |
|
package ImpDef.Annex_G is |
|
--=====-=====-=====-=====-=====-=====-=====-=====-=====-=====-=====-=====-- |
|
-- This function must return a "negative zero" value for implementations |
-- for which Float'Signed_Zeros is True. |
|
function Negative_Zero return Float; |
|
--=====-=====-=====-=====-=====-=====-=====-=====-=====-=====-=====-=====-- |
|
end ImpDef.Annex_G; |
|
|
--==================================================================-- |
|
|
package body ImpDef.Annex_G is |
|
|
--=====-=====-=====-=====-=====-=====-=====-=====-=====-=====-=====-=====-- |
|
-- This function must return a negative zero value for implementations |
-- for which Float'Signed_Zeros is True. |
-- We generate the smallest normalized negative number, and divide by a |
-- few powers of two to obtain a number whose absolute value equals zero |
-- but whose sign is negative. |
|
function Negative_Zero return Float is |
negz : float := -1.0 * |
float (float'Machine_Radix) |
** ( Float'Machine_Emin - Float'Machine_Mantissa); |
begin |
return negz / 8.0; |
end Negative_Zero; |
|
--=====-=====-=====-=====-=====-=====-=====-=====-=====-=====-=====-=====-- |
|
end ImpDef.Annex_G; |
|
/checkfil.ada
0,0 → 1,197
-- CHECK_FILE.ADA |
-- |
-- Grant of Unlimited Rights |
-- |
-- 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 |
-- unlimited rights in the software and documentation contained herein. |
-- Unlimited rights are defined in DFAR 252.227-7013(a)(19). By making |
-- this public release, the Government intends to confer upon all |
-- recipients unlimited rights equal to those held by the Government. |
-- These rights include rights to use, duplicate, release or disclose the |
-- 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 |
-- to do so. |
-- |
-- DISCLAIMER |
-- |
-- ALL MATERIALS OR INFORMATION HEREIN RELEASED, MADE AVAILABLE OR |
-- DISCLOSED ARE AS IS. THE GOVERNMENT MAKES NO EXPRESS OR IMPLIED |
-- WARRANTY AS TO ANY MATTER WHATSOEVER, INCLUDING THE CONDITIONS OF THE |
-- SOFTWARE, DOCUMENTATION OR OTHER INFORMATION RELEASED, MADE AVAILABLE |
-- OR DISCLOSED, OR THE OWNERSHIP, MERCHANTABILITY, OR FITNESS FOR A |
-- PARTICULAR PURPOSE OF SAID MATERIAL. |
--* |
-- |
-- THIS IS A PROCEDURE USED BY MANY OF THE CHAPTER 14 TESTS TO CHECK THE |
-- CONTENTS OF A TEXT FILE. |
|
-- THIS PROCEDURE ASSUMES THE FILE PARAMETER PASSED TO IT IS AN OPEN |
-- TEXT FILE. |
|
-- THE STRING PARAMETER CONTAINS THE CHARACTERS THAT ARE SUPPOSED TO BE |
-- IN THE TEXT FILE. A '#' CHARACTER IS USED IN THE STRING TO DENOTE |
-- THE END OF A LINE. A '@' CHARACTER IS USED TO DENOTE THE END OF A |
-- PAGE. A '%' CHARACTER IS USED TO DENOTE THE END OF THE TEXT FILE. |
-- THESE SYMBOLS SHOULD NOT BE USED AS TEXT OUTPUT. |
|
-- SPS 11/30/82 |
-- JBG 2/3/83 |
|
WITH REPORT; USE REPORT; |
WITH TEXT_IO; USE TEXT_IO; |
|
PROCEDURE CHECK_FILE (FILE: IN OUT FILE_TYPE; CONTENTS : STRING) IS |
|
X : CHARACTER; |
COL_COUNT : POSITIVE_COUNT := 1; |
LINE_COUNT : POSITIVE_COUNT := 1; |
PAGE_COUNT : POSITIVE_COUNT := 1; |
TRAILING_BLANKS_MSG_WRITTEN : BOOLEAN := FALSE; |
STOP_PROCESSING : EXCEPTION; |
|
PROCEDURE CHECK_END_OF_LINE (EXPECT_END_OF_PAGE : BOOLEAN) IS |
BEGIN |
|
-- SKIP OVER ANY TRAILING BLANKS. AN IMPLEMENTATION CAN LEGALLY |
-- APPEND BLANKS TO THE END OF ANY LINE. |
|
WHILE NOT END_OF_LINE (FILE) LOOP |
GET (FILE, X); |
IF X /= ' ' THEN |
FAILED ("FROM CHECK_FILE: END OF LINE EXPECTED - " & |
X & " ENCOUNTERED"); |
RAISE STOP_PROCESSING; |
ELSE |
IF NOT TRAILING_BLANKS_MSG_WRITTEN THEN |
COMMENT ("FROM CHECK_FILE: " & |
"THIS IMPLEMENTATION PADS " & |
"LINES WITH BLANKS"); |
TRAILING_BLANKS_MSG_WRITTEN := TRUE; |
END IF; |
END IF; |
END LOOP; |
|
IF LINE_COUNT /= LINE (FILE) THEN |
FAILED ("FROM CHECK_FILE: " & |
"LINE COUNT INCORRECT - EXPECTED " & |
POSITIVE_COUNT'IMAGE(LINE_COUNT) & |
" GOT FROM FILE " & |
POSITIVE_COUNT'IMAGE(LINE(FILE))); |
END IF; |
|
-- NOTE: DO NOT SKIP_LINE WHEN AT END OF PAGE BECAUSE SKIP_LINE WILL |
-- ALSO SKIP THE PAGE TERMINATOR. SEE RM 14.3.5 PARAGRAPH 1. |
|
IF NOT EXPECT_END_OF_PAGE THEN |
IF END_OF_PAGE (FILE) THEN |
FAILED ("FROM CHECK_FILE: PREMATURE END OF PAGE"); |
RAISE STOP_PROCESSING; |
ELSE |
SKIP_LINE (FILE); |
LINE_COUNT := LINE_COUNT + 1; |
END IF; |
END IF; |
COL_COUNT := 1; |
END CHECK_END_OF_LINE; |
|
PROCEDURE CHECK_END_OF_PAGE IS |
BEGIN |
IF NOT END_OF_PAGE (FILE) THEN |
FAILED ("FROM CHECK_FILE: " & |
"END_OF_PAGE NOT WHERE EXPECTED"); |
RAISE STOP_PROCESSING; |
ELSE |
IF PAGE_COUNT /= PAGE (FILE) THEN |
FAILED ("FROM CHECK_FILE: " & |
"PAGE COUNT INCORRECT - EXPECTED " & |
POSITIVE_COUNT'IMAGE (PAGE_COUNT) & |
" GOT FROM FILE " & |
POSITIVE_COUNT'IMAGE (PAGE(FILE))); |
END IF; |
|
SKIP_PAGE (FILE); |
PAGE_COUNT := PAGE_COUNT + 1; |
LINE_COUNT := 1; |
END IF; |
END CHECK_END_OF_PAGE; |
|
BEGIN |
|
RESET (FILE, IN_FILE); |
SET_LINE_LENGTH (STANDARD_OUTPUT, 0); |
SET_PAGE_LENGTH (STANDARD_OUTPUT, 0); |
|
FOR I IN 1 .. CONTENTS'LENGTH LOOP |
|
BEGIN |
CASE CONTENTS (I) IS |
WHEN '#' => |
CHECK_END_OF_LINE (CONTENTS (I + 1) = '@'); |
WHEN '@' => |
CHECK_END_OF_PAGE; |
WHEN '%' => |
IF NOT END_OF_FILE (FILE) THEN |
FAILED ("FROM CHECK_FILE: " & |
"END_OF_FILE NOT WHERE EXPECTED"); |
RAISE STOP_PROCESSING; |
END IF; |
WHEN OTHERS => |
IF COL_COUNT /= COL(FILE) THEN |
FAILED ("FROM CHECK_FILE: " & |
"COL COUNT INCORRECT - " & |
"EXPECTED " & POSITIVE_COUNT' |
IMAGE(COL_COUNT) & " GOT FROM " & |
"FILE " & POSITIVE_COUNT'IMAGE |
(COL(FILE))); |
END IF; |
GET (FILE, X); |
COL_COUNT := COL_COUNT + 1; |
IF X /= CONTENTS (I) THEN |
FAILED("FROM CHECK_FILE: " & |
"FILE DOES NOT CONTAIN CORRECT " & |
"OUTPUT - EXPECTED " & CONTENTS(I) |
& " - GOT " & X); |
RAISE STOP_PROCESSING; |
END IF; |
END CASE; |
EXCEPTION |
WHEN STOP_PROCESSING => |
COMMENT ("FROM CHECK_FILE: " & |
"LAST CHARACTER IN FOLLOWING STRING " & |
"REVEALED ERROR: " & CONTENTS (1 .. I)); |
EXIT; |
END; |
|
END LOOP; |
|
EXCEPTION |
WHEN STATUS_ERROR => |
FAILED ("FROM CHECK_FILE: " & |
"STATUS_ERROR RAISED - FILE CHECKING INCOMPLETE"); |
WHEN MODE_ERROR => |
FAILED ("FROM CHECK_FILE: " & |
"MODE_ERROR RAISED - FILE CHECKING INCOMPLETE"); |
WHEN NAME_ERROR => |
FAILED ("FROM CHECK_FILE: " & |
"NAME_ERROR RAISED - FILE CHECKING INCOMPLETE"); |
WHEN USE_ERROR => |
FAILED ("FROM CHECK_FILE: " & |
"USE_ERROR RAISED - FILE CHECKING INCOMPLETE"); |
WHEN DEVICE_ERROR => |
FAILED ("FROM CHECK_FILE: " & |
"DEVICE_ERROR RAISED - FILE CHECKING INCOMPLETE"); |
WHEN END_ERROR => |
FAILED ("FROM CHECK_FILE: " & |
"END_ERROR RAISED - FILE CHECKING INCOMPLETE"); |
WHEN DATA_ERROR => |
FAILED ("FROM CHECK_FILE: " & |
"DATA_ERROR RAISED - FILE CHECKING INCOMPLETE"); |
WHEN LAYOUT_ERROR => |
FAILED ("FROM CHECK_FILE: " & |
"LAYOUT_ERROR RAISED - FILE CHECKING INCOMPLETE"); |
WHEN OTHERS => |
FAILED ("FROM CHECK_FILE: " & |
"SOME EXCEPTION RAISED - FILE CHECKING INCOMPLETE"); |
|
END CHECK_FILE; |
/f460a00.a
0,0 → 1,90
-- F460A00.A |
-- |
-- Grant of Unlimited Rights |
-- |
-- 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 |
-- unlimited rights in the software and documentation contained herein. |
-- Unlimited rights are defined in DFAR 252.227-7013(a)(19). By making |
-- this public release, the Government intends to confer upon all |
-- recipients unlimited rights equal to those held by the Government. |
-- These rights include rights to use, duplicate, release or disclose the |
-- 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 |
-- to do so. |
-- |
-- DISCLAIMER |
-- |
-- ALL MATERIALS OR INFORMATION HEREIN RELEASED, MADE AVAILABLE OR |
-- DISCLOSED ARE AS IS. THE GOVERNMENT MAKES NO EXPRESS OR IMPLIED |
-- WARRANTY AS TO ANY MATTER WHATSOEVER, INCLUDING THE CONDITIONS OF THE |
-- SOFTWARE, DOCUMENTATION OR OTHER INFORMATION RELEASED, MADE AVAILABLE |
-- OR DISCLOSED, OR THE OWNERSHIP, MERCHANTABILITY, OR FITNESS FOR A |
-- PARTICULAR PURPOSE OF SAID MATERIAL. |
--* |
-- |
-- FOUNDATION DESCRIPTION: |
-- This foundation declares support types and subprograms for testing |
-- run-time accessibility checks. |
-- |
-- CHANGE HISTORY: |
-- 11 May 95 SAIC Initial prerelease version. |
-- 24 Apr 96 SAIC Modified Array_Type. |
-- |
--! |
|
package F460A00 is |
|
type Tagged_Type is tagged record |
C : Integer := 0; |
end record; |
|
type Derived_Tagged_Type is new Tagged_Type with record |
D : String (1 .. 4) := "void"; |
end record; |
|
type Composite_Type (D: access Tagged_Type) is limited record |
C : Boolean; |
end record; |
|
type Array_Type is array (1 .. 10) of Tagged_Type; |
|
type AccTag_L0 is access constant Tagged_Type; |
type AccTagClass_L0 is access all Tagged_Type'Class; |
|
type AccArr_L0 is access all Array_Type; |
|
X_DerivedTag : aliased Derived_Tagged_Type; |
PTagClass_L0 : AccTagClass_L0 := X_DerivedTag'Access; |
|
type TC_Result_Kind is (OK, UN_Init, PE_Exception, Others_Exception); |
|
procedure TC_Check_Results (Actual : in TC_Result_Kind; |
Expected: in TC_Result_Kind; |
Message : in String); |
end F460A00; |
|
|
--==================================================================-- |
|
|
with Report; |
package body F460A00 is |
|
procedure TC_Check_Results (Actual : in TC_Result_Kind; |
Expected: in TC_Result_Kind; |
Message : in String) is |
begin |
if Actual /= Expected then |
case Actual is |
when OK | UN_Init => |
Report.Failed ("No exception raised: " & Message); |
when PE_Exception => |
Report.Failed ("Program_Error raised: " & Message); |
when Others_Exception => |
Report.Failed ("Unexpected exception raised: " & Message); |
end case; |
end if; |
end TC_Check_Results; |
|
end F460A00; |
/f731a00.a
0,0 → 1,66
-- F731A00.A |
-- |
-- Grant of Unlimited Rights |
-- |
-- 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 |
-- unlimited rights in the software and documentation contained herein. |
-- Unlimited rights are defined in DFAR 252.227-7013(a)(19). By making |
-- this public release, the Government intends to confer upon all |
-- recipients unlimited rights equal to those held by the Government. |
-- These rights include rights to use, duplicate, release or disclose the |
-- 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 |
-- to do so. |
-- |
-- DISCLAIMER |
-- |
-- ALL MATERIALS OR INFORMATION HEREIN RELEASED, MADE AVAILABLE OR |
-- DISCLOSED ARE AS IS. THE GOVERNMENT MAKES NO EXPRESS OR IMPLIED |
-- WARRANTY AS TO ANY MATTER WHATSOEVER, INCLUDING THE CONDITIONS OF THE |
-- SOFTWARE, DOCUMENTATION OR OTHER INFORMATION RELEASED, MADE AVAILABLE |
-- OR DISCLOSED, OR THE OWNERSHIP, MERCHANTABILITY, OR FITNESS FOR A |
-- PARTICULAR PURPOSE OF SAID MATERIAL. |
--* |
-- |
-- FOUNDATION DESCRIPTION: |
-- This foundation declares parent tagged types and subprograms for use |
-- in tests covering operations of private types and private extensions. |
-- |
-- CHANGE HISTORY: |
-- 06 Dec 94 SAIC ACVC 2.0 |
-- |
--! |
|
package F731A00 is |
|
type Parent is tagged private; |
|
function Vis_Op (P: Parent) return Boolean; |
|
private |
|
type Parent is tagged record |
Component : Integer := 1; |
end record; |
|
function Pri_Op (P: Parent) return Boolean; |
|
end F731A00; |
|
|
--==================================================================-- |
|
|
package body F731A00 is |
function Vis_Op (P: Parent) return Boolean is |
begin |
return True; |
end Vis_Op; |
|
function Pri_Op (P: Parent) return Boolean is |
begin |
return False; |
end Pri_Op; |
|
end F731A00; |
/impbit.adb
0,0 → 1,6
with System; |
with Ada.Text_IO; |
procedure Impbit is |
begin |
Ada.Text_IO.Put_Line (System.Address'Size'Img); |
end Impbit; |
/f340a000.a
0,0 → 1,149
-- F340A000.A |
-- |
-- Grant of Unlimited Rights |
-- |
-- 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 |
-- unlimited rights in the software and documentation contained herein. |
-- Unlimited rights are defined in DFAR 252.227-7013(a)(19). By making |
-- this public release, the Government intends to confer upon all |
-- recipients unlimited rights equal to those held by the Government. |
-- These rights include rights to use, duplicate, release or disclose the |
-- 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 |
-- to do so. |
-- |
-- DISCLAIMER |
-- |
-- ALL MATERIALS OR INFORMATION HEREIN RELEASED, MADE AVAILABLE OR |
-- DISCLOSED ARE AS IS. THE GOVERNMENT MAKES NO EXPRESS OR IMPLIED |
-- WARRANTY AS TO ANY MATTER WHATSOEVER, INCLUDING THE CONDITIONS OF THE |
-- SOFTWARE, DOCUMENTATION OR OTHER INFORMATION RELEASED, MADE AVAILABLE |
-- OR DISCLOSED, OR THE OWNERSHIP, MERCHANTABILITY, OR FITNESS FOR A |
-- PARTICULAR PURPOSE OF SAID MATERIAL. |
--* |
-- |
-- FOUNDATION DESCRIPTION: |
-- This file simulates a generic linked list abstraction for use in tests |
-- covering tagged types and type extensions. |
-- |
-- TEST FILES: |
-- This foundation consists of the following files: |
-- |
-- => F340A000.A |
-- F340A001.A |
-- |
-- CHANGE HISTORY: |
-- 06 Dec 94 SAIC ACVC 2.0 |
-- 12 Jun 96 SAIC ACVC 2.1: Modified prologue. Added pragma |
-- Elaborate_Body. |
-- |
--! |
|
generic -- Singly-linked list abstraction. |
type Parent_Type is tagged private; -- Actual is parent |
package F340A000 is -- tagged type. |
|
pragma Elaborate_Body; |
|
|
-- Declarations for visible linked list nodes: |
|
type Node_Type; |
|
type Node_Ptr is access Node_Type; |
|
type Node_Type is new Parent_Type with record -- Record extension |
Next : Node_Ptr := null; -- of parent type. |
end record; |
|
|
-- Inherits primitive operations of actual type corresponding |
-- to Parent_Type. |
|
-- Add node at head of list. |
procedure Add (Item : in Node_Ptr; |
Head : in out Node_Ptr); |
|
-- Remove node from head of list and return it. |
procedure Remove (Head : in out Node_Ptr; |
Item : out Node_Ptr); |
|
|
|
-- Declarations for private linked list nodes: |
|
type Priv_Node_Type is new Parent_Type with private; -- Private extension |
-- of parent type. |
|
-- Inherits primitive operations of actual parameter corresponding |
-- to Parent_Type. |
|
|
type Priv_Node_Ptr is access Priv_Node_Type; |
|
|
-- Add node at head of list. |
procedure Add (Item : in Priv_Node_Ptr; |
Head : in out Priv_Node_Ptr); |
|
-- Remove node from head of list and return it. |
procedure Remove (Head : in out Priv_Node_Ptr; |
Item : out Priv_Node_Ptr); |
|
|
private |
|
type Priv_Node_Type is new Parent_Type with record |
Next : Priv_Node_Ptr := null; |
end record; |
|
end F340A000; |
|
|
--==================================================================-- |
|
|
package body F340A000 is -- Singly-linked list abstraction. |
|
procedure Add (Item : in Node_Ptr; |
Head : in out Node_Ptr) is |
begin |
if Item /= null then |
Item.Next := Head; |
Head := Item; |
end if; |
end Add; |
|
|
procedure Remove (Head : in out Node_Ptr; |
Item : out Node_Ptr) is |
begin |
Item := Head; |
if Head /= null then |
Head := Head.Next; |
end if; |
end Remove; |
|
|
procedure Add (Item : in Priv_Node_Ptr; |
Head : in out Priv_Node_Ptr) is |
begin |
if Item /= null then |
Item.Next := Head; |
Head := Item; |
end if; |
end Add; |
|
|
procedure Remove (Head : in out Priv_Node_Ptr; |
Item : out Priv_Node_Ptr) is |
begin |
Item := Head; |
if Head /= null then |
Head := Head.Next; |
end if; |
end Remove; |
|
|
end F340A000; |
/fc50a00.a
0,0 → 1,92
-- FC50A00.A |
-- |
-- Grant of Unlimited Rights |
-- |
-- 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 |
-- unlimited rights in the software and documentation contained herein. |
-- Unlimited rights are defined in DFAR 252.227-7013(a)(19). By making |
-- this public release, the Government intends to confer upon all |
-- recipients unlimited rights equal to those held by the Government. |
-- These rights include rights to use, duplicate, release or disclose the |
-- 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 |
-- to do so. |
-- |
-- DISCLAIMER |
-- |
-- ALL MATERIALS OR INFORMATION HEREIN RELEASED, MADE AVAILABLE OR |
-- DISCLOSED ARE AS IS. THE GOVERNMENT MAKES NO EXPRESS OR IMPLIED |
-- WARRANTY AS TO ANY MATTER WHATSOEVER, INCLUDING THE CONDITIONS OF THE |
-- SOFTWARE, DOCUMENTATION OR OTHER INFORMATION RELEASED, MADE AVAILABLE |
-- OR DISCLOSED, OR THE OWNERSHIP, MERCHANTABILITY, OR FITNESS FOR A |
-- PARTICULAR PURPOSE OF SAID MATERIAL. |
--* |
-- |
-- FOUNDATION DESCRIPTION: |
-- This foundation declares various tagged types which will be passed as |
-- actuals to generic formal tagged private types. It also declares |
-- various objects of these types, which will be used for testing. |
-- The types defined are both discriminated and nondiscriminated. |
-- |
-- CHANGE HISTORY: |
-- 06 Dec 94 SAIC ACVC 2.0 |
-- |
--! |
|
package FC50A00 is |
|
-- |
-- Nonlimited tagged types: |
-- |
|
type Count_Type is tagged record -- Nondiscriminated |
Count : Integer := 0; -- type. |
end record; |
|
|
subtype Str_Len is Natural range 0 .. 100; |
subtype Stu_ID is String (1 .. 5); |
subtype Dept_ID is String (1 .. 4); |
subtype Emp_ID is String (1 .. 9); |
type Status is (Student, Faculty, Staff); |
subtype Reserved is Positive range 1 .. 50; |
|
|
type Person_Type (Stat : Status; -- Discriminated |
NameLen, AddrLen : Str_Len) is -- type. |
tagged record |
Name : String (1 .. NameLen); |
Address : String (1 .. AddrLen); |
case Stat is |
when Student => |
Student_ID : Stu_ID; |
when Faculty => |
Department : Dept_ID; |
when Staff => |
Employee_ID : Emp_ID; |
end case; |
end record; |
|
|
type VIPerson_Type is new Person_Type with record -- Extension of |
Parking_Space : Reserved; -- discriminated type. |
end record; |
|
|
-- Testing entities: ------------------------------------------------ |
|
TC_Count_Item : constant Count_Type := (Count => 111); |
TC_Default_Count : constant Count_Type := (Count => 0); |
|
TC_Person_Item : constant Person_Type := |
(Faculty, 18, 17, "Eccles, John Scott", "Popham House, Lee", "0931"); |
TC_Default_Person : constant Person_Type := |
(Student, 0, 0, "", "", "00000"); |
|
TC_VIPerson_Item : constant VIPerson_Type := (TC_Person_Item with 1); |
|
--------------------------------------------------------------------- |
|
|
end FC50A00; |
/fc70a00.a
0,0 → 1,117
-- FC70A00.A |
-- |
-- Grant of Unlimited Rights |
-- |
-- 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 |
-- unlimited rights in the software and documentation contained herein. |
-- Unlimited rights are defined in DFAR 252.227-7013(a)(19). By making |
-- this public release, the Government intends to confer upon all |
-- recipients unlimited rights equal to those held by the Government. |
-- These rights include rights to use, duplicate, release or disclose the |
-- 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 |
-- to do so. |
-- |
-- DISCLAIMER |
-- |
-- ALL MATERIALS OR INFORMATION HEREIN RELEASED, MADE AVAILABLE OR |
-- DISCLOSED ARE AS IS. THE GOVERNMENT MAKES NO EXPRESS OR IMPLIED |
-- WARRANTY AS TO ANY MATTER WHATSOEVER, INCLUDING THE CONDITIONS OF THE |
-- SOFTWARE, DOCUMENTATION OR OTHER INFORMATION RELEASED, MADE AVAILABLE |
-- OR DISCLOSED, OR THE OWNERSHIP, MERCHANTABILITY, OR FITNESS FOR A |
-- PARTICULAR PURPOSE OF SAID MATERIAL. |
--* |
-- |
-- FOUNDATION DESCRIPTION: |
-- This file simulates a generic complex integer support package, to be |
-- used for tests covering generic formal packages. |
-- |
-- CHANGE HISTORY: |
-- 06 Dec 94 SAIC ACVC 2.0 |
-- |
--! |
|
generic -- Complex integer abstraction. |
type Int_Type is range <>; |
package FC70A00 is |
|
-- Simulate a generic complex integer support package. Complex integers |
-- are treated as coordinates in the Cartesian plane. |
|
|
type Complex_Type is private; |
|
Zero : constant Complex_Type; -- (0,0). |
One : constant Complex_Type; -- (1,0). |
|
|
function "-" (Right : Complex_Type) -- Invert a complex |
return Complex_Type; -- integer. |
|
function "+" (Left, Right : Complex_Type) -- Add two complex |
return Complex_Type; -- integers. |
|
function "*" (Left, Right : Complex_Type) -- Multiply two complex |
return Complex_Type; -- integers. |
|
function Reciprocal (Right : Complex_Type) -- Return the reciprocal |
return Complex_Type; -- of a complex integer. |
|
function Complex (Real, Imag : Int_Type) -- Create a complex |
return Complex_Type; -- integer. |
|
private |
|
type Complex_Type is record |
Real : Int_Type; |
Imag : Int_Type; |
end record; |
|
Zero : constant Complex_Type := (Real => 0, Imag => 0); |
One : constant Complex_Type := (Real => 1, Imag => 0); |
|
end FC70A00; |
|
|
--==================================================================-- |
|
|
package body FC70A00 is -- Complex integer abstraction. |
|
function Complex (Real, Imag : Int_Type) return Complex_Type is |
begin |
return ( (Real, Imag) ); |
end Complex; |
|
--==============================================-- |
|
function "-" (Right : Complex_Type) return Complex_Type is |
begin |
return ( (-Right.Real, -Right.Imag) ); |
end "-"; |
|
--==============================================-- |
|
function "+" (Left, Right : Complex_Type) return Complex_Type is |
begin |
return ( (Left.Real + Right.Real, Left.Imag + Right.Imag) ); |
end "+"; |
|
--==============================================-- |
|
function "*" (Left, Right : Complex_Type) return Complex_Type is |
begin |
return ( (Real => (Left.Real * Right.Real) - (Left.Imag * Right.Imag), |
Imag => (Left.Imag * Right.Real) + (Left.Real * Right.Imag)) ); |
end "*"; |
|
--==============================================-- |
|
function Reciprocal (Right : Complex_Type) return Complex_Type is |
Denominator : Int_Type := Right.Real**2 + Right.Imag**2; |
begin -- NOTE: Results are truncated. |
return ( (Right.Real/Denominator, -Right.Imag/Denominator) ); |
end Reciprocal; |
|
end FC70A00; |
/fc70b00.a
0,0 → 1,133
-- FC70B00.A |
-- |
-- Grant of Unlimited Rights |
-- |
-- 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 |
-- unlimited rights in the software and documentation contained herein. |
-- Unlimited rights are defined in DFAR 252.227-7013(a)(19). By making |
-- this public release, the Government intends to confer upon all |
-- recipients unlimited rights equal to those held by the Government. |
-- These rights include rights to use, duplicate, release or disclose the |
-- 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 |
-- to do so. |
-- |
-- DISCLAIMER |
-- |
-- ALL MATERIALS OR INFORMATION HEREIN RELEASED, MADE AVAILABLE OR |
-- DISCLOSED ARE AS IS. THE GOVERNMENT MAKES NO EXPRESS OR IMPLIED |
-- WARRANTY AS TO ANY MATTER WHATSOEVER, INCLUDING THE CONDITIONS OF THE |
-- SOFTWARE, DOCUMENTATION OR OTHER INFORMATION RELEASED, MADE AVAILABLE |
-- OR DISCLOSED, OR THE OWNERSHIP, MERCHANTABILITY, OR FITNESS FOR A |
-- PARTICULAR PURPOSE OF SAID MATERIAL. |
--* |
-- |
-- FOUNDATION DESCRIPTION: |
-- This foundation defines a generic list abstraction. List elements can |
-- be of any (nonlimited) type. Lists are implemented as singly linked |
-- lists. Access to list elements is sequential. For each list, pointers |
-- are maintained to the first and last elements in the list, as well as |
-- the next element to be accessed. |
-- |
-- CHANGE HISTORY: |
-- 06 Dec 94 SAIC ACVC 2.0 |
-- |
--! |
|
generic -- List abstraction. |
type Element_Type is private; -- List elems can be of any nonlimited type. |
package FC70B00 is |
|
type List_Type is limited private; |
|
-- Return true if current element is last in the list. |
function End_Of_List (L : List_Type) return Boolean; |
|
-- Read current element value; do NOT advance "current" pointer. |
procedure View_Element (L : in List_Type; E : out Element_Type); |
|
-- Read from current element and advance "current" pointer. |
procedure Read_Element (L : in out List_Type; E : out Element_Type); |
|
-- Write to current element and advance "current" pointer. |
procedure Write_Element (L : in out List_Type; E : in Element_Type); |
|
-- Add element to end of list. |
procedure Add_Element (L : in out List_Type; E : in Element_Type); |
|
-- Set "current" pointer to first list element. |
procedure Reset (L : in out List_Type); |
|
private |
|
type Node_Type; |
type Node_Pointer is access Node_Type; |
|
type Node_Type is record |
Item : Element_Type; |
Next : Node_Pointer; |
end record; |
|
type List_Type is record |
First : Node_Pointer; |
Current : Node_Pointer; |
Last : Node_Pointer; |
end record; |
|
end FC70B00; |
|
|
--==================================================================-- |
|
|
package body FC70B00 is |
|
function End_Of_List (L : List_Type) return Boolean is |
begin |
return (L.Current = null); |
end End_Of_List; |
|
|
procedure View_Element (L : in List_Type; E : out Element_Type) is |
begin |
-- ... Error-checking code omitted for brevity. |
E := L.Current.Item; -- Retrieve current element. |
end View_Element; |
|
|
procedure Read_Element (L : in out List_Type; E : out Element_Type) is |
begin |
-- ... Error-checking code omitted for brevity. |
E := L.Current.Item; -- Retrieve current element. |
L.Current := L.Current.Next; -- Advance "current" pointer. |
end Read_Element; |
|
|
procedure Write_Element (L : in out List_Type; E : in Element_Type) is |
begin |
-- ... Error-checking code omitted for brevity. |
L.Current.Item := E; -- Write to current element. |
L.Current := L.Current.Next; -- Advance "current" pointer. |
end Write_Element; |
|
|
procedure Add_Element (L : in out List_Type; E : in Element_Type) is |
New_Node : Node_Pointer := new Node_Type'(E, null); |
begin |
if L.First = null then -- No elements in list, so add new |
L.First := New_Node; -- element at beginning of list. |
else |
L.Last.Next := New_Node; -- Add new element at end of list. |
end if; |
L.Last := New_Node; -- Set last-in-list pointer. |
end Add_Element; |
|
|
procedure Reset (L : in out List_Type) is |
begin |
L.Current := L.First; -- Set "current" pointer to first |
end Reset; -- list element. |
|
|
end FC70B00; |
/fc54a00.a
0,0 → 1,132
-- FC54A00.A |
-- |
-- Grant of Unlimited Rights |
-- |
-- 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 |
-- unlimited rights in the software and documentation contained herein. |
-- Unlimited rights are defined in DFAR 252.227-7013(a)(19). By making |
-- this public release, the Government intends to confer upon all |
-- recipients unlimited rights equal to those held by the Government. |
-- These rights include rights to use, duplicate, release or disclose the |
-- 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 |
-- to do so. |
-- |
-- DISCLAIMER |
-- |
-- ALL MATERIALS OR INFORMATION HEREIN RELEASED, MADE AVAILABLE OR |
-- DISCLOSED ARE AS IS. THE GOVERNMENT MAKES NO EXPRESS OR IMPLIED |
-- WARRANTY AS TO ANY MATTER WHATSOEVER, INCLUDING THE CONDITIONS OF THE |
-- SOFTWARE, DOCUMENTATION OR OTHER INFORMATION RELEASED, MADE AVAILABLE |
-- OR DISCLOSED, OR THE OWNERSHIP, MERCHANTABILITY, OR FITNESS FOR A |
-- PARTICULAR PURPOSE OF SAID MATERIAL. |
--* |
-- |
-- FOUNDATION DESCRIPTION: |
-- This foundation declares various types which will serve as designated |
-- types for tests involving generic formal access types (including |
-- access-to-subprogram types). |
-- |
-- CHANGE HISTORY: |
-- 06 Dec 94 SAIC ACVC 2.0 |
-- |
--! |
|
package FC54A00 is |
|
|
-- Discrete (integer) types: |
|
Bits : constant := 8; -- Named number. |
|
type Numerals is range -256 .. 255; |
type New_Numerals is new Numerals range -128 .. 127; |
subtype Positives is Numerals range 0 .. 255; |
subtype Same_Numerals is Numerals; |
subtype Numerals_Static is Numerals range -2**Bits .. 2**Bits - 1; |
|
Min : Numerals := Numerals'First; -- Variable. |
Max : Integer := 255; -- Variable. |
|
subtype Numerals_Nonstatic is Numerals range Min .. 255; |
subtype Positive_Nonstatic is Positives range 0 .. Positives(Max); |
subtype Pos_Dupl_Nonstatic is Positives range 0 .. Positives(Max); |
subtype Pos_Attr_Nonstatic is Positives range Positive_Nonstatic'Range; |
|
|
|
-- Floating point types: |
|
type Float_Type is digits 3; |
type New_Float is new Float_Type; |
subtype Float_100 is Float_Type range 0.0 .. 100.0; |
subtype Same_Float is Float_Type; |
|
Hundred : constant := 100.0; -- Named number. |
|
type Float_With_Range is digits 3 range 0.0 .. 100.0; |
subtype Float_Same_Range is Float_With_Range range 0.0 .. Hundred; |
|
|
|
-- Tagged record types: |
|
subtype Lengths is Natural range 0 .. 50; |
|
type Parent is abstract tagged null record; |
|
type Tag (Len: Lengths) is new Parent with record |
Msg : String (1 .. Len); |
end record; |
|
type New_Tag is new Tag with record |
Sent : Boolean; |
end record; |
|
subtype Same_Tag is Tag; |
|
Twenty : constant := 20; -- Named number. |
|
subtype Tag20 is Tag (Len => 20); |
subtype Tag25 is Tag (25); |
subtype Tag_Twenty is Tag (Twenty); |
|
My_Len : Lengths := Twenty; -- Variable. |
subtype Sub_Length is Lengths range 1 .. My_Len; |
|
subtype Tag20_Nonstatic is Tag (Len => Sub_Length'Last); |
subtype Tag20_Dupl_Nonstatic is Tag (Sub_Length'Last); |
subtype Tag20_Same_Nonstatic is Tag20_Nonstatic; |
subtype Tag20_Var_Nonstatic is Tag (Len => My_Len); |
|
|
|
-- Access types (designated type is tagged): |
|
type Tagged_Ptr is access Tag; |
type Tag_Class_Ptr is access Tag'Class; |
|
subtype Msg_Ptr_Static is Tagged_Ptr(Twenty); |
|
|
|
-- Array types: |
|
type New_String is new String; |
subtype Same_String is String; |
|
Ten : constant := 10; -- Named number. |
|
subtype Msg_Static is String(1 .. Ten); |
type Msg10 is new String(1 .. 10); |
subtype Msg20 is String(1 .. 20); |
|
Size : Positive := 10; |
|
subtype Msg_Nonstatic is String(1 .. Size); |
subtype Msg_Dupl_Nonstatic is String(1 .. Size); |
subtype Msg_Same_Nonstatic is Msg_Nonstatic; |
|
|
end FC54A00; |
/fc70c00.a
0,0 → 1,100
-- FC70C00.A |
-- |
-- Grant of Unlimited Rights |
-- |
-- 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 |
-- unlimited rights in the software and documentation contained herein. |
-- Unlimited rights are defined in DFAR 252.227-7013(a)(19). By making |
-- this public release, the Government intends to confer upon all |
-- recipients unlimited rights equal to those held by the Government. |
-- These rights include rights to use, duplicate, release or disclose the |
-- 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 |
-- to do so. |
-- |
-- DISCLAIMER |
-- |
-- ALL MATERIALS OR INFORMATION HEREIN RELEASED, MADE AVAILABLE OR |
-- DISCLOSED ARE AS IS. THE GOVERNMENT MAKES NO EXPRESS OR IMPLIED |
-- WARRANTY AS TO ANY MATTER WHATSOEVER, INCLUDING THE CONDITIONS OF THE |
-- SOFTWARE, DOCUMENTATION OR OTHER INFORMATION RELEASED, MADE AVAILABLE |
-- OR DISCLOSED, OR THE OWNERSHIP, MERCHANTABILITY, OR FITNESS FOR A |
-- PARTICULAR PURPOSE OF SAID MATERIAL. |
--* |
-- |
-- FOUNDATION DESCRIPTION: |
-- This foundation defines a generic list abstraction in two packages. |
-- The first package declares the types, the second declares the |
-- operations. List elements can be of any (nonlimited) type. Lists are |
-- implemented as singly linked lists. Access to list elements is |
-- sequential. For each list, pointers are maintained to the first and |
-- last elements in the list, as well as the next element to be accessed. |
-- |
-- CHANGE HISTORY: |
-- 06 Dec 94 SAIC ACVC 2.0 |
-- |
--! |
|
generic |
type Element_Type is private; -- List elems may be of any nonlimited type. |
package FC70C00_0 is -- List abstraction. |
|
type Node_Type; |
type Node_Pointer is access Node_Type; |
|
type Node_Type is record |
Item : Element_Type; |
Next : Node_Pointer; |
end record; |
|
type List_Type is record |
First : Node_Pointer; |
Current : Node_Pointer; |
Last : Node_Pointer; |
end record; |
|
end FC70C00_0; |
|
|
--==================================================================-- |
|
|
-- No body for FC70C00_0; |
|
|
--==================================================================-- |
|
|
with FC70C00_0; -- List abstraction. |
generic |
with package List_Mgr is new FC70C00_0 (<>); |
package FC70C00_1 is -- Basic list operations. |
|
-- Return true if current element is last in the list. |
function End_Of_List (L : List_Mgr.List_Type) return Boolean; |
|
-- Set "current" pointer to first list element. |
procedure Reset (L : in out List_Mgr.List_Type); |
|
end FC70C00_1; |
|
|
--==================================================================-- |
|
|
package body FC70C00_1 is |
|
function End_Of_List (L : List_Mgr.List_Type) return Boolean is |
use List_Mgr; -- Renders "=" directly visible. |
begin |
return (L.Current = null); |
end End_Of_List; |
|
|
procedure Reset (L : in out List_Mgr.List_Type) is |
begin |
L.Current := L.First; -- Set "current" pointer to first |
end Reset; -- list element. |
|
end FC70C00_1; |
/fcndecl.ada
0,0 → 1,50
-- FCNDECL.ADA |
-- |
-- Grant of Unlimited Rights |
-- |
-- 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 |
-- unlimited rights in the software and documentation contained herein. |
-- Unlimited rights are defined in DFAR 252.227-7013(a)(19). By making |
-- this public release, the Government intends to confer upon all |
-- recipients unlimited rights equal to those held by the Government. |
-- These rights include rights to use, duplicate, release or disclose the |
-- 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 |
-- to do so. |
-- |
-- DISCLAIMER |
-- |
-- ALL MATERIALS OR INFORMATION HEREIN RELEASED, MADE AVAILABLE OR |
-- DISCLOSED ARE AS IS. THE GOVERNMENT MAKES NO EXPRESS OR IMPLIED |
-- WARRANTY AS TO ANY MATTER WHATSOEVER, INCLUDING THE CONDITIONS OF THE |
-- SOFTWARE, DOCUMENTATION OR OTHER INFORMATION RELEASED, MADE AVAILABLE |
-- OR DISCLOSED, OR THE OWNERSHIP, MERCHANTABILITY, OR FITNESS FOR A |
-- PARTICULAR PURPOSE OF SAID MATERIAL. |
--* |
-- |
-- PACKAGE THAT MAY BE MODIFIED TO DECLARE FUNCTIONS THAT RETURN |
-- VALUES USABLE FOR INITIALIZATION OF CONSTANTS IN PACKAGE SPPRT13. |
|
WITH SYSTEM; |
PACKAGE FCNDECL IS |
-- INSERT FUNCTION DECLARATIONS AS NEEDED. |
|
type Mem is array (1 .. 100) of Long_Long_Integer; |
Var0: Mem; |
Var1: Mem; |
Var2: Mem; |
|
Var_Addr : constant System.Address := Var0'address; |
Var_Addr1: constant System.Address := Var1'address; |
Var_Addr2: constant System.Address := Var2'address; |
|
Ent0: Mem; |
Ent1: Mem; |
Ent2: Mem; |
|
Entry_Addr : constant System.Address := Ent0'address; |
Entry_Addr1: constant System.Address := Ent0'address; |
Entry_Addr2: constant System.Address := Ent0'address; |
|
END FCNDECL; |
/repspec.ada
0,0 → 1,149
-- REPSPEC.ADA |
-- |
-- Grant of Unlimited Rights |
-- |
-- 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 |
-- unlimited rights in the software and documentation contained herein. |
-- Unlimited rights are defined in DFAR 252.227-7013(a)(19). By making |
-- this public release, the Government intends to confer upon all |
-- recipients unlimited rights equal to those held by the Government. |
-- These rights include rights to use, duplicate, release or disclose the |
-- 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 |
-- to do so. |
-- |
-- DISCLAIMER |
-- |
-- ALL MATERIALS OR INFORMATION HEREIN RELEASED, MADE AVAILABLE OR |
-- DISCLOSED ARE AS IS. THE GOVERNMENT MAKES NO EXPRESS OR IMPLIED |
-- WARRANTY AS TO ANY MATTER WHATSOEVER, INCLUDING THE CONDITIONS OF THE |
-- SOFTWARE, DOCUMENTATION OR OTHER INFORMATION RELEASED, MADE AVAILABLE |
-- OR DISCLOSED, OR THE OWNERSHIP, MERCHANTABILITY, OR FITNESS FOR A |
-- PARTICULAR PURPOSE OF SAID MATERIAL. |
--* |
-- |
-- PURPOSE: |
-- THIS REPORT PACKAGE PROVIDES THE MECHANISM FOR REPORTING THE |
-- PASS/FAIL/NOT-APPLICABLE RESULTS OF EXECUTABLE (CLASSES A, C, |
-- D, E, AND L) TESTS. |
|
-- IT ALSO PROVIDES THE MECHANISM FOR GUARANTEEING THAT CERTAIN |
-- VALUES BECOME DYNAMIC (NOT KNOWN AT COMPILE-TIME). |
|
-- HISTORY: |
-- JRK 12/13/79 |
-- JRK 06/10/80 |
-- JRK 08/06/81 |
-- JRK 10/27/82 |
-- JRK 06/01/84 |
-- PWB 07/30/87 ADDED PROCEDURE SPECIAL_ACTION. |
-- TBN 08/20/87 ADDED FUNCTION LEGAL_FILE_NAME. |
-- BCB 05/17/90 ADDED FUNCTION TIME_STAMP. |
-- WMC 01/24/94 INCREASED RANGE OF TYPE FILE_NUM FROM 1..3 TO 1..5. |
-- KAS 06/19/95 ADDED FUNCTION IDENT_WIDE_CHAR. |
-- KAS 06/19/95 ADDED FUNCTION IDENT_WIDE_STR. |
|
PACKAGE REPORT IS |
|
SUBTYPE FILE_NUM IS INTEGER RANGE 1..5; |
|
-- THE REPORT ROUTINES. |
|
PROCEDURE TEST -- THIS ROUTINE MUST BE INVOKED AT THE |
-- START OF A TEST, BEFORE ANY OF THE |
-- OTHER REPORT ROUTINES ARE INVOKED. |
-- IT SAVES THE TEST NAME AND OUTPUTS THE |
-- NAME AND DESCRIPTION. |
( NAME : STRING; -- TEST NAME, E.G., "C23001A-AB". |
DESCR : STRING -- BRIEF DESCRIPTION OF TEST, E.G., |
-- "UPPER/LOWER CASE EQUIVALENCE IN " & |
-- "IDENTIFIERS". |
); |
|
PROCEDURE FAILED -- OUTPUT A FAILURE MESSAGE. SHOULD BE |
-- INVOKED SEPARATELY TO REPORT THE |
-- FAILURE OF EACH SUBTEST WITHIN A TEST. |
( DESCR : STRING -- BRIEF DESCRIPTION OF WHAT FAILED. |
-- SHOULD BE PHRASED AS: |
-- "(FAILED BECAUSE) ...REASON...". |
); |
|
PROCEDURE NOT_APPLICABLE -- OUTPUT A NOT-APPLICABLE MESSAGE. |
-- SHOULD BE INVOKED SEPARATELY TO REPORT |
-- THE NON-APPLICABILITY OF EACH SUBTEST |
-- WITHIN A TEST. |
( DESCR : STRING -- BRIEF DESCRIPTION OF WHAT IS |
-- NOT-APPLICABLE. SHOULD BE PHRASED AS: |
-- "(NOT-APPLICABLE BECAUSE)...REASON...". |
); |
|
PROCEDURE SPECIAL_ACTION -- OUTPUT A MESSAGE DESCRIBING SPECIAL |
-- ACTIONS TO BE TAKEN. |
-- SHOULD BE INVOKED SEPARATELY TO GIVE |
-- EACH SPECIAL ACTION. |
( DESCR : STRING -- BRIEF DESCRIPTION OF ACTION TO BE |
-- TAKEN. |
); |
|
PROCEDURE COMMENT -- OUTPUT A COMMENT MESSAGE. |
( DESCR : STRING -- THE MESSAGE. |
); |
|
PROCEDURE RESULT; -- THIS ROUTINE MUST BE INVOKED AT THE |
-- END OF A TEST. IT OUTPUTS A MESSAGE |
-- INDICATING WHETHER THE TEST AS A |
-- WHOLE HAS PASSED, FAILED, IS |
-- NOT-APPLICABLE, OR HAS TENTATIVELY |
-- PASSED PENDING SPECIAL ACTIONS. |
|
-- THE DYNAMIC VALUE ROUTINES. |
|
-- EVEN WITH STATIC ARGUMENTS, THESE FUNCTIONS WILL HAVE DYNAMIC |
-- RESULTS. |
|
FUNCTION IDENT_INT -- AN IDENTITY FUNCTION FOR TYPE INTEGER. |
( X : INTEGER -- THE ARGUMENT. |
) RETURN INTEGER; -- X. |
|
FUNCTION IDENT_CHAR -- AN IDENTITY FUNCTION FOR TYPE |
-- CHARACTER. |
( X : CHARACTER -- THE ARGUMENT. |
) RETURN CHARACTER; -- X. |
|
FUNCTION IDENT_WIDE_CHAR -- AN IDENTITY FUNCTION FOR TYPE |
-- WIDE_CHARACTER. |
( X : WIDE_CHARACTER -- THE ARGUMENT. |
) RETURN WIDE_CHARACTER; -- X. |
|
FUNCTION IDENT_BOOL -- AN IDENTITY FUNCTION FOR TYPE BOOLEAN. |
( X : BOOLEAN -- THE ARGUMENT. |
) RETURN BOOLEAN; -- X. |
|
FUNCTION IDENT_STR -- AN IDENTITY FUNCTION FOR TYPE STRING. |
( X : STRING -- THE ARGUMENT. |
) RETURN STRING; -- X. |
|
FUNCTION IDENT_WIDE_STR -- AN IDENTITY FUNCTION FOR TYPE WIDE_STRING. |
( X : WIDE_STRING -- THE ARGUMENT. |
) RETURN WIDE_STRING; -- X. |
|
FUNCTION EQUAL -- A RECURSIVE EQUALITY FUNCTION FOR TYPE |
-- INTEGER. |
( X, Y : INTEGER -- THE ARGUMENTS. |
) RETURN BOOLEAN; -- X = Y. |
|
-- OTHER UTILITY ROUTINES. |
|
FUNCTION LEGAL_FILE_NAME -- A FUNCTION TO GENERATE LEGAL EXTERNAL |
-- FILE NAMES. |
( X : FILE_NUM := 1; -- DETERMINES FIRST CHARACTER OF NAME. |
NAM : STRING := "" -- DETERMINES REST OF NAME. |
) RETURN STRING; -- THE GENERATED NAME. |
|
FUNCTION TIME_STAMP -- A FUNCTION TO GENERATE THE TIME AND |
-- DATE TO PLACE IN THE OUTPUT OF AN ACVC |
-- TEST. |
RETURN STRING; -- THE TIME AND DATE. |
|
END REPORT; |
/macrosub.ada
0,0 → 1,548
-- MACROSUB.ADA |
-- |
-- Grant of Unlimited Rights |
-- |
-- 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 |
-- unlimited rights in the software and documentation contained herein. |
-- Unlimited rights are defined in DFAR 252.227-7013(a)(19). By making |
-- this public release, the Government intends to confer upon all |
-- recipients unlimited rights equal to those held by the Government. |
-- These rights include rights to use, duplicate, release or disclose the |
-- 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 |
-- to do so. |
-- |
-- DISCLAIMER |
-- |
-- ALL MATERIALS OR INFORMATION HEREIN RELEASED, MADE AVAILABLE OR |
-- DISCLOSED ARE AS IS. THE GOVERNMENT MAKES NO EXPRESS OR IMPLIED |
-- WARRANTY AS TO ANY MATTER WHATSOEVER, INCLUDING THE CONDITIONS OF THE |
-- SOFTWARE, DOCUMENTATION OR OTHER INFORMATION RELEASED, MADE AVAILABLE |
-- OR DISCLOSED, OR THE OWNERSHIP, MERCHANTABILITY, OR FITNESS FOR A |
-- PARTICULAR PURPOSE OF SAID MATERIAL. |
--* |
-- |
----------------------------------------------------------------------- |
-- -- |
-- THIS PROGRAM IS CALLED MACROSUB. IT IS USED TO REPLACE THE -- |
-- MACROS IN THE ACVC TEST SUITE WITH THEIR PROPER VALUES. THE -- |
-- STEPS LISTED BELOW SHOULD BE FOLLOWED TO ENSURE PROPER RUNNING -- |
-- OF THE MACROSUB PROGRAM: -- |
-- -- |
-- 1) Edit the file MACRO.DFS (included with the testtape) -- |
-- and insert your macro values. The macros which use -- |
-- the value of MAX_IN_LEN are calculated automatically -- |
-- and do not need to be entered. -- |
-- -- |
-- 2) Create a file called TSTTESTS.DAT which includes all -- |
-- of the .TST test file names and their directory -- |
-- specifications, if necessary. If a different name -- |
-- other than TSTTESTS.DAT is used, this name must be -- |
-- substituted in the MACROSUB.ADA file. -- |
-- -- |
-- 3) Compile and link MACROSUB. -- |
-- -- |
-- 4) Run the MACROSUB program. -- |
-- -- |
-- WHEN THE PROGRAM FINISHES RUNNING, THE MACROS WILL HAVE BEEN -- |
-- REPLACED WITH THE APPROPRIATE VALUES FROM MACRO.DFS. -- |
-- -- |
-- -- |
-- -- |
-- HISTORY: -- |
-- BCB 04/17/90 CHANGED MODE OF CALC_MAX_VALS TO OUT. CHANGED -- |
-- VALUE OF MAX_VAL_LENGTH FROM 512 TO 400. ADDED -- |
-- EXCEPTION HANDLER SO PROGRAM DOES NOT CRASH IF -- |
-- AN EXCEPTION IS RAISED. ADDED MESSAGES TO -- |
-- REPORT PROGRESS OF PROGRAM. CHANGED PROGRAM SO -- |
-- IT DOES NOT ABORT IF A FILE CANNOT BE FOUND. -- |
-- MODIFIED PROGRAM SO IT ACCEPTS FILENAMES WITH -- |
-- VERSION NUMBERS. -- |
----------------------------------------------------------------------- |
|
WITH TEXT_IO; |
USE TEXT_IO; |
|
PACKAGE DEFS IS |
|
----------------------------------------------------------------------- |
-- -- |
-- THIS PACKAGE IS USED BY MACROSUB.ADA, PARSEMAC.ADA, AND BY -- |
-- GETSUBS.ADA. THE PACKAGE CONTAINS VARIABLE DECLARATIONS WHICH -- |
-- NEED TO BE KNOWN BY ALL OF THE PROCEDURES AND PACKAGES WHICH -- |
-- MAKE UP THE PROGRAM. -- |
-- -- |
----------------------------------------------------------------------- |
|
MAX_VAL_LENGTH : CONSTANT INTEGER := 400; |
|
SUBTYPE VAL_STRING IS STRING (1..MAX_VAL_LENGTH); |
|
TYPE REC_TYPE IS RECORD |
MACRO_NAME : STRING (1..80); |
NAME_LENGTH, VALUE_LENGTH : INTEGER; |
MACRO_VALUE : VAL_STRING; |
END RECORD; |
|
TYPE TABLE_TYPE IS ARRAY (1..100) OF REC_TYPE; |
|
SYMBOL_TABLE : TABLE_TYPE; |
|
NUM_MACROS : INTEGER; |
|
END DEFS; |
|
WITH TEXT_IO; |
USE TEXT_IO; |
WITH DEFS; |
USE DEFS; |
|
PACKAGE GETSUBS IS |
|
------------------------------------------------------------------------ |
-- -- |
-- THIS PACKAGE IS USED BY MACROSUB.ADA FOR READING FROM MACRO.DFS -- |
-- THE VALUES FOR THE MACRO SUBSTITUTIONS FOR A TEST TAPE. -- |
-- -- |
------------------------------------------------------------------------ |
|
MAC_FILE, LINE_LEN : EXCEPTION; |
|
PROCEDURE CALC_MAX_VALS(INDEX, LENGTH, MAX_IN_LEN : IN INTEGER; |
CALCULATED : OUT BOOLEAN); |
|
PROCEDURE FILL_TABLE; |
|
END GETSUBS; |
|
PACKAGE BODY GETSUBS IS |
|
----------------------------------------------------------------------- |
-- -- |
-- PROCEDURE CALC_MAX_VALS CALCULATES THE VALUE FOR THE MACRO -- |
-- READ FROM MACRO.DFS IF ITS LENGTH IS EQUAL OR NEARLY EQUAL TO -- |
-- MAX_IN_LEN. IT THEN RETURNS A FLAG SET TO TRUE IF A VALUE WAS -- |
-- CALCULATED, FALSE IF ONE WAS NOT. -- |
-- -- |
----------------------------------------------------------------------- |
|
PROCEDURE CALC_MAX_VALS(INDEX, LENGTH, MAX_IN_LEN : IN INTEGER; |
CALCULATED : OUT BOOLEAN) IS |
|
BEGIN |
|
IF SYMBOL_TABLE (INDEX).MACRO_NAME (1..LENGTH) = "BIG_ID1" |
THEN SYMBOL_TABLE (INDEX).MACRO_VALUE (1..MAX_IN_LEN) := |
(1..(MAX_IN_LEN-1) => 'A') & "1"; |
CALCULATED := TRUE; |
ELSIF SYMBOL_TABLE (INDEX).MACRO_NAME (1..LENGTH) = |
"BIG_ID2" THEN SYMBOL_TABLE (INDEX).MACRO_VALUE |
(1..MAX_IN_LEN) := (1..(MAX_IN_LEN-1) => 'A') & "2"; |
CALCULATED := TRUE; |
ELSIF SYMBOL_TABLE (INDEX).MACRO_NAME (1..LENGTH) = |
"BIG_ID3" THEN SYMBOL_TABLE (INDEX).MACRO_VALUE |
(1..MAX_IN_LEN) := (1..(MAX_IN_LEN + 1)/2 => 'A') & "3" & |
((MAX_IN_LEN + 1)/2 + 2..MAX_IN_LEN => 'A'); |
CALCULATED := TRUE; |
ELSIF SYMBOL_TABLE (INDEX).MACRO_NAME (1..LENGTH) = |
"BIG_ID4" THEN SYMBOL_TABLE (INDEX).MACRO_VALUE |
(1..MAX_IN_LEN) := (1..(MAX_IN_LEN + 1)/2 => 'A') & "4" & |
((MAX_IN_LEN + 1)/2 + 2..MAX_IN_LEN => 'A'); |
CALCULATED := TRUE; |
ELSIF SYMBOL_TABLE (INDEX).MACRO_NAME (1..LENGTH) = |
"BIG_STRING1" THEN SYMBOL_TABLE (INDEX).MACRO_VALUE |
(1..(MAX_IN_LEN + 1)/2 + 2) := |
'"' & (1..(MAX_IN_LEN + 1)/2 => 'A') & '"'; |
CALCULATED := TRUE; |
ELSIF SYMBOL_TABLE (INDEX).MACRO_NAME (1..LENGTH) = |
"BIG_STRING2" THEN SYMBOL_TABLE (INDEX).MACRO_VALUE |
(1..MAX_IN_LEN - (MAX_IN_LEN + 1)/2 + 2) := |
'"' & (2..MAX_IN_LEN - (MAX_IN_LEN + 1)/2 => 'A') & |
'1' & '"'; |
CALCULATED := TRUE; |
ELSIF SYMBOL_TABLE (INDEX).MACRO_NAME (1..LENGTH) = |
"MAX_STRING_LITERAL" THEN SYMBOL_TABLE (INDEX). |
MACRO_VALUE (1..MAX_IN_LEN) := '"' & |
(1..MAX_IN_LEN-2 => 'A') & '"'; |
CALCULATED := TRUE; |
ELSIF SYMBOL_TABLE (INDEX).MACRO_NAME (1..LENGTH) = |
"BIG_INT_LIT" THEN SYMBOL_TABLE (INDEX).MACRO_VALUE |
(1..MAX_IN_LEN) := (1..MAX_IN_LEN-3 => '0') & "298"; |
CALCULATED := TRUE; |
ELSIF SYMBOL_TABLE (INDEX).MACRO_NAME (1..LENGTH) = |
"BIG_REAL_LIT" THEN SYMBOL_TABLE (INDEX).MACRO_VALUE |
(1..MAX_IN_LEN) := (1..MAX_IN_LEN-5 => '0') & "690.0"; |
CALCULATED := TRUE; |
ELSIF SYMBOL_TABLE (INDEX).MACRO_NAME (1..LENGTH) = |
"MAX_LEN_INT_BASED_LITERAL" THEN |
SYMBOL_TABLE (INDEX). |
MACRO_VALUE (1..MAX_IN_LEN) := "2:" & |
(1..MAX_IN_LEN - 5 => '0') & "11:"; |
CALCULATED := TRUE; |
ELSIF SYMBOL_TABLE (INDEX).MACRO_NAME (1..LENGTH) = |
"MAX_LEN_REAL_BASED_LITERAL" THEN SYMBOL_TABLE (INDEX). |
MACRO_VALUE (1..MAX_IN_LEN) := "16:" & |
(1..MAX_IN_LEN - 7 => '0') & "F.E:"; |
CALCULATED := TRUE; |
ELSIF SYMBOL_TABLE (INDEX).MACRO_NAME (1..LENGTH) = |
"BLANKS" THEN SYMBOL_TABLE (INDEX).MACRO_VALUE |
(1..MAX_IN_LEN-20) := (1..MAX_IN_LEN-20 => ' '); |
CALCULATED := TRUE; |
ELSE |
CALCULATED := FALSE; |
END IF; |
IF SYMBOL_TABLE (INDEX).MACRO_NAME (1..LENGTH) = |
"BLANKS" THEN SYMBOL_TABLE (INDEX).VALUE_LENGTH := |
MAX_IN_LEN - 20; |
ELSIF SYMBOL_TABLE (INDEX).MACRO_NAME (1..LENGTH) = |
"BIG_STRING1" THEN |
SYMBOL_TABLE (INDEX).VALUE_LENGTH := |
(MAX_IN_LEN + 1)/2 + 2; |
ELSIF SYMBOL_TABLE (INDEX).MACRO_NAME (1..LENGTH) = |
"BIG_STRING2" THEN |
SYMBOL_TABLE (INDEX).VALUE_LENGTH := |
MAX_IN_LEN - (MAX_IN_LEN + 1)/2 + 2; |
ELSE SYMBOL_TABLE (INDEX).VALUE_LENGTH := MAX_IN_LEN; |
END IF; |
END CALC_MAX_VALS; |
|
----------------------------------------------------------------------- |
-- -- |
-- PROCEDURE FILL_TABLE READS THE MACRO NAMES AND MACRO VALUES IN -- |
-- FROM MACRO.DFS AND STORES THEM IN THE SYMBOL TABLE. PROCEDURE -- |
-- CALC_MAX_VALS IS CALLED TO DETERMINE IF THE MACRO VALUE SHOULD -- |
-- BE CALCULATED OR READ FROM MACRO.DFS. -- |
-- -- |
----------------------------------------------------------------------- |
|
PROCEDURE FILL_TABLE IS |
|
INFILE1 : FILE_TYPE; |
MACRO_FILE : CONSTANT STRING := "MACRO.DFS"; |
A_LINE : VAL_STRING; |
I, INDEX, LENGTH, HOLD, A_LENGTH, NAME : INTEGER; |
MAX_IN_LEN : INTEGER := 1; |
CALCULATED : BOOLEAN; |
|
BEGIN |
INDEX := 1; |
BEGIN |
OPEN (INFILE1, IN_FILE, MACRO_FILE); |
EXCEPTION |
WHEN NAME_ERROR => |
PUT_LINE ("** ERROR: MACRO FILE " & MACRO_FILE & |
" NOT FOUND."); |
RAISE MAC_FILE; |
END; |
WHILE NOT END_OF_FILE (INFILE1) LOOP |
GET_LINE (INFILE1, A_LINE, A_LENGTH); |
IF A_LENGTH > 0 AND A_LINE (1..2) /= "--" AND |
A_LINE (1) /= ' ' AND A_LINE (1) /= ASCII.HT THEN |
I := 1; |
WHILE I <= A_LENGTH AND THEN |
((A_LINE (I) IN 'A'..'Z') OR |
(A_LINE (I) IN '0'..'9') OR |
A_LINE (I) = '_') LOOP |
I := I + 1; |
END LOOP; |
I := I - 1; |
LENGTH := I; |
BEGIN |
SYMBOL_TABLE (INDEX).MACRO_NAME (1..LENGTH) := |
A_LINE (1..I); |
EXCEPTION |
WHEN CONSTRAINT_ERROR => |
PUT_LINE ("** ERROR: LINE LENGTH IS " & |
"GREATER THAN MAX_VAL_LENGTH."); |
RAISE LINE_LEN; |
END; |
SYMBOL_TABLE (INDEX).NAME_LENGTH := I; |
CALC_MAX_VALS (INDEX, LENGTH, MAX_IN_LEN, |
CALCULATED); |
IF NOT CALCULATED THEN |
I := I + 1; |
WHILE A_LINE (I) = ' ' OR A_LINE (I) = |
ASCII.HT LOOP |
I := I + 1; |
IF SYMBOL_TABLE (INDEX).MACRO_NAME |
(1..LENGTH) = "BLANKS" THEN |
EXIT; |
END IF; |
END LOOP; |
HOLD := I; |
|
-- MACRO VALUE BEGINS AT POSITION HOLD. |
-- NOW FIND WHERE IT ENDS BY STARTING AT THE END OF THE INPUT |
-- LINE AND SEARCHING BACKWARD FOR A NON-BLANK. |
|
I := A_LENGTH; |
WHILE I > HOLD AND THEN (A_LINE (I) = ' ' |
OR A_LINE(I) = ASCII.HT) LOOP |
I := I - 1; |
END LOOP; |
LENGTH := I - HOLD + 1; |
SYMBOL_TABLE (INDEX).MACRO_VALUE (1..LENGTH) |
:= A_LINE (HOLD..I); |
SYMBOL_TABLE (INDEX).VALUE_LENGTH := LENGTH; |
NAME := SYMBOL_TABLE (INDEX).NAME_LENGTH; |
IF SYMBOL_TABLE (INDEX).MACRO_NAME (1..NAME) = |
"MAX_IN_LEN" THEN MAX_IN_LEN := |
INTEGER'VALUE (SYMBOL_TABLE (INDEX). |
MACRO_VALUE (1..LENGTH)); |
END IF; |
END IF; |
INDEX := INDEX + 1; |
END IF; |
END LOOP; |
NUM_MACROS := INDEX - 1; |
CLOSE (INFILE1); |
END FILL_TABLE; |
|
BEGIN |
NULL; |
END GETSUBS; |
|
WITH TEXT_IO; |
USE TEXT_IO; |
WITH DEFS; |
USE DEFS; |
|
PACKAGE PARSEMAC IS |
|
------------------------------------------------------------------------ |
-- -- |
-- THIS PACKAGE IS USED BY MACROSUB.ADA FOR FINDING A MACRO TO -- |
-- SUBSTITUTE. MACRO SUBSTITUTIONS ARE MADE IN *.TST TESTS IN THE -- |
-- ACVC TEST SUITE. THIS PROCEDURE IS CURRENTLY SET UP FOR ACVC -- |
-- VERSION 1.10. -- |
-- -- |
------------------------------------------------------------------------ |
|
PROCEDURE LOOK_FOR_MACRO (A_LINE : IN STRING; |
A_LENGTH : IN INTEGER; |
PTR : IN OUT INTEGER; |
MACRO : OUT STRING; |
MACRO_LEN : IN OUT INTEGER); |
|
|
PROCEDURE WHICH_MACRO (MACRO : IN STRING; |
MACRO_LEN : IN INTEGER; |
TEMP_MACRO : OUT STRING; |
TEMP_MACRO_LEN : IN OUT INTEGER); |
|
END PARSEMAC; |
|
PACKAGE BODY PARSEMAC IS |
|
----------------------------------------------------------------------- |
-- PROCEDURE LOOK_FOR_MACRO LOOKS FOR A DOLLAR SIGN WHICH SIGNALS -- |
-- THE START OF A MACRO IN THE *.TST FILES. IT THEN COUNTS -- |
-- CHARACTERS UNTIL A <LETTER>, <NUMBER>, OR <_> IS NOT FOUND. -- |
-- RETURN PARAMETERS SEND THE BEGINNING POINTER AND LENGTH OF THE -- |
-- MACRO BACK TO THE MAIN PROGRAM. ALSO RETURNED IS THE MACRO -- |
-- STRING. -- |
----------------------------------------------------------------------- |
|
PROCEDURE LOOK_FOR_MACRO (A_LINE : IN STRING; |
A_LENGTH : IN INTEGER; |
PTR : IN OUT INTEGER; |
MACRO : OUT STRING; |
MACRO_LEN : IN OUT INTEGER) IS |
|
II, J : INTEGER := INTEGER'LAST; |
|
BEGIN |
FOR I IN PTR..A_LENGTH LOOP |
IF A_LINE (I) = '$' THEN |
II := I+1; |
EXIT; |
END IF; |
II := I; |
END LOOP; |
IF II < A_LENGTH THEN -- DOLLAR SIGN IS FOUND. |
J := II; |
WHILE J <= A_LENGTH AND THEN ((A_LINE(J) IN 'A'..'Z') OR |
(A_LINE(J) IN '0'..'9') OR |
A_LINE(J) = '_') LOOP |
J := J+1; |
END LOOP; |
J := J-1; |
MACRO_LEN := (J-II+1); |
MACRO (1..MACRO_LEN) := A_LINE (II .. J); |
-- DON'T INCLUDE THE DOLLAR SIGN |
PTR := J+1; |
ELSE |
MACRO_LEN := 0; |
END IF; |
RETURN; |
END LOOK_FOR_MACRO; |
|
------------------------------------------------------------------------ |
-- PROCEDURE WHICH_MACRO COMPARES THE INPUT MACRO STRING TO A -- |
-- VALUE READ FROM MACRO.DFS AND STORED IN THE SYMBOL TABLE AND -- |
-- RETURNS THE MACRO SUBSTITUTION STRING BACK TO THE MAIN PROGRAM. -- |
------------------------------------------------------------------------ |
|
PROCEDURE WHICH_MACRO (MACRO : IN STRING; |
MACRO_LEN : IN INTEGER; |
TEMP_MACRO : OUT STRING; |
TEMP_MACRO_LEN : IN OUT INTEGER) IS |
|
BEGIN |
FOR INDEX IN 1 .. NUM_MACROS LOOP |
IF MACRO (1..MACRO_LEN) = |
SYMBOL_TABLE (INDEX).MACRO_NAME |
(1..SYMBOL_TABLE (INDEX).NAME_LENGTH) THEN |
TEMP_MACRO_LEN := |
SYMBOL_TABLE (INDEX).VALUE_LENGTH; |
TEMP_MACRO (1..TEMP_MACRO_LEN) := |
SYMBOL_TABLE (INDEX).MACRO_VALUE |
(1..TEMP_MACRO_LEN); |
EXIT; |
END IF; |
IF INDEX = NUM_MACROS THEN |
PUT_LINE ("** ERROR: MACRO " & MACRO (1..MACRO_LEN) |
& " NOT FOUND. UPDATE PROGRAM."); |
TEMP_MACRO_LEN := MACRO_LEN; |
TEMP_MACRO (1..TEMP_MACRO_LEN) := |
MACRO (1..MACRO_LEN); |
END IF; |
END LOOP; |
|
END WHICH_MACRO; |
|
BEGIN |
NULL; |
END PARSEMAC; |
|
WITH TEXT_IO, GETSUBS, PARSEMAC, DEFS; |
USE TEXT_IO, GETSUBS, PARSEMAC, DEFS; |
|
PROCEDURE MACROSUB IS |
|
------------------------------------------------------------------------ |
-- -- |
-- MACROSUB IS THE MAIN PROGRAM THAT CALLS PROCEDURES IN TWO -- |
-- PACKAGES, GETSUBS AND PARSEMAC. THIS PROGRAM IS USED TO MAKE -- |
-- THE MACRO SUBSTITUTIONS FOR TST TESTS IN THE ACVC TEST SUITE. -- |
-- -- |
------------------------------------------------------------------------ |
|
INFILE1, INFILE2, OUTFILE1 : FILE_TYPE; |
FNAME, MACRO : VAL_STRING; |
LENGTH, A_LENGTH, PTR, |
TEMP_MACRO_LENGTH, MACRO_LEN, FILE_COUNT : INTEGER := 0; |
A_LINE, TEMP_MACRO, TEMP_LINE, NEW_LINE : VAL_STRING; |
END_OF_LINE_SEARCH, FLAG : BOOLEAN := FALSE; |
TESTS_FILE : CONSTANT STRING := "TSTTESTS.DAT"; |
TSTTESTS,FILE_CRE : EXCEPTION; |
|
BEGIN |
PUT_LINE ("BEGINNING MACRO SUBSTITUTIONS."); |
FILL_TABLE; |
BEGIN |
OPEN (INFILE2, IN_FILE, TESTS_FILE); |
EXCEPTION |
WHEN NAME_ERROR => |
PUT_LINE ("** ERROR: ERROR DURING OPENING OF " & |
"TSTTESTS.DAT"); |
RAISE TSTTESTS; |
END; |
WHILE NOT END_OF_FILE (INFILE2) LOOP |
GET_LINE (INFILE2, FNAME, LENGTH); |
FILE_COUNT := FILE_COUNT + 1; |
BEGIN |
OPEN (INFILE1, IN_FILE, FNAME(1..LENGTH)); |
EXCEPTION |
WHEN NAME_ERROR => |
PUT_LINE ("** ERROR: ERROR DURING OPENING OF " & |
FNAME(1..LENGTH) & "."); |
FLAG := TRUE; |
END; |
IF NOT FLAG THEN |
PUT_LINE ("WORKING ON " & FNAME(1..LENGTH)); |
IF FILE_COUNT = 70 THEN |
PUT_LINE ("MACRO SUBSTITUTIONS HALF COMPLETED."); |
END IF; |
FOR I IN REVERSE 1 .. LENGTH LOOP |
IF FNAME(I) = ';' THEN |
LENGTH := I - 1; |
EXIT; |
END IF; |
END LOOP; |
IF FNAME (LENGTH-2..LENGTH) = "TST" THEN |
FNAME (LENGTH-2..LENGTH) := "ADT"; |
ELSIF FNAME (LENGTH-2..LENGTH) = "tst" THEN |
FNAME (LENGTH-2..LENGTH) := "adt"; |
END IF; |
BEGIN |
CREATE (OUTFILE1, OUT_FILE, FNAME (1..LENGTH)); |
EXCEPTION |
WHEN OTHERS => |
PUT_LINE ("** ERROR: EXCEPTION RAISED DURING" & |
" ATTEMPTED CREATION OF " & |
FNAME(1..LENGTH) & "."); |
RAISE FILE_CRE; |
END; |
WHILE NOT END_OF_FILE (INFILE1) LOOP |
GET_LINE (INFILE1, A_LINE, A_LENGTH); |
IF A_LENGTH > 0 AND A_LINE(1..2) /= "--" THEN |
END_OF_LINE_SEARCH := FALSE; |
PTR := 1; |
WHILE NOT END_OF_LINE_SEARCH LOOP |
LOOK_FOR_MACRO (A_LINE, A_LENGTH, PTR, |
MACRO, MACRO_LEN); |
IF MACRO_LEN = 0 THEN |
END_OF_LINE_SEARCH := TRUE; |
ELSE -- SEE WHICH MACRO IT IS |
WHICH_MACRO (MACRO, MACRO_LEN, |
TEMP_MACRO, TEMP_MACRO_LENGTH); |
END IF; |
IF NOT END_OF_LINE_SEARCH THEN |
IF PTR-MACRO_LEN-2 > 0 THEN |
-- IF MACRO IS NOT FIRST ON THE LINE |
NEW_LINE (1..PTR-MACRO_LEN-2) |
:= A_LINE(1..PTR-MACRO_LEN -2); |
-- THE OLD LINE UNTIL THE DOLLAR SIGN |
END IF; |
NEW_LINE(PTR-MACRO_LEN-1 .. |
TEMP_MACRO_LENGTH + |
(PTR-MACRO_LEN) - 2) := |
TEMP_MACRO(1..TEMP_MACRO_LENGTH); |
IF PTR <= A_LENGTH THEN |
-- IF MACRO IS NOT LAST ON THE LINE |
NEW_LINE (TEMP_MACRO_LENGTH + |
PTR-MACRO_LEN - 1 .. |
TEMP_MACRO_LENGTH - 1 + |
A_LENGTH - MACRO_LEN) := |
A_LINE (PTR..A_LENGTH); |
ELSE |
END_OF_LINE_SEARCH := TRUE; |
END IF; |
A_LENGTH := A_LENGTH + |
TEMP_MACRO_LENGTH - |
MACRO_LEN - 1; |
A_LINE (1..A_LENGTH) := |
NEW_LINE (1..A_LENGTH); |
PTR := PTR - MACRO_LEN + |
TEMP_MACRO_LENGTH - 1; |
END IF; |
END LOOP; |
END IF; |
PUT_LINE (OUTFILE1, A_LINE (1..A_LENGTH)); |
END LOOP; |
CLOSE (OUTFILE1); |
CLOSE (INFILE1); |
ELSE |
FLAG := FALSE; |
END IF; |
END LOOP; |
CLOSE (INFILE2); |
PUT_LINE ("MACRO SUBSTITUTIONS COMPLETED."); |
EXCEPTION |
WHEN MAC_FILE | LINE_LEN | TSTTESTS | FILE_CRE => |
NULL; |
WHEN OTHERS => |
PUT_LINE ("UNEXPECTED EXCEPTION RAISED"); |
END MACROSUB; |
/fdd2a00.a
0,0 → 1,149
-- FDD2A00.A |
-- |
-- Grant of Unlimited Rights |
-- |
-- The Ada Conformity Assessment Authority (ACAA) holds unlimited |
-- rights in the software and documentation contained herein. Unlimited |
-- rights are the same as those granted by the U.S. Government for older |
-- parts of the Ada Conformity Assessment Test Suite, and are defined |
-- in DFAR 252.227-7013(a)(19). By making this public release, the ACAA |
-- intends to confer upon all recipients unlimited rights equal to those |
-- held by the ACAA. These rights include rights to use, duplicate, |
-- release or disclose the 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 to do so. |
-- |
-- DISCLAIMER |
-- |
-- ALL MATERIALS OR INFORMATION HEREIN RELEASED, MADE AVAILABLE OR |
-- DISCLOSED ARE AS IS. THE GOVERNMENT MAKES NO EXPRESS OR IMPLIED |
-- WARRANTY AS TO ANY MATTER WHATSOEVER, INCLUDING THE CONDITIONS OF THE |
-- SOFTWARE, DOCUMENTATION OR OTHER INFORMATION RELEASED, MADE AVAILABLE |
-- OR DISCLOSED, OR THE OWNERSHIP, MERCHANTABILITY, OR FITNESS FOR A |
-- PARTICULAR PURPOSE OF SAID MATERIAL. |
-- |
-- |
-- FOUNDATION DESCRIPTION: |
-- This foundation provides the basis for testing user-defined stream |
-- attributes. It provides operations which count calls to stream |
-- attributes. |
-- |
-- CHANGE HISTORY: |
-- 30 JUL 2001 PHL Initial version. |
-- 5 DEC 2001 RLB Reformatted for ACATS. |
-- |
|
with Ada.Streams; |
use Ada.Streams; |
package FDD2A00 is |
|
type Kinds is (Read, Write, Input, Output); |
type Counts is array (Kinds) of Natural; |
|
|
type My_Stream (Size : Stream_Element_Count) is new Root_Stream_Type with |
record |
First : Stream_Element_Offset := 1; |
Last : Stream_Element_Offset := 0; |
Contents : Stream_Element_Array (1 .. Size); |
end record; |
|
procedure Clear (Stream : in out My_Stream); |
|
procedure Read (Stream : in out My_Stream; |
Item : out Stream_Element_Array; |
Last : out Stream_Element_Offset); |
|
procedure Write (Stream : in out My_Stream; Item : in Stream_Element_Array); |
|
|
generic |
type T (<>) is limited private; |
with procedure Actual_Write |
(Stream : access Root_Stream_Type'Class; Item : T); |
with function Actual_Input |
(Stream : access Root_Stream_Type'Class) return T; |
with procedure Actual_Read (Stream : access Root_Stream_Type'Class; |
Item : out T); |
with procedure Actual_Output |
(Stream : access Root_Stream_Type'Class; Item : T); |
package Counting_Stream_Ops is |
|
procedure Write (Stream : access Root_Stream_Type'Class; Item : T); |
function Input (Stream : access Root_Stream_Type'Class) return T; |
procedure Read (Stream : access Root_Stream_Type'Class; Item : out T); |
procedure Output (Stream : access Root_Stream_Type'Class; Item : T); |
|
function Get_Counts return Counts; |
|
end Counting_Stream_Ops; |
|
end FDD2A00; |
package body FDD2A00 is |
|
procedure Clear (Stream : in out My_Stream) is |
begin |
Stream.First := 1; |
Stream.Last := 0; |
end Clear; |
|
procedure Read (Stream : in out My_Stream; |
Item : out Stream_Element_Array; |
Last : out Stream_Element_Offset) is |
begin |
if Item'Length >= Stream.Last - Stream.First + 1 then |
Item (Item'First .. Item'First + Stream.Last - Stream.First) := |
Stream.Contents (Stream.First .. Stream.Last); |
Last := Item'First + Stream.Last - Stream.First; |
Stream.First := Stream.Last + 1; |
else |
Item := Stream.Contents (Stream.First .. |
Stream.First + Item'Length - 1); |
Last := Item'Last; |
Stream.First := Stream.First + Item'Length; |
end if; |
end Read; |
|
procedure Write (Stream : in out My_Stream; |
Item : in Stream_Element_Array) is |
begin |
Stream.Contents (Stream.Last + 1 .. Stream.Last + Item'Length) := Item; |
Stream.Last := Stream.Last + Item'Length; |
end Write; |
|
|
package body Counting_Stream_Ops is |
Cnts : Counts := (others => 0); |
|
procedure Write (Stream : access Root_Stream_Type'Class; Item : T) is |
begin |
Cnts (Write) := Cnts (Write) + 1; |
Actual_Write (Stream, Item); |
end Write; |
|
function Input (Stream : access Root_Stream_Type'Class) return T is |
begin |
Cnts (Input) := Cnts (Input) + 1; |
return Actual_Input (Stream); |
end Input; |
|
procedure Read (Stream : access Root_Stream_Type'Class; Item : out T) is |
begin |
Cnts (Read) := Cnts (Read) + 1; |
Actual_Read (Stream, Item); |
end Read; |
|
procedure Output (Stream : access Root_Stream_Type'Class; Item : T) is |
begin |
Cnts (Output) := Cnts (Output) + 1; |
Actual_Output (Stream, Item); |
end Output; |
|
function Get_Counts return Counts is |
begin |
return Cnts; |
end Get_Counts; |
|
end Counting_Stream_Ops; |
|
end FDD2A00; |
/lencheck.ada
0,0 → 1,60
-- THIS GENERIC PROCEDURE IS INTENDED FOR USE IN CONJUNCTION WITH THE |
-- ACVC CHAPTER 13 C TESTS. IT IS INSTANTIATED FOR A TYPE WHOSE |
-- REPRESENTATION IS TO BE CHECKED, AND THEN THE PROCEDURE REP_CHECK |
-- IS CALLED WITH TWO ARGUMENTS, THE FIRST IS A VALUE OF THE TYPE TO |
-- BE CHECKED, AND THE SECOND IS A STRING DESCRIBING OR NAMING THE |
-- TYPE (FOR USE IN A CALL TO FAILED IF THE REPRESENTATION CHECK FAILS) |
|
-- THE CHECK IS TO CONVERT THE VALUE TO A PACKED BOOLEAN ARRAY WITH A |
-- LENGTH CORRESPONDING TO THE 'SIZE OF THE TYPE, AND THEN CONVERT IT |
-- BACK AGAIN AND CHECK THAT THE SAME VALUE IS OBTAINED. THE |
-- CONVERSIONS ARE PERFORMED USING APPROPRIATE INSTANTIATIONS OF |
-- UNCHECKED_CONVERSION. |
|
-- AUTHOR: ROBERT B. K. DEWAR, UNCOPYRIGHTED, PUBLIC DOMAIN USE |
-- AUTHORIZED |
-- DHH 03/27/89 CHANGED REP_CHECK TO LENGTH_CHECK BY ADDING A THIRD |
-- PARAMETER TO GIVE LENGTH EXPECTED AND BY DOING A BIT TO |
-- BIT COPY OF THE UNCHECKED CONVERSION BOOLEAN ARRAY SO |
-- A STRAIGHT COMPARE OF THE TWO VALUES CAN BE DONE. |
|
GENERIC |
|
TYPE TEST_TYPE IS PRIVATE; |
|
PROCEDURE LENGTH_CHECK (TEST_VALUE : TEST_TYPE; |
EXPECTED_LENGTH : INTEGER; |
TYPE_ID : STRING); |
|
WITH UNCHECKED_CONVERSION; |
WITH REPORT; USE REPORT; |
|
PROCEDURE LENGTH_CHECK (TEST_VALUE : TEST_TYPE; |
EXPECTED_LENGTH : INTEGER; |
TYPE_ID : STRING) IS |
LEN : CONSTANT INTEGER := EXPECTED_LENGTH; |
TYPE BIT_ARRAY_TYPE IS ARRAY (1 .. LEN) OF BOOLEAN; |
PRAGMA PACK (BIT_ARRAY_TYPE); |
TYPE NEW_BIT_ARRAY_TYPE IS ARRAY (1 .. 3) OF BIT_ARRAY_TYPE; |
|
FUNCTION TO_BITS IS NEW UNCHECKED_CONVERSION (TEST_TYPE, |
BIT_ARRAY_TYPE); |
FUNCTION FROM_BITS IS NEW UNCHECKED_CONVERSION (BIT_ARRAY_TYPE, |
TEST_TYPE); |
|
BIT_ARRAY : BIT_ARRAY_TYPE := (OTHERS => FALSE); |
|
BIT_ARRAY_NEW : NEW_BIT_ARRAY_TYPE := (OTHERS => (OTHERS => FALSE)); |
BEGIN |
|
BIT_ARRAY := TO_BITS (TEST_VALUE); |
|
FOR I IN 1 .. LEN LOOP |
BIT_ARRAY_NEW(IDENT_INT(1)) (IDENT_INT(I)) := BIT_ARRAY(I); |
END LOOP; |
|
IF TEST_VALUE /= FROM_BITS (BIT_ARRAY_NEW(1)) THEN |
FAILED ("CHECK ON REPRESENTATION FOR " & TYPE_ID & " FAILED."); |
END IF; |
|
END LENGTH_CHECK; |
/f392a00.a
0,0 → 1,200
-- F392A00.A |
-- |
-- Grant of Unlimited Rights |
-- |
-- 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 |
-- unlimited rights in the software and documentation contained herein. |
-- Unlimited rights are defined in DFAR 252.227-7013(a)(19). By making |
-- this public release, the Government intends to confer upon all |
-- recipients unlimited rights equal to those held by the Government. |
-- These rights include rights to use, duplicate, release or disclose the |
-- 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 |
-- to do so. |
-- |
-- DISCLAIMER |
-- |
-- ALL MATERIALS OR INFORMATION HEREIN RELEASED, MADE AVAILABLE OR |
-- DISCLOSED ARE AS IS. THE GOVERNMENT MAKES NO EXPRESS OR IMPLIED |
-- WARRANTY AS TO ANY MATTER WHATSOEVER, INCLUDING THE CONDITIONS OF THE |
-- SOFTWARE, DOCUMENTATION OR OTHER INFORMATION RELEASED, MADE AVAILABLE |
-- OR DISCLOSED, OR THE OWNERSHIP, MERCHANTABILITY, OR FITNESS FOR A |
-- PARTICULAR PURPOSE OF SAID MATERIAL. |
--* |
-- |
-- FOUNDATION DESCRIPTION: |
-- This foundation provides a basis for tests needing a hierarchy of |
-- types to check object-oriented features. |
-- |
-- CHANGE HISTORY: |
-- 06 Dec 94 SAIC ACVC 2.0 |
-- |
--! |
|
package F392A00 is -- package Accounts |
|
-- |
-- Types and subtypes. |
-- |
|
type Dollar_Amount is new Float; |
type Interest_Rate is delta 0.001 range 0.000 .. 1.000; |
type Account_Types is (Bank, Savings, Preferred, Total); |
type Account_Counter is array (Account_Types) of Integer; |
type Account_Rep is (President, Manager, New_Account_Manager, Teller); |
|
-- |
-- Constants. |
-- |
|
Opening_Balance : constant Dollar_Amount := 100.00; |
Current_Rate : constant Interest_Rate := 0.030; |
Preferred_Minimum_Balance : constant Dollar_Amount := 1000.00; |
|
-- |
-- Global Variables |
-- |
|
Bank_Reserve : Dollar_Amount := 0.00; |
Daily_Representative : Account_Rep := New_Account_Manager; |
Number_Of_Accounts : Account_Counter := (Bank => 0, |
Savings => 0, |
Preferred => 0, |
Total => 0); |
-- |
-- Account types and their primitive operations. |
-- |
|
-- Root type. |
|
type Bank_Account is tagged |
record |
Balance : Dollar_Amount; |
end record; |
|
-- Primitive operations of Bank_Account. |
|
procedure Increment_Bank_Reserve (Acct : in Bank_Account); |
procedure Assign_Representative (Acct : in Bank_Account); |
procedure Increment_Counters (Acct : in Bank_Account); |
procedure Open (Acct : in out Bank_Account); |
|
-- |
|
type Savings_Account is new Bank_Account with |
record |
Rate : Interest_Rate; |
end record; |
|
-- Procedure Increment_Bank_Reserve inherited from parent (Bank_Account). |
|
-- Primitive operations (Overridden). |
procedure Assign_Representative (Acct : in Savings_Account); |
procedure Increment_Counters (Acct : in Savings_Account); |
procedure Open (Acct : in out Savings_Account); |
|
-- |
|
type Preferred_Account is new Savings_Account with |
record |
Minimum_Balance : Dollar_Amount; |
end record; |
|
-- Procedure Increment_Bank_Reserve inherited twice. |
-- Procedure Assign_Representative inherited from parent (Savings_Account). |
|
-- Primitive operations (Overridden). |
procedure Increment_Counters (Acct : in Preferred_Account); |
procedure Open (Acct : in out Preferred_Account); |
|
-- Function used to verify Open operation for Preferred_Account objects. |
function Verify_Open (Acct : in Preferred_Account) return Boolean; |
|
|
end F392A00; |
|
|
--=================================================================-- |
|
|
package body F392A00 is |
|
-- |
-- Primitive operations for Bank_Account. |
-- |
|
procedure Increment_Bank_Reserve (Acct : in Bank_Account) is |
begin |
Bank_Reserve := Bank_Reserve + Acct.Balance; |
end Increment_Bank_Reserve; |
|
procedure Assign_Representative (Acct : in Bank_Account) is |
begin |
Daily_Representative := Teller; |
end Assign_Representative; |
|
procedure Increment_Counters (Acct : in Bank_Account) is |
begin |
Number_Of_Accounts (Bank) := Number_Of_Accounts (Bank) + 1; |
Number_Of_Accounts (Total) := Number_Of_Accounts (Total) + 1; |
end Increment_Counters; |
|
procedure Open (Acct : in out Bank_Account) is |
begin |
Acct.Balance := Opening_Balance; |
end Open; |
|
|
-- |
-- Overridden operations for Savings_Account type. |
-- |
|
procedure Assign_Representative (Acct : in Savings_Account) is |
begin |
Daily_Representative := Manager; |
end Assign_Representative; |
|
procedure Increment_Counters (Acct : in Savings_Account) is |
begin |
Number_Of_Accounts (Savings) := Number_Of_Accounts (Savings) + 1; |
Number_Of_Accounts (Total) := Number_Of_Accounts (Total) + 1; |
end Increment_Counters; |
|
procedure Open (Acct : in out Savings_Account) is |
begin |
Open (Bank_Account(Acct)); |
Acct.Rate := Current_Rate; |
Acct.Balance := 2.0 * Opening_Balance; |
end Open; |
|
|
-- |
-- Overridden operation for Preferred_Account type. |
-- |
|
procedure Increment_Counters (Acct : in Preferred_Account) is |
begin |
Number_Of_Accounts (Preferred) := Number_Of_Accounts (Preferred) + 1; |
Number_Of_Accounts (Total) := Number_Of_Accounts (Total) + 1; |
end Increment_Counters; |
|
procedure Open (Acct : in out Preferred_Account) is |
begin |
Open (Savings_Account(Acct)); |
Acct.Minimum_Balance := Preferred_Minimum_Balance; |
Acct.Balance := Acct.Minimum_Balance; |
end Open; |
|
-- |
-- Function used to verify Open operation for Preferred_Account objects. |
-- |
|
function Verify_Open (Acct : in Preferred_Account) return Boolean is |
begin |
return (Acct.Balance = Preferred_Minimum_Balance and |
Acct.Rate = Current_Rate and |
Acct.Minimum_Balance = Preferred_Minimum_Balance); |
end Verify_Open; |
|
end F392A00; |
/acats25.lst
0,0 → 1,4308
a22006b.ada |
a22006c.ada |
a22006d.ada |
a26007a.tst |
a27003a.ada |
a29003a.ada |
a2a031a.ada |
a33003a.ada |
a34017c.ada |
a35101b.ada |
a35402a.ada |
a35801f.ada |
a35902c.ada |
a38106d.ada |
a38106e.ada |
a49027a.ada |
a49027b.ada |
a49027c.ada |
a54b01a.ada |
a54b02a.ada |
a55b12a.ada |
a55b13a.ada |
a55b14a.ada |
a71004a.ada |
a73001i.ada |
a73001j.ada |
a74105b.ada |
a74106a.ada |
a74106b.ada |
a74106c.ada |
a74205e.ada |
a74205f.ada |
a83009a.ada |
a83009b.ada |
a83a02a.ada |
a83a02b.ada |
a83a06a.ada |
a83a08a.ada |
a83c01c.ada |
a83c01h.ada |
a83c01i.ada |
a85007d.ada |
a85013b.ada |
a87b59a.ada |
a95001c.ada |
a95074d.ada |
a97106a.ada |
a99006a.ada |
aa2010a.ada |
aa2012a.ada |
acats25.lst |
ac1015b.ada |
ac3106a.ada |
ac3206a.ada |
ac3207a.ada |
ad7001b.ada |
ad7001c0.ada |
ad7001c1.ada |
ad7001d0.ada |
ad7001d1.ada |
ad7006a.ada |
ad7101a.ada |
ad7101c.ada |
ad7102a.ada |
ad7103a.ada |
ad7103c.ada |
ad7104a.ada |
ad7201a.ada |
ad7203b.ada |
ad7205b.ada |
ad8011a.tst |
ada101a.ada |
ae2113a.ada |
ae2113b.ada |
ae3002g.ada |
ae3101a.ada |
ae3702a.ada |
ae3709a.ada |
b22001a.tst |
b22001b.tst |
b22001c.tst |
b22001d.tst |
b22001e.tst |
b22001f.tst |
b22001g.tst |
b22001h.ada |
b22001i.tst |
b22001j.tst |
b22001k.tst |
b22001l.tst |
b22001m.tst |
b22001n.tst |
b23002a.ada |
b23004a.ada |
b23004b.ada |
b24001a.ada |
b24001b.ada |
b24001c.ada |
b24005a.ada |
b24005b.ada |
b24007a.ada |
b24009a.ada |
b24009b.ada |
b24104a.ada |
b24204a.ada |
b24204b.ada |
b24204c.ada |
b24204d.ada |
b24204e.ada |
b24204f.ada |
b24205a.ada |
b24206a.ada |
b24206b.ada |
b24211b.ada |
b25002a.ada |
b25002b.ada |
b26001a.ada |
b26002a.ada |
b26005a.ada |
b28001a.ada |
b28001b.ada |
b28001c.ada |
b28001d.ada |
b28001e.ada |
b28001f.ada |
b28001g.ada |
b28001h.ada |
b28001i.ada |
b28001j.ada |
b28001k.ada |
b28001l.ada |
b28001m.ada |
b28001n.ada |
b28001o.ada |
b28001p.ada |
b28001q.ada |
b28001r.ada |
b28001s.ada |
b28001t.ada |
b28001u.ada |
b28001v.ada |
b28001w.ada |
b29001a.ada |
b2a003a.ada |
b2a003b.ada |
b2a003c.ada |
b2a003d.ada |
b2a003e.ada |
b2a003f.ada |
b2a005a.ada |
b2a005b.ada |
b2a007a.ada |
b2a010a.ada |
b2a021a.ada |
b32101a.ada |
b32103a.ada |
b32104a.ada |
b32106a.ada |
b32201a.ada |
b32202a.ada |
b32202b.ada |
b32202c.ada |
b330001.a |
b33001a.ada |
b33101a.ada |
b33102a.ada |
b33102b.ada |
b33102c.ada |
b33102d.ada |
b33102e.ada |
b33201a.ada |
b33201b.ada |
b33201c.ada |
b33201d.ada |
b33201e.ada |
b33204a.ada |
b33205a.ada |
b33302a.ada |
b34001b.ada |
b34001e.ada |
b34002b.ada |
b34003b.ada |
b34004b.ada |
b34005b.ada |
b34005e.ada |
b34005h.ada |
b34005k.ada |
b34005n.ada |
b34005q.ada |
b34005t.ada |
b34006b.ada |
b34006e.ada |
b34006h.ada |
b34006k.ada |
b34007b.ada |
b34007e.ada |
b34007h.ada |
b34007k.ada |
b34007n.ada |
b34007q.ada |
b34007t.ada |
b34008b.ada |
b34009b.ada |
b34009e.ada |
b34009h.ada |
b34009k.ada |
b34011a.ada |
b34014b.ada |
b34014d.ada |
b34014f.ada |
b34014i.ada |
b34014m.ada |
b34014o.ada |
b34014q.ada |
b34014s.ada |
b34014v.ada |
b34014z.ada |
b35004a.ada |
b35101a.ada |
b35103a.ada |
b35103b.ada |
b35302a.ada |
b354001.a |
b35401a.ada |
b35401b.ada |
b35403a.ada |
b35501a.ada |
b35501b.ada |
b35506a.ada |
b35506b.ada |
b35506c.ada |
b35506d.ada |
b35701a.ada |
b35709a.ada |
b35901a.ada |
b35901c.ada |
b35901d.ada |
b35a01a.ada |
b35a08a.ada |
b360001.a |
b36001a.ada |
b36002a.ada |
b36101a.ada |
b36102a.ada |
b36103a.ada |
b36105c.dep |
b36171a.ada |
b36171b.ada |
b36171c.ada |
b36171d.ada |
b36171e.ada |
b36171f.ada |
b36171g.ada |
b36171h.ada |
b36171i.ada |
b36201a.ada |
b36307a.ada |
b370001.a |
b370002.a |
b37004a.ada |
b37004b.ada |
b37004c.ada |
b37004d.ada |
b37004e.ada |
b37004f.ada |
b37004g.ada |
b3710010.a |
b3710011.a |
b3710012.a |
b3710013.a |
b3710014.am |
b37101a.ada |
b37102a.ada |
b37104a.ada |
b37106a.ada |
b37201a.ada |
b37201b.ada |
b37203a.ada |
b37301i.ada |
b37301j.ada |
b37302a.ada |
b37303a.ada |
b37309b.ada |
b37310b.ada |
b37311a.ada |
b37401a.ada |
b37409b.ada |
b380001.a |
b38003a.ada |
b38003b.ada |
b38003c.ada |
b38003d.ada |
b38008a.ada |
b38008b.ada |
b38009a.ada |
b38009d.ada |
b38101a.ada |
b38101b.ada |
b38101c.ada |
b38103a.ada |
b38103b.ada |
b38103c0.ada |
b38103c1.ada |
b38103c2.ada |
b38103c3.ada |
b38103d.ada |
b38103e0.ada |
b38103e1.ada |
b38105a.ada |
b38105b.ada |
b38203a.ada |
b390001.a |
b391001.a |
b391002.a |
b391003.a |
b391004.a |
b392001.a |
b392002.a |
b392003.a |
b392004.a |
b392005.a |
b392006.a |
b392007.a |
b392008.a |
b392009.a |
b392010.a |
b392011.a |
b393001.a |
b393002.a |
b393003.a |
b393004.a |
b393005.a |
b393006.a |
b393007.a |
b3a0001.a |
b3a0002.a |
b3a0003.a |
b3a0004.a |
b3a2002.a |
b3a2003.a |
b3a2004.a |
b3a2005.a |
b3a2006.a |
b3a2007.a |
b3a2008.a |
b3a2009.a |
b3a2010.a |
b3a2011.a |
b3a2012.a |
b3a2013.a |
b3a2014.a |
b3a2015.a |
b3a2016.a |
b41101a.ada |
b41101c.ada |
b41201a.ada |
b41201c.ada |
b41202c.ada |
b41202d.ada |
b41324b.ada |
b41325b.ada |
b41327b.ada |
b420001.a |
b430001.a |
b43001m.ada |
b43002d.ada |
b43002e.ada |
b43002f.ada |
b43002g.ada |
b43002h.ada |
b43002i.ada |
b43002j.ada |
b43002k.ada |
b43005a.ada |
b43005b.ada |
b43005f.ada |
b43101a.ada |
b43102a.ada |
b43102b.ada |
b43105c.ada |
b43201a.ada |
b43201c.ada |
b43201d.ada |
b43202a.ada |
b43202c.ada |
b43209b.ada |
b43221a.ada |
b43221b.ada |
b43223a.ada |
b44001a.ada |
b44001b.ada |
b44002b.ada |
b44002c.ada |
b44004a.ada |
b44004b.ada |
b44004c.ada |
b44004d.ada |
b44004e.ada |
b45102a.ada |
b45116a.ada |
b45121a.ada |
b45204a.ada |
b45205a.ada |
b45206c.ada |
b45207a.ada |
b45207b.ada |
b45207c.ada |
b45207d.ada |
b45207g.ada |
b45207h.ada |
b45207i.ada |
b45207j.ada |
b45207m.ada |
b45207n.ada |
b45207o.ada |
b45207p.ada |
b45207s.ada |
b45207t.ada |
b45207u.ada |
b45207v.ada |
b45208a.ada |
b45208b.ada |
b45208c.ada |
b45208g.ada |
b45208h.ada |
b45208i.ada |
b45208m.ada |
b45208n.ada |
b45208s.ada |
b45208t.ada |
b45209a.ada |
b45209b.ada |
b45209c.ada |
b45209d.ada |
b45209e.ada |
b45209f.ada |
b45209g.ada |
b45209h.ada |
b45209i.ada |
b45209j.ada |
b45209k.ada |
b45221a.ada |
b45261a.ada |
b45261b.ada |
b45261c.ada |
b45261d.ada |
b45301a.ada |
b45301b.ada |
b45301c.ada |
b45302a.ada |
b45341a.ada |
b455002.a |
b45501a.ada |
b45501b.ada |
b45501c.ada |
b45522a.ada |
b45537a.ada |
b45601a.ada |
b45625a.ada |
b45661a.ada |
b460001.a |
b460002.a |
b460004.a |
b460005.a |
b46002a.ada |
b46003a.ada |
b46004a.ada |
b46004b.ada |
b46004c.ada |
b46004d.ada |
b46004e.ada |
b46005a.ada |
b47001a.ada |
b480001.a |
b48001a.ada |
b48001b.ada |
b48002a.ada |
b48002b.ada |
b48002c.ada |
b48002d.ada |
b48002e.ada |
b48002g.ada |
b48003a.ada |
b48003b.ada |
b48003c.ada |
b48003d.ada |
b48003e.ada |
b490001.a |
b490002.a |
b49002a.ada |
b49004a.ada |
b49005a.ada |
b49007a.ada |
b49007b.ada |
b49008a.ada |
b49008c.ada |
b49009b.ada |
b49009c.ada |
b49010a.ada |
b49011a.ada |
b4a010c.ada |
b4a016a.ada |
b51001a.ada |
b51004b.ada |
b51004c.ada |
b52002a.ada |
b52002b.ada |
b52002c.ada |
b52002d.ada |
b52002e.ada |
b52002f.ada |
b52002g.ada |
b52004a.ada |
b52004b.ada |
b52004c.ada |
b52004d.dep |
b52004e.dep |
b53001a.ada |
b53001b.ada |
b53002a.ada |
b53002b.ada |
b53009a.ada |
b53009b.ada |
b53009c.ada |
b54a01b.ada |
b54a01f.ada |
b54a01g.ada |
b54a01l.ada |
b54a05a.ada |
b54a05b.ada |
b54a10a.ada |
b54a12a.ada |
b54a20a.ada |
b54a21a.ada |
b54a25a.ada |
b54a60a.ada |
b54a60b.ada |
b54b01b.tst |
b54b01c.ada |
b54b02b.ada |
b54b02c.ada |
b54b02d.ada |
b54b04a.ada |
b54b04b.ada |
b54b05a.ada |
b54b06a.ada |
b55a01a.ada |
b55a01d.ada |
b55a01e.ada |
b55a01j.ada |
b55a01k.ada |
b55a01l.ada |
b55a01n.ada |
b55a01o.ada |
b55a01t.ada |
b55a01u.ada |
b55a01v.ada |
b55b01a.ada |
b55b01b.ada |
b55b09b.ada |
b55b09c.dep |
b55b09d.dep |
b55b12b.ada |
b55b12c.ada |
b55b17a.ada |
b55b17b.ada |
b55b17c.ada |
b55b18a.ada |
b56001a.ada |
b56001d.ada |
b56001e.ada |
b56001f.ada |
b56001g.ada |
b56001h.ada |
b57001a.ada |
b57001b.ada |
b57001c.ada |
b57001d.ada |
b58001a.ada |
b58002a.ada |
b58002b.ada |
b58002c.ada |
b58003a.ada |
b58003b.ada |
b59001a.ada |
b59001c.ada |
b59001d.ada |
b59001e.ada |
b59001f.ada |
b59001g.ada |
b59001h.ada |
b59001i.ada |
b610001.a |
b61001f.ada |
b61005a.ada |
b61006a.ada |
b61011a.ada |
b62001a.ada |
b62001b.ada |
b62001c.ada |
b62001d.ada |
b63001a.ada |
b63001b.ada |
b63005a.ada |
b63005b.ada |
b63006a.ada |
b63009a.ada |
b63009b.ada |
b63009c0.ada |
b63009c1.ada |
b63009c2.ada |
b63009c3.ada |
b63103a.ada |
b64002a.ada |
b64002c.ada |
b64003a.ada |
b64004a.ada |
b64004b.ada |
b64004c.ada |
b64004d.ada |
b64004e.ada |
b64004f.ada |
b641001.a |
b64101a.ada |
b64201a.ada |
b65001a.ada |
b65002a.ada |
b65002b.ada |
b660001.a |
b660002.a |
b66001a.ada |
b66001b.ada |
b66001c.ada |
b66001d.ada |
b67001a.ada |
b67001b.ada |
b67001c.ada |
b67001d.ada |
b67001h.ada |
b67001i.ada |
b67001j.ada |
b67001k.ada |
b67004a.ada |
b71001a.ada |
b71001b.ada |
b71001c.ada |
b71001d.ada |
b71001f.ada |
b71001g.ada |
b71001h.ada |
b71001i.ada |
b71001j.ada |
b71001l.ada |
b71001m.ada |
b71001n.ada |
b71001o.ada |
b71001p.ada |
b71001r.ada |
b71001t.ada |
b71001u.ada |
b71001v.ada |
b7200010.a |
b7200011.a |
b7200012.a |
b7200013.a |
b7200014.a |
b7200015.a |
b7200016.a |
b730001.a |
b730002.a |
b730003.a |
b730004.a |
b730005.a |
b7300060.a |
b7300061.a |
b7300062.a |
b7300063.am |
b73001a.ada |
b73001b.ada |
b73001c.ada |
b73001d.ada |
b73001e.ada |
b73001f.ada |
b73001g.ada |
b73001h.ada |
b73004a.ada |
b73004b0.ada |
b73004b1.ada |
b73004b2.ada |
b7310010.a |
b7310011.a |
b7310012.a |
b7310013.a |
b7310014.a |
b7310015.a |
b7310016.am |
b731a01.a |
b731a02.a |
b740001.a |
b74001a.ada |
b74001b.ada |
b74101a.ada |
b74101b.ada |
b74103a.ada |
b74103d.ada |
b74103e.ada |
b74103g.ada |
b74103i.ada |
b74104a.ada |
b74105a.ada |
b74105c.ada |
b74201a.ada |
b74202a.ada |
b74202b.ada |
b74202c.ada |
b74202d.ada |
b74203b.ada |
b74203c.ada |
b74203d.ada |
b74203e.ada |
b74205a.ada |
b74207a.ada |
b74304a.ada |
b74304b.ada |
b74304c.ada |
b74404a.ada |
b74404b.ada |
b74409a.ada |
b810001.a |
b830001.a |
b8300020.a |
b8300021.a |
b8300022.a |
b8300023.a |
b8300024.a |
b8300025.am |
b83001a.ada |
b83003a.ada |
b83003b0.ada |
b83003b1.ada |
b83003b2.ada |
b83003b3.ada |
b83003b4.ada |
b83003c.ada |
b83004a.ada |
b83004b0.ada |
b83004b1.ada |
b83004b2.ada |
b83004b3.ada |
b83004c0.ada |
b83004c1.ada |
b83004c2.ada |
b83004d0.ada |
b83004d1.ada |
b83004d2.ada |
b83004d3.ada |
b83006a.ada |
b83006b.ada |
b83008a.ada |
b83008b.ada |
b83011a.ada |
b83023b.ada |
b83024b.ada |
b83024f0.ada |
b83024f1.ada |
b83024f2.ada |
b83024f3.ada |
b83026b.ada |
b83027b.ada |
b83027d.ada |
b83028b.ada |
b83029b.ada |
b83030b.ada |
b83030d.ada |
b83031b.ada |
b83031d.ada |
b83031f.ada |
b83032b.ada |
b83033b.ada |
b83041e.ada |
b83a01a.ada |
b83a01b.ada |
b83a01c.ada |
b83a05a.ada |
b83a06b.ada |
b83a06h.ada |
b83a07a.ada |
b83a07b.ada |
b83a07c.ada |
b83a08b.ada |
b83a09a.ada |
b83b01a.ada |
b83b02c.ada |
b83e01a.ada |
b83e01b.ada |
b83e01c.ada |
b83e01d.ada |
b83e01e0.ada |
b83e01e1.ada |
b83e01e2.ada |
b83e01e3.ada |
b83e01f0.ada |
b83e01f1.ada |
b83e01f2.ada |
b83e01f3.ada |
b83e01f4.ada |
b83e01f5.ada |
b83e01f6.ada |
b83e11a.ada |
b83f02a.ada |
b83f02b.ada |
b83f02c.ada |
b840001.a |
b84001a.ada |
b84002b.ada |
b84004a.ada |
b84005b.ada |
b84006a.ada |
b84007a.ada |
b84008b.ada |
b85001a.ada |
b85001b.ada |
b85001c.ada |
b85001d.ada |
b85001e.ada |
b85001f.ada |
b85001g.ada |
b85001h.ada |
b85001i.ada |
b85001j.ada |
b85001k.ada |
b85001l.ada |
b85002a.ada |
b85003a.ada |
b85003b.ada |
b85004a.ada |
b85008f.ada |
b85008g.ada |
b85008h.ada |
b85010a.ada |
b85010b.ada |
b85012a.ada |
b85013c.ada |
b85013d.ada |
b85015a.ada |
b8510010.a |
b8510011.a |
b8510012.am |
b86001a0.ada |
b86001a1.ada |
b87b23b.ada |
b87b26a.ada |
b87b48c.ada |
b91001b.ada |
b91001c.ada |
b91001d.ada |
b91001e.ada |
b91001f.ada |
b91001g.ada |
b91002a.ada |
b91002b.ada |
b91002c.ada |
b91002d.ada |
b91002e.ada |
b91002f.ada |
b91002g.ada |
b91002h.ada |
b91002i.ada |
b91002j.ada |
b91002k.ada |
b91002l.ada |
b91003a.ada |
b91003b.ada |
b91003c.ada |
b91003d.ada |
b91003e.ada |
b91004a.ada |
b91005a.ada |
b92001a.ada |
b92001b.ada |
b940001.a |
b940002.a |
b940003.a |
b940004.a |
b940005.a |
b940006.a |
b940007.a |
b95001a.ada |
b95001b.ada |
b95001d.ada |
b95002a.ada |
b95003a.ada |
b95004a.ada |
b95004b.ada |
b95006a.ada |
b95006b.ada |
b95006c.ada |
b95006d.ada |
b95007a.ada |
b95007b.ada |
b95020a.ada |
b95020b0.ada |
b95020b1.ada |
b95020b2.ada |
b95030a.ada |
b95031a.ada |
b95032a.ada |
b95061a.ada |
b95061b.ada |
b95061c.ada |
b95061d.ada |
b95061e.ada |
b95061f.ada |
b95061g.ada |
b95062a.ada |
b95063a.ada |
b95064a.ada |
b95068a.ada |
b95070a.ada |
b95080a.ada |
b95080c.ada |
b95081a.ada |
b95082a.ada |
b95082b.ada |
b95082c.ada |
b95082d.ada |
b95082e.ada |
b95082f.ada |
b95083a.ada |
b95094a.ada |
b95094b.ada |
b95094c.ada |
b951001.a |
b952001.a |
b952002.a |
b952003.a |
b952004.a |
b954001.a |
b954003.a |
b954004.a |
b960001.a |
b96002a.ada |
b97102b.ada |
b97102c.ada |
b97102d.ada |
b97102f.ada |
b97102g.ada |
b97102h.ada |
b97102i.ada |
b97103a.ada |
b97103b.ada |
b97103d.ada |
b97103e.ada |
b97103f.ada |
b97103g.ada |
b97104a.ada |
b97104b.ada |
b97104c.ada |
b97104d.ada |
b97104e.ada |
b97104f.ada |
b97104g.ada |
b97107a.ada |
b97108a.ada |
b97108b.ada |
b97109a.ada |
b97110a.ada |
b97110b.ada |
b97111a.ada |
b97206a.ada |
b97306a.ada |
b99001a.ada |
b99001b.ada |
b99002a.ada |
b99002b.ada |
b99002c.ada |
b99003a.ada |
b9a001a.ada |
b9a001b.ada |
ba1001a0.ada |
ba1001a1.ada |
ba1001a4.ada |
ba1001ac.ada |
ba1001d.ada |
ba1010a0.ada |
ba1010a1.ada |
ba1010a2.ada |
ba1010a3.ada |
ba1010b0.ada |
ba1010b1.ada |
ba1010b2.ada |
ba1010b4.ada |
ba1010b5.ada |
ba1010b6.ada |
ba1010b7.ada |
ba1010b8.ada |
ba1010c0.ada |
ba1010c1.ada |
ba1010c2.ada |
ba1010c3.ada |
ba1010c4.ada |
ba1010c5.ada |
ba1010c6.ada |
ba1010d0.ada |
ba1010d1.ada |
ba1010d2.ada |
ba1010d3.ada |
ba1010e0.ada |
ba1010e1.ada |
ba1010e2.ada |
ba1010e3.ada |
ba1010e4.ada |
ba1010e5.ada |
ba1010e6.ada |
ba1010f0.ada |
ba1010f1.ada |
ba1010f3.ada |
ba1010f4.ada |
ba1010f5.ada |
ba1010f6.ada |
ba1010f7.ada |
ba1010f8.ada |
ba1010g0.ada |
ba1010g2.ada |
ba1010g3.ada |
ba1010g4.ada |
ba1010g5.ada |
ba1010h0.ada |
ba1010h2.ada |
ba1010i0.ada |
ba1010i1.ada |
ba1010i3.ada |
ba1010i4.ada |
ba1010j0.ada |
ba1010j1.ada |
ba1010j2.ada |
ba1010j4.ada |
ba1010j5.ada |
ba1010j6.ada |
ba1010j7.ada |
ba1010j8.ada |
ba1010k0.ada |
ba1010k1.ada |
ba1010k2.ada |
ba1010k3.ada |
ba1010k4.ada |
ba1010k5.ada |
ba1010k6.ada |
ba1010l0.ada |
ba1010l1.ada |
ba1010l2.ada |
ba1010l3.ada |
ba1010l4.ada |
ba1010l5.ada |
ba1010l6.ada |
ba1010m0.ada |
ba1010m1.ada |
ba1010m3.ada |
ba1010m4.ada |
ba1010m5.ada |
ba1010m6.ada |
ba1010m7.ada |
ba1010m8.ada |
ba1010n0.ada |
ba1010n2.ada |
ba1010n3.ada |
ba1010n4.ada |
ba1010n5.ada |
ba1010p0.ada |
ba1010p2.ada |
ba1010q0.ada |
ba1010q1.ada |
ba1010q3.ada |
ba1010q4.ada |
ba1011b0.ada |
ba1011b1.ada |
ba1011b2.ada |
ba1011b3.ada |
ba1011b4.ada |
ba1011b5.ada |
ba1011b6.ada |
ba1011b7.ada |
ba1011b8.ada |
ba1011c0.ada |
ba1011c1.ada |
ba1011c2.ada |
ba1011c3.ada |
ba1011c4.ada |
ba1011c5.ada |
ba1011c6.ada |
ba1011c7.ada |
ba1011c8.ada |
ba1020a0.ada |
ba1020a1.ada |
ba1020a2.ada |
ba1020a3.ada |
ba1020a4.ada |
ba1020a5.ada |
ba1020a6.ada |
ba1020a7.ada |
ba1020a8.ada |
ba1020b0.ada |
ba1020b1.ada |
ba1020b2.ada |
ba1020b3.ada |
ba1020b4.ada |
ba1020b5.ada |
ba1020b6.ada |
ba1020c0.ada |
ba1020c1.ada |
ba1020c2.ada |
ba1020c3.ada |
ba1020c4.ada |
ba1020c5.ada |
ba1020f0.ada |
ba1020f1.ada |
ba1020f2.ada |
ba11001.a |
ba11002.a |
ba11003.a |
ba11004.a |
ba11005.a |
ba11007.a |
ba11008.a |
ba11009.a |
ba11010.a |
ba11011.a |
ba11012.a |
ba1101a.ada |
ba1101b0.ada |
ba1101b1.ada |
ba1101b2.ada |
ba1101b3.ada |
ba1101b4.ada |
ba1101c0.ada |
ba1101c1.ada |
ba1101c2.ada |
ba1101c3.ada |
ba1101c4.ada |
ba1101c5.ada |
ba1101c6.ada |
ba1101e0.ada |
ba1101e1.ada |
ba1101f.ada |
ba1101g.ada |
ba1109a0.ada |
ba1109a1.ada |
ba1109a2.ada |
ba1110a0.ada |
ba1110a1.ada |
ba1110a2.ada |
ba1110a3.ada |
ba1110a4.ada |
ba1110a5.ada |
ba12001.a |
ba12002.a |
ba12003.a |
ba12004.a |
ba12005.a |
ba12007.a |
ba12008.a |
ba13b01.a |
ba13b02.a |
ba15001.a |
ba150020.a |
ba150021.a |
ba150022.a |
ba150023.a |
ba150024.a |
ba150025.a |
ba150026.a |
ba150027.a |
ba150028.a |
ba150029.am |
ba2001a.ada |
ba2001b.ada |
ba2001c.ada |
ba2001d.ada |
ba2001f0.ada |
ba2001f1.ada |
ba2001f2.ada |
ba2003b0.ada |
ba2003b1.ada |
ba2011a0.ada |
ba2011a1.ada |
ba2011a2.ada |
ba2011a3.ada |
ba2011a4.ada |
ba2011a5.ada |
ba2011a6.ada |
ba2011a7.ada |
ba2011a8.ada |
ba2011a9.ada |
ba2013a.ada |
ba2013b.ada |
ba21001.a |
ba21002.a |
ba210030.a |
ba210031.a |
ba210032.a |
ba210033.a |
ba210034.a |
ba210035.a |
ba210040.a |
ba210041.a |
ba210042.a |
ba210043.a |
ba210044.a |
ba210045.am |
ba21a01.a |
ba21a02.a |
ba3001a0.ada |
ba3001a1.ada |
ba3001a2.ada |
ba3001a3.ada |
ba3001b0.ada |
ba3001b1.ada |
ba3001c0.ada |
ba3001c1.ada |
ba3001e0.ada |
ba3001e1.ada |
ba3001e2.ada |
ba3001e3.ada |
ba3001f0.ada |
ba3001f1.ada |
ba3001f2.ada |
ba3001f3.ada |
ba3006a0.ada |
ba3006a1.ada |
ba3006a2.ada |
ba3006a3.ada |
ba3006a4.ada |
ba3006a5.ada |
ba3006a6.ada |
ba3006b0.ada |
ba3006b1.ada |
ba3006b2.ada |
ba3006b3.ada |
ba3006b4.ada |
bb10001.a |
bb20001.a |
bb2001a.ada |
bb2002a.ada |
bb2003a.ada |
bb2003b.ada |
bb2003c.ada |
bb3001a.ada |
bb3002a.ada |
bc1001a.ada |
bc1002a.ada |
bc1005a.ada |
bc1008a.ada |
bc1008b.ada |
bc1008c.ada |
bc1009a.ada |
bc1011a.ada |
bc1011b.ada |
bc1011c.ada |
bc1012a.ada |
bc1013a.ada |
bc1014a.ada |
bc1014b.ada |
bc1016a.ada |
bc1016b.ada |
bc1101a.ada |
bc1102a.ada |
bc1103a.ada |
bc1106a.ada |
bc1107a.ada |
bc1109a.ada |
bc1109b.ada |
bc1109c.ada |
bc1109d.ada |
bc1110a.ada |
bc1201a.ada |
bc1201b.ada |
bc1201c.ada |
bc1201d.ada |
bc1201e.ada |
bc1201f.ada |
bc1201g.ada |
bc1201h.ada |
bc1201i.ada |
bc1201j.ada |
bc1201k.ada |
bc1201l.ada |
bc1202a.ada |
bc1202c.ada |
bc1202e.ada |
bc1202f.ada |
bc1202g.ada |
bc1203a.ada |
bc1205a.ada |
bc1206a.ada |
bc1207a.ada |
bc1208a.ada |
bc1226a.ada |
bc1230a.ada |
bc1303a.ada |
bc1303b.ada |
bc1303c.ada |
bc1303d.ada |
bc1303e.ada |
bc1303f.ada |
bc1303g.ada |
bc1306a.ada |
bc2001b.ada |
bc2001c.ada |
bc2001d.ada |
bc2001e.ada |
bc2004a.ada |
bc2004b.ada |
bc30001.a |
bc3001a.ada |
bc3002a.ada |
bc3002b.ada |
bc3002c.ada |
bc3002d.ada |
bc3002e.ada |
bc3005a.ada |
bc3005b.ada |
bc3005c.ada |
bc3006a.ada |
bc3009c.ada |
bc3011b.ada |
bc3013a.ada |
bc3016g.ada |
bc3018a.ada |
bc3101a.ada |
bc3101b.ada |
bc3102a.ada |
bc3102b.ada |
bc3103b.ada |
bc3123c.ada |
bc3201a.ada |
bc3201b.ada |
bc3201c.ada |
bc3202a.ada |
bc3202b.ada |
bc3202c.ada |
bc3202d.ada |
bc3205c.ada |
bc3301a.ada |
bc3301b.ada |
bc3302a.ada |
bc3302b.ada |
bc3303a.ada |
bc3304a.ada |
bc3401a.ada |
bc3401b.ada |
bc3402a.ada |
bc3402b.ada |
bc3403a.ada |
bc3403b.ada |
bc3403c.ada |
bc3404a.ada |
bc3404b.ada |
bc3404c.ada |
bc3404d.ada |
bc3404e.ada |
bc3404f.ada |
bc3405a.ada |
bc3405b.ada |
bc3405d.ada |
bc3405e.ada |
bc3405f.ada |
bc3501a.ada |
bc3501b.ada |
bc3501c.ada |
bc3501d.ada |
bc3501e.ada |
bc3501f.ada |
bc3501g.ada |
bc3501h.ada |
bc3501i.ada |
bc3501j.ada |
bc3501k.ada |
bc3502a.ada |
bc3502b.ada |
bc3502c.ada |
bc3502d.ada |
bc3502e.ada |
bc3502f.ada |
bc3502g.ada |
bc3502h.ada |
bc3502i.ada |
bc3502j.ada |
bc3502k.ada |
bc3502l.ada |
bc3502m.ada |
bc3502n.ada |
bc3502o.ada |
bc3503a.ada |
bc3503c.ada |
bc3503d.ada |
bc3503e.ada |
bc3503f.ada |
bc3604a.ada |
bc3604b.ada |
bc3607a.ada |
bc40001.a |
bc40002.a |
bc50001.a |
bc50002.a |
bc50003.a |
bc50004.a |
bc51002.a |
bc51003.a |
bc51004.a |
bc51005.a |
bc51006.a |
bc51007.a |
bc51011.a |
bc51012.a |
bc51013.a |
bc51015.a |
bc51016.a |
bc51017.a |
bc51018.a |
bc51019.a |
bc51020.a |
bc51b01.a |
bc51b02.a |
bc51c01.a |
bc51c02.a |
bc53001.a |
bc53002.a |
bc54001.a |
bc54002.a |
bc54003.a |
bc54a01.a |
bc54a02.a |
bc54a03.a |
bc54a04.a |
bc54a05.a |
bc54a06.a |
bc70001.a |
bc70002.a |
bc70003.a |
bc70004.a |
bc70005.a |
bc70006.a |
bc70007.a |
bc70008.a |
bc70009.a |
bc70010.a |
bd1b01a.ada |
bd1b02b.ada |
bd1b03c.ada |
bd1b05e.ada |
bd1b06j.ada |
bd2001b.ada |
bd2a01h.ada |
bd2a02a.tst |
bd2a03a.ada |
bd2a03b.ada |
bd2a06a.ada |
bd2a25a.ada |
bd2a35a.ada |
bd2a45a.ada |
bd2a55a.ada |
bd2a55b.ada |
bd2a67a.ada |
bd2a77a.ada |
bd2a85a.ada |
bd2a85b.ada |
bd2b01c.ada |
bd2b02a.ada |
bd2b03a.ada |
bd2b03b.ada |
bd2b03c.ada |
bd2c01d.tst |
bd2c02a.tst |
bd2c03a.tst |
bd2d01c.ada |
bd2d01d.ada |
bd2d02a.ada |
bd2d03a.ada |
bd2d03b.ada |
bd3001a.ada |
bd3001b.ada |
bd3001c.ada |
bd3002a.ada |
bd3003a.ada |
bd3003b.ada |
bd3012a.ada |
bd3013a.ada |
bd4001a.ada |
bd4002a.ada |
bd4003a.ada |
bd4003b.ada |
bd4003c.ada |
bd4006a.tst |
bd4007a.ada |
bd4009a.ada |
bd4011a.ada |
bd5001a.ada |
bd5005a.ada |
bd5005d.ada |
bd5102a.ada |
bd5102b.ada |
bd5103a.ada |
bd5104a.ada |
bd7001a.ada |
bd7101h.ada |
bd7201c.ada |
bd7203a.ada |
bd7204a.ada |
bd7205a.ada |
bd7301a.ada |
bd7302a.ada |
bd8001a.tst |
bd8002a.tst |
bd8003a.tst |
bd8004a.tst |
bd8004b.tst |
bd8004c.tst |
bdb0a01.a |
bdd2001.a |
bde0001.a |
bde0002.a |
bde0003.a |
bde0004.a |
bde0005.a |
bde0006.a |
bde0007.a |
bde0008.a |
be2101e.ada |
be2101j.ada |
be2114a.ada |
be2116a.ada |
be2208a.ada |
be3002a.ada |
be3002e.ada |
be3205a.ada |
be3301c.ada |
be3606c.ada |
be3703a.ada |
be3802a.ada |
be3803a.ada |
be3902a.ada |
be3903a.ada |
bxa8001.a |
bxac001.a |
bxac002.a |
bxac003.a |
bxac004.a |
bxac005.a |
bxc3001.a |
bxc3002.a |
bxc5001.a |
bxc6001.a |
bxc6002.a |
bxc6003.a |
bxc6a01.a |
bxc6a02.a |
bxc6a03.a |
bxc6a04.a |
bxd1001.a |
bxd1002.a |
bxe2007.a |
bxe2008.a |
bxe2009.a |
bxe2010.a |
bxe2011.a |
bxe2012.a |
bxe2013.a |
bxe2a01.a |
bxe2a02.a |
bxe2a03.a |
bxe2a04.a |
bxe2a05.a |
bxe2a06.a |
bxe4001.a |
bxf1001.a |
bxh4001.a |
bxh4002.a |
bxh4003.a |
bxh4004.a |
bxh4005.a |
bxh4006.a |
bxh4007.a |
bxh4008.a |
bxh4009.a |
bxh4010.a |
bxh4011.a |
bxh4012.a |
bxh4013.a |
c23001a.ada |
c23003a.tst |
c23003b.tst |
c23003g.tst |
c23003i.tst |
c23006a.ada |
c23006b.ada |
c23006c.ada |
c23006d.ada |
c23006e.ada |
c23006f.ada |
c23006g.ada |
c24002d.ada |
c24003a.ada |
c24003b.ada |
c24003c.ada |
c24106a.ada |
c24202d.ada |
c24203a.ada |
c24203b.ada |
c24207a.ada |
c24211a.ada |
c250001.aw |
c250002.aw |
c25001a.ada |
c25001b.ada |
c26006a.ada |
c26008a.ada |
c2a001a.ada |
c2a001b.ada |
c2a001c.ada |
c2a002a.ada |
c2a008a.ada |
c2a021b.ada |
c32001a.ada |
c32001b.ada |
c32001c.ada |
c32001d.ada |
c32001e.ada |
c32107a.ada |
c32107c.ada |
c32108a.ada |
c32108b.ada |
c32111a.ada |
c32111b.ada |
c32112b.ada |
c32113a.ada |
c32115a.ada |
c32115b.ada |
c330001.a |
c330002.a |
c332001.a |
c340001.a |
c34001a.ada |
c34001c.ada |
c34001d.ada |
c34001f.ada |
c34002a.ada |
c34002c.ada |
c34003a.ada |
c34003c.ada |
c34004a.ada |
c34004c.ada |
c34005a.ada |
c34005c.ada |
c34005d.ada |
c34005f.ada |
c34005g.ada |
c34005i.ada |
c34005j.ada |
c34005l.ada |
c34005m.ada |
c34005o.ada |
c34005p.ada |
c34005r.ada |
c34005s.ada |
c34005u.ada |
c34005v.ada |
c34006a.ada |
c34006d.ada |
c34006f.ada |
c34006g.ada |
c34006j.ada |
c34006l.ada |
c34007a.ada |
c34007d.ada |
c34007f.ada |
c34007g.ada |
c34007i.ada |
c34007j.ada |
c34007m.ada |
c34007p.ada |
c34007r.ada |
c34007s.ada |
c34007u.ada |
c34007v.ada |
c34008a.ada |
c34009a.ada |
c34009d.ada |
c34009f.ada |
c34009g.ada |
c34009j.ada |
c34009l.ada |
c34011b.ada |
c34012a.ada |
c34014a.ada |
c34014c.ada |
c34014e.ada |
c34014g.ada |
c34014h.ada |
c34014n.ada |
c34014p.ada |
c34014r.ada |
c34014t.ada |
c34014u.ada |
c34018a.ada |
c340a01.a |
c340a02.a |
c341a01.a |
c341a02.a |
c341a03.a |
c341a04.a |
c35003a.ada |
c35003b.ada |
c35003d.ada |
c35102a.ada |
c352001.a |
c354002.a |
c354003.a |
c35502a.ada |
c35502b.ada |
c35502c.ada |
c35502d.tst |
c35502e.ada |
c35502f.tst |
c35502g.ada |
c35502h.ada |
c35502i.ada |
c35502j.ada |
c35502k.ada |
c35502l.ada |
c35502m.ada |
c35502n.ada |
c35502o.ada |
c35502p.ada |
c35503a.ada |
c35503b.ada |
c35503c.ada |
c35503d.tst |
c35503e.ada |
c35503f.tst |
c35503g.ada |
c35503h.ada |
c35503k.ada |
c35503l.ada |
c35503o.ada |
c35503p.ada |
c35504a.ada |
c35504b.ada |
c35505c.ada |
c35505e.ada |
c35505f.ada |
c35507a.ada |
c35507b.ada |
c35507c.ada |
c35507e.ada |
c35507g.ada |
c35507h.ada |
c35507i.ada |
c35507j.ada |
c35507k.ada |
c35507l.ada |
c35507m.ada |
c35507n.ada |
c35507o.ada |
c35507p.ada |
c35508a.ada |
c35508b.ada |
c35508c.ada |
c35508e.ada |
c35508g.ada |
c35508h.ada |
c35508k.ada |
c35508l.ada |
c35508o.ada |
c35508p.ada |
c35703a.ada |
c35704a.ada |
c35704b.ada |
c35704c.ada |
c35704d.ada |
c35801d.ada |
c35902d.ada |
c35904a.ada |
c35904b.ada |
c35a02a.ada |
c35a05a.ada |
c35a05d.ada |
c35a05n.ada |
c35a05q.ada |
c35a07a.ada |
c35a07d.ada |
c35a08b.ada |
c360002.a |
c36104a.ada |
c36104b.ada |
c36172a.ada |
c36172b.ada |
c36172c.ada |
c36174a.ada |
c36180a.ada |
c36202c.ada |
c36203a.ada |
c36204a.ada |
c36204b.ada |
c36204c.ada |
c36204d.ada |
c36205a.ada |
c36205b.ada |
c36205c.ada |
c36205d.ada |
c36205e.ada |
c36205f.ada |
c36205g.ada |
c36205h.ada |
c36205i.ada |
c36205j.ada |
c36205k.ada |
c36205l.ada |
c36301a.ada |
c36301b.ada |
c36302a.ada |
c36304a.ada |
c36305a.ada |
c37002a.ada |
c37003a.ada |
c37003b.ada |
c37005a.ada |
c37006a.ada |
c37008a.ada |
c37008b.ada |
c37009a.ada |
c37010a.ada |
c37010b.ada |
c371001.a |
c371002.a |
c371003.a |
c37102b.ada |
c37103a.ada |
c37105a.ada |
c37107a.ada |
c37108b.ada |
c37206a.ada |
c37207a.ada |
c37208a.ada |
c37208b.ada |
c37209a.ada |
c37209b.ada |
c37210a.ada |
c37211a.ada |
c37211b.ada |
c37211c.ada |
c37211d.ada |
c37211e.ada |
c37213b.ada |
c37213d.ada |
c37213f.ada |
c37213h.ada |
c37213j.ada |
c37213k.ada |
c37213l.ada |
c37215b.ada |
c37215d.ada |
c37215f.ada |
c37215h.ada |
c37217a.ada |
c37217b.ada |
c37217c.ada |
c37304a.ada |
c37305a.ada |
c37306a.ada |
c37309a.ada |
c37310a.ada |
c37312a.ada |
c37402a.ada |
c37403a.ada |
c37404a.ada |
c37404b.ada |
c37405a.ada |
c37411a.ada |
c38002a.ada |
c38002b.ada |
c38005a.ada |
c38005b.ada |
c38005c.ada |
c38006a.ada |
c38102a.ada |
c38102b.ada |
c38102c.ada |
c38102d.ada |
c38102e.ada |
c38104a.ada |
c38107a.ada |
c38107b.ada |
c38108a.ada |
c38108b.ada |
c38108c0.ada |
c38108c1.ada |
c38108c2.ada |
c38108d0.ada |
c38108d1.ada |
c38202a.ada |
c3900010.a |
c3900011.am |
c390002.a |
c390003.a |
c390004.a |
c3900050.a |
c3900051.a |
c3900052.a |
c3900053.am |
c3900060.a |
c3900061.a |
c3900062.a |
c3900063.am |
c390007.a |
c390010.a |
c390011.a |
c39006a.ada |
c39006b.ada |
c39006c0.ada |
c39006c1.ada |
c39006d.ada |
c39006e.ada |
c39006f0.ada |
c39006f1.ada |
c39006f2.ada |
c39006f3.ada |
c39006g.ada |
c39007a.ada |
c39007b.ada |
c39008a.ada |
c39008b.ada |
c39008c.ada |
c390a010.a |
c390a011.am |
c390a020.a |
c390a021.a |
c390a022.am |
c390a030.a |
c390a031.am |
c391001.a |
c391002.a |
c392002.a |
c392003.a |
c392004.a |
c392005.a |
c392008.a |
c392010.a |
c392011.a |
c392013.a |
c392014.a |
c392a01.a |
c392c05.a |
c392c07.a |
c392d01.a |
c392d02.a |
c392d03.a |
c393001.a |
c393007.a |
c393008.a |
c393009.a |
c393010.a |
c393011.a |
c393012.a |
c393a02.a |
c393a03.a |
c393a05.a |
c393a06.a |
c393b12.a |
c393b13.a |
c393b14.a |
c3a0001.a |
c3a0002.a |
c3a0003.a |
c3a0004.a |
c3a0005.a |
c3a0006.a |
c3a0007.a |
c3a0008.a |
c3a0009.a |
c3a0010.a |
c3a0011.a |
c3a00120.a |
c3a00121.a |
c3a00122.am |
c3a0013.a |
c3a0014.a |
c3a0015.a |
c3a1001.a |
c3a1002.a |
c3a2001.a |
c3a2002.a |
c3a2003.a |
c3a2a01.a |
c3a2a02.a |
c410001.a |
c41101d.ada |
c41103a.ada |
c41103b.ada |
c41104a.ada |
c41105a.ada |
c41107a.ada |
c41201d.ada |
c41203a.ada |
c41203b.ada |
c41204a.ada |
c41205a.ada |
c41206a.ada |
c41207a.ada |
c41301a.ada |
c41303a.ada |
c41303b.ada |
c41303c.ada |
c41303e.ada |
c41303f.ada |
c41303g.ada |
c41303i.ada |
c41303j.ada |
c41303k.ada |
c41303m.ada |
c41303n.ada |
c41303o.ada |
c41303q.ada |
c41303r.ada |
c41303s.ada |
c41303u.ada |
c41303v.ada |
c41303w.ada |
c41304a.ada |
c41304b.ada |
c41306a.ada |
c41306b.ada |
c41306c.ada |
c41307d.ada |
c41309a.ada |
c41320a.ada |
c41321a.ada |
c41322a.ada |
c41323a.ada |
c41324a.ada |
c41325a.ada |
c41326a.ada |
c41327a.ada |
c41328a.ada |
c41401a.ada |
c41402a.ada |
c41404a.ada |
c420001.a |
c42006a.ada |
c42007e.ada |
c43003a.ada |
c43004a.ada |
c43004c.ada |
c431001.a |
c43103a.ada |
c43103b.ada |
c43104a.ada |
c43105a.ada |
c43105b.ada |
c43106a.ada |
c43107a.ada |
c43108a.ada |
c432001.a |
c432002.a |
c432003.a |
c432004.a |
c43204a.ada |
c43204c.ada |
c43204e.ada |
c43204f.ada |
c43204g.ada |
c43204h.ada |
c43204i.ada |
c43205a.ada |
c43205b.ada |
c43205c.ada |
c43205d.ada |
c43205e.ada |
c43205g.ada |
c43205h.ada |
c43205i.ada |
c43205j.ada |
c43205k.ada |
c43206a.ada |
c43207b.ada |
c43207d.ada |
c43208a.ada |
c43208b.ada |
c43209a.ada |
c43210a.ada |
c43211a.ada |
c43212a.ada |
c43212c.ada |
c43214a.ada |
c43214b.ada |
c43214c.ada |
c43214d.ada |
c43214e.ada |
c43214f.ada |
c43215a.ada |
c43215b.ada |
c43222a.ada |
c43224a.ada |
c433001.a |
c44003d.ada |
c44003f.ada |
c44003g.ada |
c450001.a |
c45112a.ada |
c45112b.ada |
c45113a.ada |
c45114b.ada |
c452001.a |
c45201a.ada |
c45201b.ada |
c45202b.ada |
c45210a.ada |
c45211a.ada |
c45220a.ada |
c45220b.ada |
c45220c.ada |
c45220d.ada |
c45220e.ada |
c45220f.ada |
c45231a.ada |
c45231b.dep |
c45231c.dep |
c45231d.tst |
c45232b.ada |
c45242b.ada |
c45251a.ada |
c45252a.ada |
c45252b.ada |
c45253a.ada |
c45262a.ada |
c45262b.ada |
c45262c.ada |
c45262d.ada |
c45264a.ada |
c45264b.ada |
c45264c.ada |
c45265a.ada |
c45271a.ada |
c45272a.ada |
c45273a.ada |
c45274a.ada |
c45274b.ada |
c45274c.ada |
c45281a.ada |
c45282a.ada |
c45282b.ada |
c45291a.ada |
c45303a.ada |
c45304a.ada |
c45304b.dep |
c45304c.dep |
c45322a.ada |
c45323a.ada |
c45331a.ada |
c45342a.ada |
c45343a.ada |
c45344a.ada |
c45345b.ada |
c45347a.ada |
c45347b.ada |
c45347c.ada |
c45347d.ada |
c45411a.ada |
c45411b.dep |
c45411c.dep |
c45411d.ada |
c45413a.ada |
c45431a.ada |
c455001.a |
c45502b.dep |
c45502c.dep |
c45503a.ada |
c45503b.dep |
c45503c.dep |
c45504a.ada |
c45504b.dep |
c45504c.dep |
c45504d.ada |
c45504e.dep |
c45504f.dep |
c45505a.ada |
c45523a.ada |
c45531a.ada |
c45531b.ada |
c45531c.ada |
c45531d.ada |
c45531e.ada |
c45531f.ada |
c45531g.ada |
c45531h.ada |
c45531i.ada |
c45531j.ada |
c45531k.ada |
c45531l.ada |
c45531m.dep |
c45531n.dep |
c45531o.dep |
c45531p.dep |
c45532a.ada |
c45532b.ada |
c45532c.ada |
c45532d.ada |
c45532e.ada |
c45532f.ada |
c45532g.ada |
c45532h.ada |
c45532i.ada |
c45532j.ada |
c45532k.ada |
c45532l.ada |
c45532m.dep |
c45532n.dep |
c45532o.dep |
c45532p.dep |
c45534b.ada |
c45536a.dep |
c45611a.ada |
c45611b.dep |
c45611c.dep |
c45613a.ada |
c45613b.dep |
c45613c.dep |
c45614a.ada |
c45614b.dep |
c45614c.dep |
c45622a.ada |
c45624a.ada |
c45624b.ada |
c45631a.ada |
c45631b.dep |
c45631c.dep |
c45632a.ada |
c45632b.dep |
c45632c.dep |
c45651a.ada |
c45662a.ada |
c45662b.ada |
c45672a.ada |
c460001.a |
c460002.a |
c460004.a |
c460005.a |
c460006.a |
c460007.a |
c460008.a |
c460009.a |
c460010.a |
c460011.a |
c460012.a |
c46011a.ada |
c46013a.ada |
c46014a.ada |
c46021a.ada |
c46024a.ada |
c46031a.ada |
c46032a.ada |
c46033a.ada |
c46041a.ada |
c46042a.ada |
c46043b.ada |
c46044b.ada |
c46051a.ada |
c46051b.ada |
c46051c.ada |
c46052a.ada |
c46053a.ada |
c46054a.ada |
c460a01.a |
c460a02.a |
c47002a.ada |
c47002b.ada |
c47002c.ada |
c47002d.ada |
c47003a.ada |
c47004a.ada |
c47005a.ada |
c47006a.ada |
c47007a.ada |
c47008a.ada |
c47009a.ada |
c47009b.ada |
c48004a.ada |
c48004b.ada |
c48004c.ada |
c48004d.ada |
c48004e.ada |
c48004f.ada |
c48005a.ada |
c48005b.ada |
c48006a.ada |
c48006b.ada |
c48007a.ada |
c48007b.ada |
c48007c.ada |
c48008a.ada |
c48008c.ada |
c48009a.ada |
c48009b.ada |
c48009c.ada |
c48009d.ada |
c48009e.ada |
c48009f.ada |
c48009g.ada |
c48009h.ada |
c48009i.ada |
c48009j.ada |
c48010a.ada |
c48011a.ada |
c48012a.ada |
c490001.a |
c490002.a |
c490003.a |
c49020a.ada |
c49021a.ada |
c49022a.ada |
c49022b.ada |
c49022c.ada |
c49023a.ada |
c49024a.ada |
c49025a.ada |
c49026a.ada |
c4a005b.ada |
c4a006a.ada |
c4a007a.tst |
c4a010a.ada |
c4a010b.ada |
c4a011a.ada |
c4a012b.ada |
c4a013a.ada |
c4a014a.ada |
c51004a.ada |
c52005a.ada |
c52005b.ada |
c52005c.ada |
c52005d.ada |
c52005e.ada |
c52005f.ada |
c52008a.ada |
c52008b.ada |
c52009a.ada |
c52009b.ada |
c52010a.ada |
c52011a.ada |
c52011b.ada |
c52101a.ada |
c52102a.ada |
c52102b.ada |
c52102c.ada |
c52102d.ada |
c52103a.ada |
c52103b.ada |
c52103c.ada |
c52103f.ada |
c52103g.ada |
c52103h.ada |
c52103k.ada |
c52103l.ada |
c52103m.ada |
c52103p.ada |
c52103q.ada |
c52103r.ada |
c52103x.ada |
c52104a.ada |
c52104b.ada |
c52104c.ada |
c52104f.ada |
c52104g.ada |
c52104h.ada |
c52104k.ada |
c52104l.ada |
c52104m.ada |
c52104p.ada |
c52104q.ada |
c52104r.ada |
c52104x.ada |
c52104y.ada |
c53007a.ada |
c540001.a |
c54a03a.ada |
c54a04a.ada |
c54a07a.ada |
c54a13a.ada |
c54a13b.ada |
c54a13c.ada |
c54a13d.ada |
c54a22a.ada |
c54a23a.ada |
c54a24a.ada |
c54a24b.ada |
c54a42a.ada |
c54a42b.ada |
c54a42c.ada |
c54a42d.ada |
c54a42e.ada |
c54a42f.ada |
c54a42g.ada |
c55b03a.ada |
c55b04a.ada |
c55b05a.ada |
c55b06a.ada |
c55b06b.ada |
c55b07a.dep |
c55b07b.dep |
c55b10a.ada |
c55b11a.ada |
c55b11b.ada |
c55b15a.ada |
c55b16a.ada |
c55c02a.ada |
c55c02b.ada |
c56002a.ada |
c57003a.ada |
c57004a.ada |
c57004b.ada |
c58004c.ada |
c58004d.ada |
c58004g.ada |
c58005a.ada |
c58005b.ada |
c58005h.ada |
c58006a.ada |
c58006b.ada |
c59002a.ada |
c59002b.ada |
c59002c.ada |
c61008a.ada |
c61009a.ada |
c61010a.ada |
c62002a.ada |
c62003a.ada |
c62003b.ada |
c62004a.ada |
c62006a.ada |
c631001.a |
c640001.a |
c64002b.ada |
c64004g.ada |
c64005a.ada |
c64005b.ada |
c64005c.ada |
c64005d0.ada |
c64005da.ada |
c64005db.ada |
c64005dc.ada |
c641001.a |
c64103b.ada |
c64103c.ada |
c64103d.ada |
c64103e.ada |
c64103f.ada |
c64104a.ada |
c64104b.ada |
c64104c.ada |
c64104d.ada |
c64104e.ada |
c64104f.ada |
c64104g.ada |
c64104h.ada |
c64104i.ada |
c64104j.ada |
c64104k.ada |
c64104l.ada |
c64104m.ada |
c64104n.ada |
c64104o.ada |
c64105a.ada |
c64105b.ada |
c64105c.ada |
c64105d.ada |
c64106a.ada |
c64106b.ada |
c64106c.ada |
c64106d.ada |
c64107a.ada |
c64108a.ada |
c64109a.ada |
c64109b.ada |
c64109c.ada |
c64109d.ada |
c64109e.ada |
c64109f.ada |
c64109g.ada |
c64109h.ada |
c64109i.ada |
c64109j.ada |
c64109k.ada |
c64109l.ada |
c64201b.ada |
c64201c.ada |
c64202a.ada |
c650001.a |
c65003a.ada |
c65003b.ada |
c66002a.ada |
c66002c.ada |
c66002d.ada |
c66002e.ada |
c66002f.ada |
c66002g.ada |
c67002a.ada |
c67002b.ada |
c67002c.ada |
c67002d.ada |
c67002e.ada |
c67003f.ada |
c67005a.ada |
c67005b.ada |
c67005c.ada |
c67005d.ada |
c72001b.ada |
c72002a.ada |
c730001.a |
c730002.a |
c730003.a |
c730004.a |
c73002a.ada |
c730a01.a |
c730a02.a |
c731001.a |
c74004a.ada |
c74203a.ada |
c74206a.ada |
c74207b.ada |
c74208a.ada |
c74208b.ada |
c74209a.ada |
c74210a.ada |
c74211a.ada |
c74211b.ada |
c74302a.ada |
c74302b.ada |
c74305a.ada |
c74305b.ada |
c74306a.ada |
c74307a.ada |
c74401d.ada |
c74401e.ada |
c74401k.ada |
c74401q.ada |
c74402a.ada |
c74402b.ada |
c74406a.ada |
c74407b.ada |
c74409b.ada |
c760001.a |
c760002.a |
c760007.a |
c760009.a |
c760010.a |
c760011.a |
c760012.a |
c760013.a |
c761001.a |
c761002.a |
c761003.a |
c761004.a |
c761005.a |
c761006.a |
c761007.a |
c761010.a |
c761011.a |
c83007a.ada |
c83012d.ada |
c83022a.ada |
c83022g0.ada |
c83022g1.ada |
c83023a.ada |
c83024a.ada |
c83024e0.ada |
c83024e1.ada |
c83025a.ada |
c83025c.ada |
c83027a.ada |
c83027c.ada |
c83028a.ada |
c83029a.ada |
c83030a.ada |
c83030c.ada |
c83031a.ada |
c83031c.ada |
c83031e.ada |
c83032a.ada |
c83033a.ada |
c83051a.ada |
c83b02a.ada |
c83b02b.ada |
c83e02a.ada |
c83e02b.ada |
c83e03a.ada |
c83f01a.ada |
c83f01b.ada |
c83f01c0.ada |
c83f01c1.ada |
c83f01c2.ada |
c83f01d0.ada |
c83f01d1.ada |
c83f03a.ada |
c83f03b.ada |
c83f03c0.ada |
c83f03c1.ada |
c83f03c2.ada |
c83f03d0.ada |
c83f03d1.ada |
c840001.a |
c84002a.ada |
c84005a.ada |
c84008a.ada |
c84009a.ada |
c85004b.ada |
c85005a.ada |
c85005b.ada |
c85005c.ada |
c85005d.ada |
c85005e.ada |
c85005f.ada |
c85005g.ada |
c85006a.ada |
c85006b.ada |
c85006c.ada |
c85006d.ada |
c85006e.ada |
c85006f.ada |
c85006g.ada |
c85007a.ada |
c85007e.ada |
c85009a.ada |
c85011a.ada |
c85013a.ada |
c85014a.ada |
c85014b.ada |
c85014c.ada |
c85017a.ada |
c85018a.ada |
c85018b.ada |
c85019a.ada |
c854001.a |
c854002.a |
c86003a.ada |
c86004a.ada |
c86004b0.ada |
c86004b1.ada |
c86004b2.ada |
c86004c0.ada |
c86004c1.ada |
c86004c2.ada |
c86006i.ada |
c86007a.ada |
c87a05a.ada |
c87a05b.ada |
c87b02a.ada |
c87b02b.ada |
c87b03a.ada |
c87b04a.ada |
c87b04b.ada |
c87b04c.ada |
c87b05a.ada |
c87b06a.ada |
c87b07a.ada |
c87b07b.ada |
c87b07c.ada |
c87b07d.ada |
c87b07e.ada |
c87b08a.ada |
c87b09a.ada |
c87b09c.ada |
c87b10a.ada |
c87b11a.ada |
c87b11b.ada |
c87b13a.ada |
c87b14a.ada |
c87b14b.ada |
c87b14c.ada |
c87b14d.ada |
c87b15a.ada |
c87b16a.ada |
c87b17a.ada |
c87b18a.ada |
c87b18b.ada |
c87b19a.ada |
c87b23a.ada |
c87b24a.ada |
c87b24b.ada |
c87b26b.ada |
c87b27a.ada |
c87b28a.ada |
c87b29a.ada |
c87b30a.ada |
c87b31a.ada |
c87b32a.ada |
c87b33a.ada |
c87b34a.ada |
c87b34b.ada |
c87b34c.ada |
c87b35c.ada |
c87b38a.ada |
c87b39a.ada |
c87b40a.ada |
c87b41a.ada |
c87b42a.ada |
c87b43a.ada |
c87b44a.ada |
c87b45a.ada |
c87b45c.ada |
c87b47a.ada |
c87b48a.ada |
c87b48b.ada |
c87b50a.ada |
c87b54a.ada |
c87b57a.ada |
c87b62a.ada |
c87b62b.ada |
c87b62c.ada |
c87b62d.tst |
c910001.a |
c910002.a |
c910003.a |
c91004b.ada |
c91004c.ada |
c91006a.ada |
c91007a.ada |
c92002a.ada |
c92003a.ada |
c92005a.ada |
c92005b.ada |
c92006a.ada |
c930001.a |
c93001a.ada |
c93002a.ada |
c93003a.ada |
c93004a.ada |
c93004b.ada |
c93004c.ada |
c93004d.ada |
c93004f.ada |
c93005a.ada |
c93005b.ada |
c93005c.ada |
c93005d.ada |
c93005e.ada |
c93005f.ada |
c93005g.ada |
c93005h.ada |
c93006a.ada |
c93007a.ada |
c93008a.ada |
c93008b.ada |
c940001.a |
c940002.a |
c940004.a |
c940005.a |
c940006.a |
c940007.a |
c940010.a |
c940011.a |
c940012.a |
c940013.a |
c940014.a |
c940015.a |
c940016.a |
c94001a.ada |
c94001b.ada |
c94001c.ada |
c94001e.ada |
c94001f.ada |
c94001g.ada |
c94002a.ada |
c94002b.ada |
c94002d.ada |
c94002e.ada |
c94002f.ada |
c94002g.ada |
c94004a.ada |
c94004b.ada |
c94004c.ada |
c94005a.ada |
c94005b.ada |
c94006a.ada |
c94007a.ada |
c94007b.ada |
c94008a.ada |
c94008b.ada |
c94008c.ada |
c94008d.ada |
c94010a.ada |
c94011a.ada |
c94020a.ada |
c940a03.a |
c95008a.ada |
c95009a.ada |
c95010a.ada |
c95011a.ada |
c95012a.ada |
c95021a.ada |
c95022a.ada |
c95022b.ada |
c95033a.ada |
c95033b.ada |
c95034a.ada |
c95034b.ada |
c95035a.ada |
c95040a.ada |
c95040b.ada |
c95040c.ada |
c95040d.ada |
c95041a.ada |
c95065a.ada |
c95065b.ada |
c95065c.ada |
c95065d.ada |
c95065e.ada |
c95065f.ada |
c95066a.ada |
c95067a.ada |
c95071a.ada |
c95072a.ada |
c95072b.ada |
c95073a.ada |
c95074c.ada |
c95076a.ada |
c95078a.ada |
c95080b.ada |
c95082g.ada |
c95085a.ada |
c95085b.ada |
c95085c.ada |
c95085d.ada |
c95085e.ada |
c95085f.ada |
c95085g.ada |
c95085h.ada |
c95085i.ada |
c95085j.ada |
c95085k.ada |
c95085l.ada |
c95085m.ada |
c95085n.ada |
c95085o.ada |
c95086a.ada |
c95086b.ada |
c95086c.ada |
c95086d.ada |
c95086e.ada |
c95086f.ada |
c95087a.ada |
c95087b.ada |
c95087c.ada |
c95087d.ada |
c95088a.ada |
c95089a.ada |
c95090a.ada |
c95092a.ada |
c95093a.ada |
c95095a.ada |
c95095b.ada |
c95095c.ada |
c95095d.ada |
c95095e.ada |
c951001.a |
c951002.a |
c953001.a |
c953002.a |
c953003.a |
c954001.a |
c954010.a |
c954011.a |
c954012.a |
c954013.a |
c954014.a |
c954015.a |
c954016.a |
c954017.a |
c954018.a |
c954019.a |
c954020.a |
c954021.a |
c954022.a |
c954023.a |
c954024.a |
c954025.a |
c954026.a |
c954a01.a |
c954a02.a |
c954a03.a |
c960001.a |
c960002.a |
c960004.a |
c96001a.ada |
c96004a.ada |
c96005a.ada |
c96005b.tst |
c96005d.ada |
c96005f.ada |
c96006a.ada |
c96007a.ada |
c96008a.ada |
c96008b.ada |
c97112a.ada |
c97113a.ada |
c97114a.ada |
c97115a.ada |
c97116a.ada |
c97117a.ada |
c97117b.ada |
c97117c.ada |
c97118a.ada |
c97120a.ada |
c97120b.ada |
c97201a.ada |
c97201b.ada |
c97201c.ada |
c97201d.ada |
c97201e.ada |
c97201g.ada |
c97201h.ada |
c97201x.ada |
c97202a.ada |
c97203a.ada |
c97203b.ada |
c97203c.ada |
c97204a.ada |
c97204b.ada |
c97205a.ada |
c97205b.ada |
c97301a.ada |
c97301b.ada |
c97301c.ada |
c97301d.ada |
c97301e.ada |
c97302a.ada |
c97303a.ada |
c97303b.ada |
c97303c.ada |
c97304a.ada |
c97304b.ada |
c97305a.ada |
c97305b.ada |
c97305c.ada |
c97305d.ada |
c97307a.ada |
c974001.a |
c974002.a |
c974003.a |
c974004.a |
c974005.a |
c974006.a |
c974007.a |
c974008.a |
c974009.a |
c974010.a |
c974011.a |
c974012.a |
c974013.a |
c974014.a |
c980001.a |
c980002.a |
c980003.a |
c99004a.ada |
c99005a.ada |
c9a003a.ada |
c9a004a.ada |
c9a007a.ada |
c9a009a.ada |
c9a009c.ada |
c9a009f.ada |
c9a009g.ada |
c9a009h.ada |
c9a010a.ada |
c9a011a.ada |
c9a011b.ada |
ca1003a.ada |
ca1004a.ada |
ca1005a.ada |
ca1006a.ada |
ca1011a0.ada |
ca1011a1.ada |
ca1011a2.ada |
ca1011a3.ada |
ca1011a4.ada |
ca1011a5.ada |
ca1011a6.ada |
ca1012a0.ada |
ca1012a1.ada |
ca1012a2.ada |
ca1012a3.ada |
ca1012a4.ada |
ca1012b0.ada |
ca1012b2.ada |
ca1012b4.ada |
ca1013a0.ada |
ca1013a1.ada |
ca1013a2.ada |
ca1013a3.ada |
ca1013a4.ada |
ca1013a5.ada |
ca1013a6.ada |
ca1014a0.ada |
ca1014a1.ada |
ca1014a2.ada |
ca1014a3.ada |
ca1020e0.ada |
ca1020e1.ada |
ca1020e2.ada |
ca1020e3.ada |
ca1022a0.ada |
ca1022a1.ada |
ca1022a2.ada |
ca1022a3.ada |
ca1022a4.ada |
ca1022a5.ada |
ca1022a6.ada |
ca11001.a |
ca11002.a |
ca11003.a |
ca110040.a |
ca110041.a |
ca110042.am |
ca110050.a |
ca110051.am |
ca11006.a |
ca11007.a |
ca11008.a |
ca11009.a |
ca11010.a |
ca11011.a |
ca11012.a |
ca11013.a |
ca11014.a |
ca11015.a |
ca11016.a |
ca11017.a |
ca11018.a |
ca11019.a |
ca11020.a |
ca11021.a |
ca11022.a |
ca1102a0.ada |
ca1102a1.ada |
ca1102a2.ada |
ca1106a.ada |
ca1108a.ada |
ca1108b.ada |
ca11a01.a |
ca11a02.a |
ca11b01.a |
ca11b02.a |
ca11c01.a |
ca11c02.a |
ca11c03.a |
ca11d010.a |
ca11d011.a |
ca11d012.a |
ca11d013.am |
ca11d02.a |
ca11d03.a |
ca13001.a |
ca13002.a |
ca13003.a |
ca13a01.a |
ca13a02.a |
ca140230.a |
ca140231.a |
ca140232.am |
ca140233.a |
ca140280.a |
ca140281.a |
ca140282.a |
ca140283.am |
ca15003.a |
ca200020.a |
ca200021.a |
ca200022.am |
ca2001h0.ada |
ca2001h1.ada |
ca2001h2.ada |
ca2001h3.ada |
ca2002a0.ada |
ca2002a1.ada |
ca2002a2.ada |
ca2003a0.ada |
ca2003a1.ada |
ca2004a0.ada |
ca2004a1.ada |
ca2004a2.ada |
ca2004a3.ada |
ca2004a4.ada |
ca2007a0.ada |
ca2007a1.ada |
ca2007a2.ada |
ca2007a3.ada |
ca2008a0.ada |
ca2008a1.ada |
ca2008a2.ada |
ca2009a.ada |
ca2009c0.ada |
ca2009c1.ada |
ca2009d.ada |
ca2009f0.ada |
ca2009f1.ada |
ca2009f2.ada |
ca2011b.ada |
ca21001.a |
ca3011a0.ada |
ca3011a1.ada |
ca3011a2.ada |
ca3011a3.ada |
ca3011a4.ada |
ca5003a0.ada |
ca5003a1.ada |
ca5003a2.ada |
ca5003a3.ada |
ca5003a4.ada |
ca5003a5.ada |
ca5003a6.ada |
ca5003b0.ada |
ca5003b1.ada |
ca5003b2.ada |
ca5003b3.ada |
ca5003b4.ada |
ca5003b5.ada |
ca5004a.ada |
ca5004b0.ada |
ca5004b1.ada |
ca5004b2.ada |
ca5006a.ada |
cb10002.a |
cb1001a.ada |
cb1004a.ada |
cb1005a.ada |
cb1010a.ada |
cb1010c.ada |
cb1010d.ada |
cb20001.a |
cb20003.a |
cb20004.a |
cb20005.a |
cb20006.a |
cb20007.a |
cb2004a.ada |
cb2005a.ada |
cb2006a.ada |
cb2007a.ada |
cb20a02.a |
cb3003a.ada |
cb3003b.ada |
cb3004a.ada |
cb40005.a |
cb4001a.ada |
cb4002a.ada |
cb4003a.ada |
cb4004a.ada |
cb4005a.ada |
cb4006a.ada |
cb4007a.ada |
cb4008a.ada |
cb4009a.ada |
cb4013a.ada |
cb40a01.a |
cb40a020.a |
cb40a021.am |
cb40a030.a |
cb40a031.am |
cb40a04.a |
cb41001.a |
cb41002.a |
cb41003.a |
cb41004.a |
cb5001a.ada |
cb5001b.ada |
cb5002a.ada |
cc1004a.ada |
cc1005b.ada |
cc1010a.ada |
cc1010b.ada |
cc1018a.ada |
cc1104c.ada |
cc1107b.ada |
cc1111a.ada |
cc1204a.ada |
cc1207b.ada |
cc1220a.ada |
cc1221a.ada |
cc1221b.ada |
cc1221c.ada |
cc1221d.ada |
cc1222a.ada |
cc1223a.ada |
cc1224a.ada |
cc1225a.tst |
cc1226b.ada |
cc1227a.ada |
cc1301a.ada |
cc1302a.ada |
cc1304a.ada |
cc1304b.ada |
cc1307a.ada |
cc1307b.ada |
cc1308a.ada |
cc1310a.ada |
cc1311a.ada |
cc1311b.ada |
cc2002a.ada |
cc30001.a |
cc30002.a |
cc3004a.ada |
cc3007a.ada |
cc3007b.ada |
cc3011a.ada |
cc3011d.ada |
cc3012a.ada |
cc3015a.ada |
cc3016b.ada |
cc3016c.ada |
cc3016f.ada |
cc3016i.ada |
cc3017b.ada |
cc3017c.ada |
cc3019a.ada |
cc3019b0.ada |
cc3019b1.ada |
cc3019b2.ada |
cc3019c0.ada |
cc3019c1.ada |
cc3019c2.ada |
cc3106b.ada |
cc3120a.ada |
cc3120b.ada |
cc3121a.ada |
cc3123a.ada |
cc3125a.ada |
cc3125b.ada |
cc3125c.ada |
cc3125d.ada |
cc3126a.ada |
cc3127a.ada |
cc3128a.ada |
cc3203a.ada |
cc3207b.ada |
cc3220a.ada |
cc3221a.ada |
cc3222a.ada |
cc3223a.ada |
cc3224a.ada |
cc3225a.ada |
cc3230a.ada |
cc3231a.ada |
cc3232a.ada |
cc3233a.ada |
cc3234a.ada |
cc3235a.ada |
cc3236a.ada |
cc3240a.ada |
cc3305a.ada |
cc3305b.ada |
cc3305c.ada |
cc3305d.ada |
cc3601a.ada |
cc3601c.ada |
cc3602a.ada |
cc3603a.ada |
cc3605a.ada |
cc3606a.ada |
cc3606b.ada |
cc3607b.ada |
cc40001.a |
cc50001.a |
cc50a01.a |
cc50a02.a |
cc51001.a |
cc51002.a |
cc51003.a |
cc51004.a |
cc51006.a |
cc51007.a |
cc51a01.a |
cc51b03.a |
cc51d01.a |
cc51d02.a |
cc54001.a |
cc54002.a |
cc54003.a |
cc54004.a |
cc70001.a |
cc70002.a |
cc70003.a |
cc70a01.a |
cc70a02.a |
cc70b01.a |
cc70b02.a |
cc70c01.a |
cc70c02.a |
cd10001.a |
cd1009a.ada |
cd1009b.ada |
cd1009d.ada |
cd1009e.ada |
cd1009f.ada |
cd1009g.ada |
cd1009h.ada |
cd1009i.ada |
cd1009j.ada |
cd1009k.tst |
cd1009l.ada |
cd1009m.ada |
cd1009n.ada |
cd1009o.ada |
cd1009p.ada |
cd1009q.ada |
cd1009r.ada |
cd1009s.ada |
cd1009t.tst |
cd1009u.tst |
cd1009v.ada |
cd1009w.ada |
cd1009x.ada |
cd1009y.ada |
cd1009z.ada |
cd1c03a.ada |
cd1c03b.ada |
cd1c03c.ada |
cd1c03e.tst |
cd1c03f.ada |
cd1c03g.ada |
cd1c03h.ada |
cd1c03i.ada |
cd1c04a.ada |
cd1c04d.ada |
cd1c04e.ada |
cd1c06a.tst |
cd20001.a |
cd2a21a.ada |
cd2a21c.ada |
cd2a21e.ada |
cd2a22a.ada |
cd2a22e.ada |
cd2a22i.ada |
cd2a22j.ada |
cd2a23a.ada |
cd2a23e.ada |
cd2a24a.ada |
cd2a24e.ada |
cd2a24i.ada |
cd2a24j.ada |
cd2a31a.ada |
cd2a31c.ada |
cd2a31e.ada |
cd2a32a.ada |
cd2a32c.ada |
cd2a32e.ada |
cd2a32g.ada |
cd2a32i.ada |
cd2a32j.ada |
cd2a51a.ada |
cd2a53a.ada |
cd2a53e.ada |
cd2a83c.tst |
cd2a91c.tst |
cd2b11a.ada |
cd2b11b.ada |
cd2b11d.ada |
cd2b11e.ada |
cd2b11f.ada |
cd2b15c.ada |
cd2b16a.ada |
cd2c11a.tst |
cd2c11d.tst |
cd2d11a.ada |
cd2d13a.ada |
cd30001.a |
cd30002.a |
cd30003.a |
cd30004.a |
cd300050.am |
cd300051.c |
cd3014a.ada |
cd3014c.ada |
cd3014d.ada |
cd3014f.ada |
cd3015a.ada |
cd3015c.ada |
cd3015e.ada |
cd3015f.ada |
cd3015g.ada |
cd3015h.ada |
cd3015i.ada |
cd3015k.ada |
cd3021a.ada |
cd33001.a |
cd33002.a |
cd40001.a |
cd4031a.ada |
cd4041a.tst |
cd4051a.ada |
cd4051b.ada |
cd4051c.ada |
cd4051d.ada |
cd5003a.ada |
cd5003b.ada |
cd5003c.ada |
cd5003d.ada |
cd5003e.ada |
cd5003f.ada |
cd5003g.ada |
cd5003h.ada |
cd5003i.ada |
cd5011a.ada |
cd5011c.ada |
cd5011e.ada |
cd5011g.ada |
cd5011i.ada |
cd5011k.ada |
cd5011m.ada |
cd5011q.ada |
cd5011s.ada |
cd5012a.ada |
cd5012b.ada |
cd5012e.ada |
cd5012f.ada |
cd5012i.ada |
cd5012m.ada |
cd5013a.ada |
cd5013c.ada |
cd5013e.ada |
cd5013g.ada |
cd5013i.ada |
cd5013k.ada |
cd5013m.ada |
cd5013o.ada |
cd5014a.ada |
cd5014c.ada |
cd5014e.ada |
cd5014g.ada |
cd5014i.ada |
cd5014k.ada |
cd5014m.ada |
cd5014o.ada |
cd5014t.ada |
cd5014v.ada |
cd5014x.ada |
cd5014y.ada |
cd5014z.ada |
cd70001.a |
cd7002a.ada |
cd7007b.ada |
cd7101d.ada |
cd7101e.dep |
cd7101f.dep |
cd7101g.tst |
cd7103d.ada |
cd7202a.ada |
cd7204b.ada |
cd7204c.ada |
cd72a01.a |
cd72a02.a |
cd7305a.ada |
cd90001.a |
cd92001.a |
cda201a.ada |
cda201b.ada |
cda201c.ada |
cda201e.ada |
cdb0a01.a |
cdb0a02.a |
cdd1001.a |
cdd2001.a |
cde0001.a |
ce2102a.ada |
ce2102b.ada |
ce2102c.tst |
ce2102d.ada |
ce2102e.ada |
ce2102f.ada |
ce2102g.ada |
ce2102h.tst |
ce2102i.ada |
ce2102j.ada |
ce2102k.ada |
ce2102l.ada |
ce2102m.ada |
ce2102n.ada |
ce2102o.ada |
ce2102p.ada |
ce2102q.ada |
ce2102r.ada |
ce2102s.ada |
ce2102t.ada |
ce2102u.ada |
ce2102v.ada |
ce2102w.ada |
ce2102x.ada |
ce2102y.ada |
ce2103a.tst |
ce2103b.tst |
ce2103c.ada |
ce2103d.ada |
ce2104a.ada |
ce2104b.ada |
ce2104c.ada |
ce2104d.ada |
ce2106a.ada |
ce2106b.ada |
ce2108e.ada |
ce2108f.ada |
ce2108g.ada |
ce2108h.ada |
ce2109a.ada |
ce2109b.ada |
ce2109c.ada |
ce2110a.ada |
ce2110c.ada |
ce2111a.ada |
ce2111b.ada |
ce2111c.ada |
ce2111e.ada |
ce2111f.ada |
ce2111g.ada |
ce2111i.ada |
ce2201a.ada |
ce2201b.ada |
ce2201c.ada |
ce2201d.dep |
ce2201e.dep |
ce2201f.ada |
ce2201g.ada |
ce2201h.ada |
ce2201i.ada |
ce2201j.ada |
ce2201k.ada |
ce2201l.ada |
ce2201m.ada |
ce2201n.ada |
ce2202a.ada |
ce2203a.tst |
ce2204a.ada |
ce2204b.ada |
ce2204c.ada |
ce2204d.ada |
ce2205a.ada |
ce2206a.ada |
ce2208b.ada |
ce2401a.ada |
ce2401b.ada |
ce2401c.ada |
ce2401e.ada |
ce2401f.ada |
ce2401h.ada |
ce2401i.ada |
ce2401j.ada |
ce2401k.ada |
ce2401l.ada |
ce2402a.ada |
ce2403a.tst |
ce2404a.ada |
ce2404b.ada |
ce2405b.ada |
ce2406a.ada |
ce2407a.ada |
ce2407b.ada |
ce2408a.ada |
ce2408b.ada |
ce2409a.ada |
ce2409b.ada |
ce2410a.ada |
ce2410b.ada |
ce2411a.ada |
ce3002b.tst |
ce3002c.tst |
ce3002d.ada |
ce3002f.ada |
ce3102a.ada |
ce3102b.tst |
ce3102d.ada |
ce3102e.ada |
ce3102f.ada |
ce3102g.ada |
ce3102h.ada |
ce3102i.ada |
ce3102j.ada |
ce3102k.ada |
ce3103a.ada |
ce3104a.ada |
ce3104b.ada |
ce3104c.ada |
ce3106a.ada |
ce3106b.ada |
ce3107a.tst |
ce3107b.ada |
ce3108a.ada |
ce3108b.ada |
ce3110a.ada |
ce3112c.ada |
ce3112d.ada |
ce3114a.ada |
ce3115a.ada |
ce3201a.ada |
ce3202a.ada |
ce3206a.ada |
ce3207a.ada |
ce3301a.ada |
ce3302a.ada |
ce3303a.ada |
ce3304a.tst |
ce3305a.ada |
ce3306a.ada |
ce3401a.ada |
ce3402a.ada |
ce3402c.ada |
ce3402d.ada |
ce3402e.ada |
ce3403a.ada |
ce3403b.ada |
ce3403c.ada |
ce3403d.ada |
ce3403e.ada |
ce3403f.ada |
ce3404a.ada |
ce3404b.ada |
ce3404c.ada |
ce3404d.ada |
ce3405a.ada |
ce3405c.ada |
ce3405d.ada |
ce3406a.ada |
ce3406b.ada |
ce3406c.ada |
ce3406d.ada |
ce3407a.ada |
ce3407b.ada |
ce3407c.ada |
ce3408a.ada |
ce3408b.ada |
ce3408c.ada |
ce3409a.ada |
ce3409b.ada |
ce3409c.ada |
ce3409d.ada |
ce3409e.ada |
ce3410a.ada |
ce3410b.ada |
ce3410c.ada |
ce3410d.ada |
ce3410e.ada |
ce3411a.ada |
ce3411c.ada |
ce3412a.ada |
ce3413a.ada |
ce3413b.ada |
ce3413c.ada |
ce3414a.ada |
ce3601a.ada |
ce3602a.ada |
ce3602b.ada |
ce3602c.ada |
ce3602d.ada |
ce3603a.ada |
ce3604a.ada |
ce3604b.ada |
ce3605a.ada |
ce3605b.ada |
ce3605c.ada |
ce3605d.ada |
ce3605e.ada |
ce3606a.ada |
ce3606b.ada |
ce3701a.ada |
ce3704a.ada |
ce3704b.ada |
ce3704c.ada |
ce3704d.ada |
ce3704e.ada |
ce3704f.ada |
ce3704m.ada |
ce3704n.ada |
ce3704o.ada |
ce3705a.ada |
ce3705b.ada |
ce3705c.ada |
ce3705d.ada |
ce3705e.ada |
ce3706c.ada |
ce3706d.ada |
ce3706f.ada |
ce3706g.ada |
ce3707a.ada |
ce3708a.ada |
ce3801a.ada |
ce3801b.ada |
ce3804a.ada |
ce3804b.ada |
ce3804c.ada |
ce3804d.ada |
ce3804e.ada |
ce3804f.ada |
ce3804g.ada |
ce3804h.ada |
ce3804i.ada |
ce3804j.ada |
ce3804m.ada |
ce3804o.ada |
ce3804p.ada |
ce3805a.ada |
ce3805b.ada |
ce3806a.ada |
ce3806b.ada |
ce3806c.ada |
ce3806d.ada |
ce3806e.ada |
ce3806f.ada |
ce3806g.ada |
ce3806h.ada |
ce3809a.ada |
ce3809b.ada |
ce3810a.ada |
ce3810b.ada |
ce3815a.ada |
ce3901a.ada |
ce3902b.ada |
ce3904a.ada |
ce3904b.ada |
ce3905a.ada |
ce3905b.ada |
ce3905c.ada |
ce3905l.ada |
ce3906a.ada |
ce3906b.ada |
ce3906c.ada |
ce3906d.ada |
ce3906e.ada |
ce3906f.ada |
ce3907a.ada |
ce3908a.ada |
checkfil.ada |
coverage.txt |
cxa3001.a |
cxa3002.a |
cxa3003.a |
cxa3004.a |
cxa4001.a |
cxa4002.a |
cxa4003.a |
cxa4004.a |
cxa4005.a |
cxa4006.a |
cxa4007.a |
cxa4008.a |
cxa4009.a |
cxa4010.a |
cxa4011.a |
cxa4012.a |
cxa4013.a |
cxa4014.a |
cxa4015.a |
cxa4016.a |
cxa4017.a |
cxa4018.a |
cxa4019.a |
cxa4020.a |
cxa4021.a |
cxa4022.a |
cxa4023.a |
cxa4024.a |
cxa4025.a |
cxa4026.a |
cxa4027.a |
cxa4028.a |
cxa4029.a |
cxa4030.a |
cxa4031.a |
cxa4032.a |
cxa4033.a |
cxa4034.a |
cxa5011.a |
cxa5012.a |
cxa5013.a |
cxa5015.a |
cxa5a01.a |
cxa5a02.a |
cxa5a03.a |
cxa5a04.a |
cxa5a05.a |
cxa5a06.a |
cxa5a07.a |
cxa5a08.a |
cxa5a09.a |
cxa5a10.a |
cxa8001.a |
cxa8002.a |
cxa8003.a |
cxa9001.a |
cxa9002.a |
cxaa001.a |
cxaa002.a |
cxaa003.a |
cxaa004.a |
cxaa005.a |
cxaa006.a |
cxaa007.a |
cxaa008.a |
cxaa009.a |
cxaa010.a |
cxaa011.a |
cxaa012.a |
cxaa013.a |
cxaa014.a |
cxaa015.a |
cxaa016.a |
cxaa017.a |
cxaa018.a |
cxaa019.a |
cxab001.a |
cxac001.a |
cxac002.a |
cxac003.a |
cxac004.a |
cxac005.a |
cxaca01.a |
cxaca02.a |
cxacb01.a |
cxacb02.a |
cxacc01.a |
cxaf001.a |
cxb2001.a |
cxb2002.a |
cxb2003.a |
cxb3001.a |
cxb3002.a |
cxb3003.a |
cxb30040.c |
cxb30041.am |
cxb3005.a |
cxb30060.c |
cxb30061.am |
cxb3007.a |
cxb3008.a |
cxb3009.a |
cxb3010.a |
cxb3011.a |
cxb3012.a |
cxb30130.c |
cxb30131.c |
cxb30132.am |
cxb3014.a |
cxb3015.a |
cxb3016.a |
cxb4001.a |
cxb4002.a |
cxb4003.a |
cxb4004.a |
cxb4005.a |
cxb4006.a |
cxb4007.a |
cxb4008.a |
cxb40090.cbl |
cxb40091.cbl |
cxb40092.cbl |
cxb40093.am |
cxb5001.a |
cxb5002.a |
cxb5003.a |
cxb50040.ftn |
cxb50041.ftn |
cxb50042.am |
cxb50050.ftn |
cxb50051.ftn |
cxb50052.am |
cxc3001.a |
cxc3002.a |
cxc3003.a |
cxc3004.a |
cxc3005.a |
cxc3006.a |
cxc3007.a |
cxc3008.a |
cxc3009.a |
cxc6001.a |
cxc6002.a |
cxc6003.a |
cxc7001.a |
cxc7002.a |
cxc7003.a |
cxc7004.a |
cxd1001.a |
cxd1002.a |
cxd1003.a |
cxd1004.a |
cxd1005.a |
cxd1006.a |
cxd1007.a |
cxd1008.a |
cxd2001.a |
cxd2002.a |
cxd2003.a |
cxd2004.a |
cxd2006.a |
cxd2007.a |
cxd2008.a |
cxd3001.a |
cxd3002.a |
cxd3003.a |
cxd4001.a |
cxd4002.a |
cxd4003.a |
cxd4004.a |
cxd4005.a |
cxd4006.a |
cxd4007.a |
cxd4008.a |
cxd4009.a |
cxd4010.a |
cxd5001.a |
cxd6001.a |
cxd6002.a |
cxd6003.a |
cxd8001.a |
cxd8002.a |
cxd8003.a |
cxd9001.a |
cxda001.a |
cxda002.a |
cxda003.a |
cxda004.a |
cxdb001.a |
cxdb002.a |
cxdb003.a |
cxdb004.a |
cxe1001.a |
cxe2001.a |
cxe2002.a |
cxe4001.a |
cxe4002.a |
cxe4003.a |
cxe4004.a |
cxe4005.a |
cxe4006.a |
cxe5001.a |
cxe5002.a |
cxe5003.a |
cxf1001.a |
cxf2001.a |
cxf2002.a |
cxf2003.a |
cxf2004.a |
cxf2005.a |
cxf2a01.a |
cxf2a02.a |
cxf3001.a |
cxf3002.a |
cxf3003.a |
cxf3004.a |
cxf3a01.a |
cxf3a02.a |
cxf3a03.a |
cxf3a04.a |
cxf3a05.a |
cxf3a06.a |
cxf3a07.a |
cxf3a08.a |
cxg1001.a |
cxg1002.a |
cxg1003.a |
cxg1004.a |
cxg1005.a |
cxg2001.a |
cxg2002.a |
cxg2003.a |
cxg2004.a |
cxg2005.a |
cxg2006.a |
cxg2007.a |
cxg2008.a |
cxg2009.a |
cxg2010.a |
cxg2011.a |
cxg2012.a |
cxg2013.a |
cxg2014.a |
cxg2015.a |
cxg2016.a |
cxg2017.a |
cxg2018.a |
cxg2019.a |
cxg2020.a |
cxg2021.a |
cxg2022.a |
cxg2023.a |
cxg2024.a |
cxh1001.a |
cxh3001.a |
cxh3002.a |
cxh30030.a |
cxh30031.am |
cz00004.a |
cz1101a.ada |
cz1102a.ada |
cz1103a.ada |
d4a002a.ada |
d4a002b.ada |
d4a004a.ada |
d4a004b.ada |
e28002b.ada |
e28005d.ada |
e52103y.ada |
eb4011a.ada |
eb4012a.ada |
eb4014a.ada |
ee3203a.ada |
ee3204a.ada |
ee3402b.ada |
ee3409f.ada |
ee3412c.ada |
enumchek.ada |
f340a000.a |
f340a001.a |
f341a00.a |
f390a00.a |
f392a00.a |
f392c00.a |
f392d00.a |
f393a00.a |
f393b00.a |
f3a2a00.a |
f460a00.a |
f730a000.a |
f730a001.a |
f731a00.a |
f940a00.a |
f954a00.a |
fa11a00.a |
fa11b00.a |
fa11c00.a |
fa11d00.a |
fa13a00.a |
fa13b00.a |
fa21a00.a |
fb20a00.a |
fb40a00.a |
fc50a00.a |
fc51a00.a |
fc51b00.a |
fc51c00.a |
fc51d00.a |
fc54a00.a |
fc70a00.a |
fc70b00.a |
fc70c00.a |
fcndecl.ada |
fd72a00.a |
fdb0a00.a |
fxa5a00.a |
fxaca00.a |
fxacb00.a |
fxacc00.a |
fxc6a00.a |
fxe2a00.a |
fxf2a00.a |
fxf3a00.a |
impdef.a |
impdefc.a |
impdefd.a |
impdefe.a |
impdefg.a |
impdefh.a |
la140010.a |
la140011.am |
la140012.a |
la140020.a |
la140021.am |
la140022.a |
la140030.a |
la140031.a |
la140032.am |
la140033.a |
la140040.a |
la140041.am |
la140042.a |
la140050.a |
la140051.a |
la140052.am |
la140053.a |
la140060.a |
la140061.a |
la140062.am |
la140063.a |
la140070.a |
la140071.a |
la140072.am |
la140073.a |
la140080.a |
la140081.a |
la140082.am |
la140083.a |
la140090.a |
la140091.a |
la140092.am |
la140093.a |
la140100.a |
la140101.a |
la140102.am |
la140103.a |
la140110.a |
la140111.a |
la140112.am |
la140113.a |
la140120.a |
la140121.a |
la140122.am |
la140123.a |
la140130.a |
la140131.a |
la140132.am |
la140133.a |
la140140.a |
la140141.a |
la140142.am |
la140143.a |
la140150.a |
la140151.a |
la140152.am |
la140153.a |
la140160.a |
la140161.a |
la140162.am |
la140163.a |
la140170.a |
la140171.a |
la140172.am |
la140173.a |
la140180.a |
la140181.a |
la140182.am |
la140183.a |
la140190.a |
la140191.a |
la140192.am |
la140193.a |
la140200.a |
la140201.a |
la140202.am |
la140203.a |
la140210.a |
la140211.am |
la140212.a |
la140220.a |
la140221.am |
la140222.a |
la140240.a |
la140241.a |
la140242.am |
la140243.a |
la140250.a |
la140251.am |
la140252.a |
la140260.a |
la140261.a |
la140262.am |
la140263.a |
la140270.a |
la140271.a |
la140272.am |
la140273.a |
la200010.a |
la200011.a |
la200012.am |
la5001a0.ada |
la5001a1.ada |
la5001a2.ada |
la5001a3.ada |
la5001a4.ada |
la5001a5.ada |
la5001a6.ada |
la5001a7.ada |
la5007a0.ada |
la5007a1.ada |
la5007b0.ada |
la5007b1.ada |
la5007c0.ada |
la5007c1.ada |
la5007d0.ada |
la5007d1.ada |
la5007e0.ada |
la5007e1.ada |
la5007f0.ada |
la5007f1.ada |
la5007g0.ada |
la5007g1.ada |
la5008a0.ada |
la5008a1.ada |
la5008b0.ada |
la5008b1.ada |
la5008c0.ada |
la5008c1.ada |
la5008d0.ada |
la5008d1.ada |
la5008e0.ada |
la5008e1.ada |
la5008f0.ada |
la5008f1.ada |
la5008g0.ada |
la5008g1.ada |
lencheck.ada |
lxd70010.a |
lxd70011.a |
lxd70012.am |
lxd70030.a |
lxd70031.a |
lxd70032.am |
lxd70040.a |
lxd70041.a |
lxd70042.am |
lxd70050.a |
lxd70051.a |
lxd70052.am |
lxd70060.a |
lxd70061.a |
lxd70062.am |
lxd70070.a |
lxd70071.a |
lxd70072.am |
lxd70080.a |
lxd70081.a |
lxd70082.am |
lxd70090.a |
lxd70091.a |
lxd70092.am |
lxe30010.am |
lxe30011.am |
lxe30020.am |
lxe30021.am |
lxh40010.a |
lxh40011.a |
lxh40012.am |
lxh40020.a |
lxh40021.a |
lxh40022.am |
lxh40030.a |
lxh40031.a |
lxh40032.a |
lxh40033.am |
lxh40040.a |
lxh40041.a |
lxh40042.a |
lxh40043.am |
lxh40050.a |
lxh40051.a |
lxh40052.a |
lxh40053.am |
lxh40060.a |
lxh40061.a |
lxh40062.a |
lxh40063.am |
lxh40070.a |
lxh40071.a |
lxh40072.a |
lxh40073.am |
lxh40080.a |
lxh40081.a |
lxh40082.a |
lxh40083.a |
lxh40084.am |
lxh40090.a |
lxh40091.a |
lxh40092.a |
lxh40093.am |
lxh40100.a |
lxh40101.a |
lxh40102.a |
lxh40103.am |
lxh40110.a |
lxh40111.a |
lxh40112.am |
lxh40120.a |
lxh40121.a |
lxh40122.a |
lxh40123.am |
lxh40130.a |
lxh40131.a |
lxh40132.a |
lxh40133.am |
lxh40140.a |
lxh40141.a |
lxh40142.am |
macro.dfs |
macrosub.ada |
repbody.ada |
repspec.ada |
spprt13s.tst |
tctouch.ada |
testobj.txt |
tsttests.dat |
ug-apxa.doc |
ug-apxa.pdf |
ug-apxa.txt |
ug-apxb.doc |
ug-apxb.pdf |
ug-apxb.txt |
ug-apxc.doc |
ug-apxc.pdf |
ug-apxc.txt |
ug-apxd.doc |
ug-apxd.pdf |
ug-apxd.txt |
ug-body.doc |
ug-body.pdf |
ug-body.txt |
widechr.a |
/tsttests.dat
0,0 → 1,38
ACATS4GNATDIR/tests/a/a26007a.tst |
ACATS4GNATDIR/tests/a/ad8011a.tst |
ACATS4GNATDIR/tests/c2/c23003a.tst |
ACATS4GNATDIR/tests/c2/c23003b.tst |
ACATS4GNATDIR/tests/c2/c23003g.tst |
ACATS4GNATDIR/tests/c2/c23003i.tst |
ACATS4GNATDIR/tests/c3/c35502d.tst |
ACATS4GNATDIR/tests/c3/c35502f.tst |
ACATS4GNATDIR/tests/c3/c35503d.tst |
ACATS4GNATDIR/tests/c3/c35503f.tst |
ACATS4GNATDIR/tests/c4/c45231d.tst |
ACATS4GNATDIR/tests/c4/c4a007a.tst |
ACATS4GNATDIR/tests/c8/c87b62d.tst |
ACATS4GNATDIR/tests/c9/c96005b.tst |
ACATS4GNATDIR/tests/cc/cc1225a.tst |
ACATS4GNATDIR/tests/cd/cd1009k.tst |
ACATS4GNATDIR/tests/cd/cd1009t.tst |
ACATS4GNATDIR/tests/cd/cd1009u.tst |
ACATS4GNATDIR/tests/cd/cd1c03e.tst |
ACATS4GNATDIR/tests/cd/cd1c06a.tst |
ACATS4GNATDIR/tests/cd/cd2a83c.tst |
ACATS4GNATDIR/tests/cd/cd2a91c.tst |
ACATS4GNATDIR/tests/cd/cd2c11a.tst |
ACATS4GNATDIR/tests/cd/cd2c11d.tst |
ACATS4GNATDIR/tests/cd/cd4041a.tst |
ACATS4GNATDIR/tests/cd/cd7101g.tst |
ACATS4GNATDIR/tests/ce/ce2102c.tst |
ACATS4GNATDIR/tests/ce/ce2102h.tst |
ACATS4GNATDIR/tests/ce/ce2103a.tst |
ACATS4GNATDIR/tests/ce/ce2103b.tst |
ACATS4GNATDIR/tests/ce/ce2203a.tst |
ACATS4GNATDIR/tests/ce/ce2403a.tst |
ACATS4GNATDIR/tests/ce/ce3002b.tst |
ACATS4GNATDIR/tests/ce/ce3002c.tst |
ACATS4GNATDIR/tests/ce/ce3102b.tst |
ACATS4GNATDIR/tests/ce/ce3107a.tst |
ACATS4GNATDIR/tests/ce/ce3304a.tst |
ACATS4GNATDIR/support/spprt13s.tst |
/widechr.a
0,0 → 1,294
-- WIDECHR.A |
-- |
-- Grant of Unlimited Rights |
-- |
-- 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 |
-- unlimited rights in the software and documentation contained herein. |
-- Unlimited rights are defined in DFAR 252.227-7013(a)(19). By making |
-- this public release, the Government intends to confer upon all |
-- recipients unlimited rights equal to those held by the Government. |
-- These rights include rights to use, duplicate, release or disclose the |
-- 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 |
-- to do so. |
-- |
-- DISCLAIMER |
-- |
-- ALL MATERIALS OR INFORMATION HEREIN RELEASED, MADE AVAILABLE OR |
-- DISCLOSED ARE AS IS. THE GOVERNMENT MAKES NO EXPRESS OR IMPLIED |
-- WARRANTY AS TO ANY MATTER WHATSOEVER, INCLUDING THE CONDITIONS OF THE |
-- SOFTWARE, DOCUMENTATION OR OTHER INFORMATION RELEASED, MADE AVAILABLE |
-- OR DISCLOSED, OR THE OWNERSHIP, MERCHANTABILITY, OR FITNESS FOR A |
-- PARTICULAR PURPOSE OF SAID MATERIAL. |
--* |
-- |
-- DESCRIPTION: |
-- |
-- This program reads C250001.AW and C250002.AW; translates a special |
-- character sequence into characters and wide characters with positions |
-- above ASCII.DEL. The resulting tests are written as C250001.A and |
-- C250002.A respectively. This program may need to |
-- be modified if the Wide_Character representation recognized by |
-- your compiler differs from the Wide_Character |
-- representation generated by the package Ada.Wide_Text_IO. |
-- Modify this program as needed to translate that file. |
-- |
-- A wide character is represented by an 8 character sequence: |
-- |
-- ["abcd"] |
-- |
-- where the character code represented is specified by four hexadecimal |
-- digits, abcd, with letters in upper case. For example the wide |
-- character with the code 16#AB13# is represented by the eight |
-- character sequence: |
-- |
-- ["AB13"] |
-- |
-- ASSUMPTIONS: |
-- |
-- The path for these files is specified in ImpDef. |
-- |
-- SPECIAL REQUIREMENTS: |
-- |
-- Compile, bind and execute this program. It will process the ".AW" |
-- tests, "translating" them to ".A" tests. |
-- |
-- CHANGE HISTORY: |
-- 11 DEC 96 SAIC ACVC 2.1 Release |
-- |
-- 11 DEC 96 Keith Constructed initial release version |
--! |
|
with Ada.Text_IO; |
with Ada.Wide_Text_IO; |
with Ada.Strings.Fixed; |
with Impdef; |
|
procedure WideChr is |
|
-- Debug |
-- |
-- To have the program generate trace/debugging information, de-comment |
-- the call to Put_Line |
|
procedure Debug( S: String ) is |
begin |
null; -- Ada.Text_IO.Put_Line(S); |
end Debug; |
|
package TIO renames Ada.Text_IO; |
package WIO renames Ada.Wide_Text_IO; |
package SF renames Ada.Strings.Fixed; |
|
In_File : TIO.File_Type; |
|
-- This program is actually dual-purpose. It translates the ["xxxx"] |
-- notation to Wide_Character, as well as a similar notation ["xx"] into |
-- Character. The intent of the latter being the ability to represent |
-- literals in the Latin-1 character set that have position numbers |
-- greater than ASCII.DEL. The variable Output_Mode drives the algorithms |
-- to generate Wide_Character output (Wide) or Character output (Narrow). |
|
type Output_Modes is ( Wide, Narrow ); |
Output_Mode : Output_Modes := Wide; |
|
Wide_Out : WIO.File_Type; |
Narrow_Out : TIO.File_Type; |
|
In_Line : String(1..132); -- SB: $MAX_LINE_LENGTH |
|
-- Index variables |
-- |
-- the following index variables: In_Length, Front, Open_Bracket and |
-- Close_Bracket are used by the scanning software to keep track of |
-- what's where. |
-- |
-- In_Length stores the value returned by Ada.Text_IO.Get_Line indicating |
-- the position of the last "useful" character in the string In_Line. |
-- |
-- Front retains the index of the first non-translating character in |
-- In_Line, it is used to indicate the starting index of the portion of |
-- the string to save without special interpretation. In the example |
-- below, where there are two consecutive characters to translate, we see |
-- that Front will assume three different values processing the string, |
-- these are indicated by the digits '1', '2' & '3' in the comment |
-- attached to the declaration. The processing software will dump |
-- In_Line(Front..Open_Bracket-1) to the output stream. Note that in |
-- the second case, this results in a null string, and in the third case, |
-- where Open_Bracket does not obtain a third value, the slice |
-- In_Line(Front..In_Length) is used instead. |
-- |
-- Open_Bracket and Close_Bracket are used to retain the starting index |
-- of the character pairs [" and "] respectively. For the purposes of |
-- this software the character pairs are what are considered to be the |
-- "brackets" enclosing the hexadecimal values to be translated. |
-- Looking at the example below you will see where these index variables |
-- will "point" in the first and second case. |
|
In_Length : Natural := 0; ---> Some_["0A12"]["0B13"]_Thing |
Front : Natural := 0; -- 1 2 3 |
Open_Bracket : Natural := 0; -- 1 2 |
Close_Bracket : Natural := 0; -- 1 2 |
|
-- Xlation |
-- |
-- This translation table gives an easy way to translate the "decimal" |
-- value of a hex digit (as represented by a Latin-1 character) |
|
type Xlate is array(Character range '0'..'F') of Natural; |
Xlation : constant Xlate := |
('0' => 0, '1' => 1, '2' => 2, '3' => 3, '4' => 4, |
'5' => 5, '6' => 6, '7' => 7, '8' => 8, '9' => 9, |
'A' => 10, 'B' => 11, 'C' => 12, 'D' => 13, 'E' => 14, |
'F' => 15, |
others => 0); |
|
-- To_Ch |
-- |
-- This function takes a string which is assumed to be trimmed to just a |
-- hexadecimal representation of a Latin-1 character. The result of the |
-- function is the Latin-1 character at the position designated by the |
-- incoming hexadecimal value. (hexadecimal in human readable form) |
|
function To_Ch( S:String ) return Character is |
Numerical : Natural := 0; |
begin |
Debug("To Wide: " & S); |
for I in S'Range loop |
Numerical := Numerical * 16 + Xlation(S(I)); |
end loop; |
return Character'Val(Numerical); |
exception |
when Constraint_Error => return '_'; |
end To_Ch; |
|
-- To_Wide |
-- |
-- This function takes a string which is assumed to be trimmed to just a |
-- hexadecimal representation of a Wide_character. The result of the |
-- function is the Wide_character at the position designated by the |
-- incoming hexadecimal value. (hexadecimal in human readable form) |
|
function To_Wide( S:String ) return Wide_character is |
Numerical : Natural := 0; |
begin |
Debug("To Wide: " & S); |
for I in S'Range loop |
Numerical := Numerical * 16 + Xlation(S(I)); |
end loop; |
return Wide_Character'Val(Numerical); |
exception |
when Constraint_Error => return '_'; |
end To_Wide; |
|
-- Make_Wide |
-- |
-- this function converts a String to a Wide_String |
|
function Make_Wide( S: String ) return Wide_String is |
W: Wide_String(S'Range); |
begin |
for I in S'Range loop |
W(I) := Wide_Character'Val( Character'Pos(S(I)) ); |
end loop; |
return W; |
end Make_Wide; |
|
-- Close_Files |
-- |
-- Depending on which input we've processed, close the output file |
|
procedure Close_Files is |
begin |
TIO.Close(In_File); |
if Output_Mode = Wide then |
WIO.Close(Wide_Out); |
else |
TIO.Close(Narrow_Out); |
end if; |
end Close_Files; |
|
-- Process |
-- |
-- for all lines in the input file |
-- scan the file for occurrences of [" and "] |
-- for found occurrence, attempt translation of the characters found |
-- between the brackets. As a safeguard, unrecognizable character |
-- sequences will be replaced with the underscore character. This |
-- handles the cases in the tests where the test documentation includes |
-- examples that are non-conformant: i.e. ["abcd"] or ["XXXX"] |
|
procedure Process( Input_File_Name: String ) is |
begin |
TIO.Open(In_File,TIO.In_File,Input_File_Name & ".aw" ); |
|
if Output_Mode = Wide then |
WIO.Create(Wide_Out,WIO.Out_File, Input_File_Name & ".a" ); |
else |
TIO.Create(Narrow_Out,TIO.Out_File, Input_File_Name & ".a" ); |
end if; |
|
File: while not TIO.End_Of_File( In_File ) loop |
In_Line := (others => ' '); |
TIO.Get_Line(In_File,In_Line,In_Length); |
Debug(In_Line(1..In_Length)); |
|
Front := 1; |
|
Line: loop |
-- scan for next occurrence of ["abcd"] |
Open_Bracket := SF.Index( In_Line(Front..In_Length), "[""" ); |
Close_Bracket := SF.Index( In_Line(Front..In_Length), """]" ); |
Debug( "[=" & Natural'Image(Open_Bracket) ); |
Debug( "]=" & Natural'Image(Close_Bracket) ); |
|
if Open_Bracket = 0 or Close_Bracket = 0 then |
-- done with the line, output remaining characters and exit |
Debug("Done with line"); |
if Output_Mode = Wide then |
WIO.Put_Line(Wide_Out, Make_Wide(In_Line(Front..In_Length)) ); |
else |
TIO.Put_Line(Narrow_Out, In_Line(Front..In_Length) ); |
end if; |
exit Line; |
else |
-- output the "normal" stuff up to the bracket |
if Output_Mode = Wide then |
WIO.Put(Wide_Out, Make_Wide(In_Line(Front..Open_Bracket-1)) ); |
else |
TIO.Put(Narrow_Out, In_Line(Front..Open_Bracket-1) ); |
end if; |
|
-- point beyond the closing bracket |
Front := Close_Bracket +2; |
|
-- output the translated hexadecimal character |
if Output_Mode = Wide then |
WIO.Put(Wide_Out, |
To_Wide( In_Line(Open_Bracket+2..Close_Bracket-1) )); |
else |
TIO.Put(Narrow_Out, |
To_Ch( In_Line(Open_Bracket+2..Close_Bracket-1)) ); |
end if; |
end if; |
end loop Line; |
|
end loop File; |
|
Close_Files; |
exception |
when others => |
Ada.Text_IO.Put_Line("Error in processing " & Input_File_Name); |
raise; |
end Process; |
|
begin |
|
Output_Mode := Wide; |
Process( Impdef.Wide_Character_Test ); |
|
Output_Mode := Narrow; |
Process( Impdef.Upper_Latin_Test ); |
|
end WideChr; |
/f392c00.a
0,0 → 1,267
-- F392C00.A |
-- |
-- Grant of Unlimited Rights |
-- |
-- 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 |
-- unlimited rights in the software and documentation contained herein. |
-- Unlimited rights are defined in DFAR 252.227-7013(a)(19). By making |
-- this public release, the Government intends to confer upon all |
-- recipients unlimited rights equal to those held by the Government. |
-- These rights include rights to use, duplicate, release or disclose the |
-- 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 |
-- to do so. |
-- |
-- DISCLAIMER |
-- |
-- ALL MATERIALS OR INFORMATION HEREIN RELEASED, MADE AVAILABLE OR |
-- DISCLOSED ARE AS IS. THE GOVERNMENT MAKES NO EXPRESS OR IMPLIED |
-- WARRANTY AS TO ANY MATTER WHATSOEVER, INCLUDING THE CONDITIONS OF THE |
-- SOFTWARE, DOCUMENTATION OR OTHER INFORMATION RELEASED, MADE AVAILABLE |
-- OR DISCLOSED, OR THE OWNERSHIP, MERCHANTABILITY, OR FITNESS FOR A |
-- PARTICULAR PURPOSE OF SAID MATERIAL. |
--* |
-- |
-- FOUNDATION DESCRIPTION: |
-- This foundation provides a basis for tagged type and dispatching |
-- tests. Each test describes the utilizations. |
-- |
-- CHANGE HISTORY: |
-- 06 Dec 94 SAIC ACVC 2.0 |
-- 24 OCT 95 SAIC Updated for ACVC 2.0.1 |
-- |
--! |
|
package F392C00_1 is -- Switches |
|
type Toggle is tagged private; ---------------------------------- Toggle |
|
function Create return Toggle; |
procedure Flip ( It : in out Toggle ); |
function On ( It : Toggle'Class ) return Boolean; |
function Off ( It : Toggle'Class ) return Boolean; |
|
type Dimmer is new Toggle with private; ------------------------- Dimmer |
|
type Luminance is range 0..100; |
|
function Create return Dimmer; |
procedure Flip ( It : in out Dimmer ); |
procedure Brighten( It : in out Dimmer; |
By : in Luminance := 10 ); |
procedure Dim ( It : in out Dimmer; |
By : in Luminance := 10 ); |
function Intensity( It : Dimmer ) return Luminance; |
|
type Auto_Dimmer is new Dimmer with private; --------------- Auto_Dimmer |
|
function Create return Auto_Dimmer; |
procedure Flip ( It: in out Auto_Dimmer ); |
procedure Set_Auto ( It: in out Auto_Dimmer ); |
procedure Clear_Auto( It: in out Auto_Dimmer ); |
-- procedure Set_Manual( It: in out Auto_Dimmer ) renames Clear_Auto; |
procedure Set_Cutin ( It: in out Auto_Dimmer; Lumens: in Luminance ); |
procedure Set_Cutout( It: in out Auto_Dimmer; Lumens: in Luminance ); |
|
function Auto ( It: Auto_Dimmer ) return Boolean; |
function Cutout_Threshold( It: Auto_Dimmer ) return Luminance; |
function Cutin_Threshold ( It: Auto_Dimmer ) return Luminance; |
|
function TC_CW_TI( Key : Character ) return Toggle'Class; |
|
function TC_Non_Disp( It: Toggle ) return Boolean; |
function TC_Non_Disp( It: Dimmer ) return Boolean; |
function TC_Non_Disp( It: Auto_Dimmer ) return Boolean; |
|
private |
|
type Toggle is tagged record |
On : Boolean := False; |
end record; |
|
type Dimmer is new Toggle with record |
Intensity : Luminance := 100; |
end record; |
|
type Auto_Dimmer is new Dimmer with record |
Cutout_Threshold : Luminance := 60; |
Cutin_Threshold : Luminance := 40; |
Auto_Engaged : Boolean := False; |
end record; |
|
end F392C00_1; |
|
with TCTouch; |
package body F392C00_1 is |
|
function Create return Toggle is |
begin |
TCTouch.Touch( '1' ); ------------------------------------------------ 1 |
return Toggle'( On => True ); |
end Create; |
|
function Create return Dimmer is |
begin |
TCTouch.Touch( '2' ); ------------------------------------------------ 2 |
return Dimmer'( On => True, Intensity => 75 ); |
end Create; |
|
function Create return Auto_Dimmer is |
begin |
TCTouch.Touch( '3' ); ------------------------------------------------ 3 |
return Auto_Dimmer'( On => True, Intensity => 25, |
Cutout_Threshold | Cutin_Threshold => 50, |
Auto_Engaged => True ); |
end Create; |
|
procedure Flip ( It : in out Toggle ) is |
begin |
TCTouch.Touch( 'A' ); ------------------------------------------------ A |
It.On := not It.On; |
end Flip; |
|
function On( It : Toggle'Class ) return Boolean is |
begin |
TCTouch.Touch( 'B' ); ------------------------------------------------ B |
return It.On; |
end On; |
|
function Off( It : Toggle'Class ) return Boolean is |
begin |
TCTouch.Touch( 'C' ); ------------------------------------------------ C |
return not It.On; |
end Off; |
|
procedure Brighten( It : in out Dimmer; |
By : in Luminance := 10 ) is |
begin |
TCTouch.Touch( 'D' ); ------------------------------------------------ D |
if (It.Intensity+By) <= Luminance'Last then |
It.Intensity := It.Intensity+By; |
else |
It.Intensity := Luminance'Last; |
end if; |
end Brighten; |
|
procedure Dim ( It : in out Dimmer; |
By : in Luminance := 10 ) is |
begin |
TCTouch.Touch( 'E' ); ------------------------------------------------ E |
if (It.Intensity-By) >= Luminance'First then |
It.Intensity := It.Intensity-By; |
else |
It.Intensity := Luminance'First; |
end if; |
end Dim; |
|
function Intensity( It : Dimmer ) return Luminance is |
begin |
TCTouch.Touch( 'F' ); ------------------------------------------------ F |
if On(It) then |
return It.Intensity; |
else |
return Luminance'First; |
end if; |
end Intensity; |
|
procedure Flip ( It : in out Dimmer ) is |
begin |
TCTouch.Touch( 'G' ); ------------------------------------------------ G |
if On( It ) and (It.Intensity < 50) then |
It.Intensity := Luminance'Last - It.Intensity; |
else |
Flip( Toggle( It ) ); |
end if; |
end Flip; |
|
procedure Set_Auto ( It: in out Auto_Dimmer ) is |
begin |
TCTouch.Touch( 'H' ); ------------------------------------------------ H |
It.Auto_Engaged := True; |
end Set_Auto; |
|
procedure Clear_Auto( It: in out Auto_Dimmer ) is |
begin |
TCTouch.Touch( 'I' ); ------------------------------------------------ I |
It.Auto_Engaged := False; |
end Clear_Auto; |
|
function Auto ( It: Auto_Dimmer ) return Boolean is |
begin |
TCTouch.Touch( 'J' ); ------------------------------------------------ J |
return It.Auto_Engaged; |
end Auto; |
|
procedure Flip ( It: in out Auto_Dimmer ) is |
begin |
TCTouch.Touch( 'K' ); ------------------------------------------------ K |
if It.Auto_Engaged then |
if Off(It) then |
Flip( Dimmer( It ) ); |
else |
It.Auto_Engaged := False; |
end if; |
else |
Flip( Dimmer( It ) ); |
end if; |
end Flip; |
|
procedure Set_Cutin ( It : in out Auto_Dimmer; |
Lumens : in Luminance) is |
begin |
TCTouch.Touch( 'L' ); ------------------------------------------------ L |
It.Cutin_Threshold := Lumens; |
end Set_Cutin; |
|
procedure Set_Cutout( It : in out Auto_Dimmer; |
Lumens : in Luminance) is |
begin |
TCTouch.Touch( 'M' ); ------------------------------------------------ M |
It.Cutout_Threshold := Lumens; |
end Set_Cutout; |
|
function Cutout_Threshold( It : Auto_Dimmer ) return Luminance is |
begin |
TCTouch.Touch( 'N' ); ------------------------------------------------ N |
return It.Cutout_Threshold; |
end Cutout_Threshold; |
|
function Cutin_Threshold ( It : Auto_Dimmer ) return Luminance is |
begin |
TCTouch.Touch( 'O' ); ------------------------------------------------ O |
return It.Cutin_Threshold; |
end Cutin_Threshold; |
|
function TC_CW_TI( Key : Character ) return Toggle'Class is |
begin |
TCTouch.Touch( 'W' ); ------------------------------------------------ W |
case Key is |
when 'T' | 't' => return Toggle'( On => True ); |
when 'D' | 'd' => return Dimmer'( On => True, Intensity => 75 ); |
when 'A' | 'a' => return Auto_Dimmer'( On => True, Intensity => 25, |
Cutout_Threshold | Cutin_Threshold => 50, |
Auto_Engaged => True ); |
when others => null; |
end case; |
end TC_CW_TI; |
|
function TC_Non_Disp( It: Toggle ) return Boolean is |
begin |
TCTouch.Touch( 'X' ); ------------------------------------------------ X |
return It.On; |
end TC_Non_Disp; |
|
function TC_Non_Disp( It: Dimmer ) return Boolean is |
begin |
TCTouch.Touch( 'Y' ); ------------------------------------------------ Y |
return It.On; |
end TC_Non_Disp; |
|
function TC_Non_Disp( It: Auto_Dimmer ) return Boolean is |
begin |
TCTouch.Touch( 'Z' ); ------------------------------------------------ Z |
return It.On; |
end TC_Non_Disp; |
|
end F392C00_1; |
/f392d00.a
0,0 → 1,103
-- F392D00.A |
-- |
-- Grant of Unlimited Rights |
-- |
-- 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 |
-- unlimited rights in the software and documentation contained herein. |
-- Unlimited rights are defined in DFAR 252.227-7013(a)(19). By making |
-- this public release, the Government intends to confer upon all |
-- recipients unlimited rights equal to those held by the Government. |
-- These rights include rights to use, duplicate, release or disclose the |
-- 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 |
-- to do so. |
-- |
-- DISCLAIMER |
-- |
-- ALL MATERIALS OR INFORMATION HEREIN RELEASED, MADE AVAILABLE OR |
-- DISCLOSED ARE AS IS. THE GOVERNMENT MAKES NO EXPRESS OR IMPLIED |
-- WARRANTY AS TO ANY MATTER WHATSOEVER, INCLUDING THE CONDITIONS OF THE |
-- SOFTWARE, DOCUMENTATION OR OTHER INFORMATION RELEASED, MADE AVAILABLE |
-- OR DISCLOSED, OR THE OWNERSHIP, MERCHANTABILITY, OR FITNESS FOR A |
-- PARTICULAR PURPOSE OF SAID MATERIAL. |
--* |
-- |
-- FOUNDATION DESCRIPTION: |
-- This foundation declares parent tagged types and subprograms for use |
-- in tests covering dispatching operations. |
-- |
-- CHANGE HISTORY: |
-- 06 Dec 94 SAIC ACVC 2.0 |
-- |
--! |
|
package F392D00 is |
|
type Depth_Of_Field is range 5 .. 100; |
type Shutter_Speed is (One, Two_Fifty, Four_Hundred, Thousand); |
|
type Remote_Camera is tagged record |
DOF : Depth_Of_Field := 10; |
Shutter: Shutter_Speed := One; |
end record; |
|
-- ...Other declarations. |
|
procedure Focus (C : in out Remote_Camera; |
Depth : in Depth_Of_Field); |
|
procedure Self_Test (C: in out Remote_Camera'Class); |
|
-- ...Other operations. |
|
private |
|
procedure Set_Shutter_Speed (C : in out Remote_Camera; |
Speed : in Shutter_Speed); |
|
-- For the basic remote camera, shutter speed might be set as a function of |
-- focus perhaps, thus it is declared as a private operation (usable |
-- only internally within the abstraction). |
|
|
end F392D00; |
|
|
--==================================================================-- |
|
|
package body F392D00 is |
|
procedure Focus (C : in out Remote_Camera; |
Depth : in Depth_Of_Field) is |
begin |
-- Artificial for testing purposes. |
C.DOF := 46; |
end Focus; |
|
----------------------------------------------------------- |
procedure Set_Shutter_Speed (C : in out Remote_Camera; |
Speed : in Shutter_Speed) is |
begin |
-- Artificial for testing purposes. |
C.Shutter := Thousand; |
end Set_Shutter_Speed; |
|
----------------------------------------------------------- |
procedure Self_Test (C: in out Remote_Camera'Class) is |
TC_Dummy_Depth : constant Depth_Of_Field := 23; |
TC_Dummy_Speed : constant Shutter_Speed := Four_Hundred; |
begin |
|
-- Test focus at various depths: |
Focus(C, TC_Dummy_Depth); |
-- ...Additional calls to Focus. |
|
-- Test various shutter speeds: |
Set_Shutter_Speed(C, TC_Dummy_Speed); |
-- ...Additional calls to Set_Shutter_Speed. |
|
end Self_Test; |
|
end F392D00; |
/f954a00.a
0,0 → 1,134
-- F954A00.A |
-- |
-- |
-- Grant of Unlimited Rights |
-- |
-- 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 |
-- unlimited rights in the software and documentation contained herein. |
-- Unlimited rights are defined in DFAR 252.227-7013(a)(19). By making |
-- this public release, the Government intends to confer upon all |
-- recipients unlimited rights equal to those held by the Government. |
-- These rights include rights to use, duplicate, release or disclose the |
-- 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 |
-- to do so. |
-- |
-- DISCLAIMER |
-- |
-- ALL MATERIALS OR INFORMATION HEREIN RELEASED, MADE AVAILABLE OR |
-- DISCLOSED ARE AS IS. THE GOVERNMENT MAKES NO EXPRESS OR IMPLIED |
-- WARRANTY AS TO ANY MATTER WHATSOEVER, INCLUDING THE CONDITIONS OF THE |
-- SOFTWARE, DOCUMENTATION OR OTHER INFORMATION RELEASED, MADE AVAILABLE |
-- OR DISCLOSED, OR THE OWNERSHIP, MERCHANTABILITY, OR FITNESS FOR A |
-- PARTICULAR PURPOSE OF SAID MATERIAL. |
--* |
-- |
-- OBJECTIVE: |
-- This file contains foundation code for tests covering the requeue |
-- statement. |
-- |
-- TEST DESCRIPTION: |
-- See prologues of specific tests. |
-- |
-- CHANGE HISTORY: |
-- 06 Dec 94 SAIC ACVC 2.0 |
-- |
--! |
|
package F954A00 is -- Printer device abstraction. |
|
|
-- Model a printer device driver as a protected type. A printer remains |
-- unavailable while data is printing. The printer generates an interrupt |
-- when printing is complete, after which the printer is again made |
-- available. |
|
|
type Printers_Info is tagged record |
Some_Info : Integer; |
end record; |
|
--==============================================-- |
|
protected type Printers is -- Device driver for printer. |
|
procedure Start_Printing (File_Name : String); -- Begin printing on |
-- printer. |
|
procedure Handle_Interrupt; -- Handle interrupt from |
-- printer. |
|
entry Done_Printing; -- Wait until printer is |
-- done. |
|
function Available return Boolean; -- Return value of Ready. |
function Is_Done return Boolean; -- Return value of Done. |
|
private |
|
Ready : Boolean := True; -- Entry barrier. |
Done : Boolean := True; -- Testing flag. |
|
end Printers; |
|
--==============================================-- |
|
Number_Of_Printers : constant := 2; |
|
type Printer_ID is range 1 .. Number_Of_Printers; |
|
type Printer_Array is array (Printer_ID) of Printers; |
type Info_Array is array (Printer_ID) of Printers_Info; |
|
Printer : Printer_Array; |
Printer_Info : constant Info_Array := ( (Some_Info => 1), |
(Some_Info => 2) ); |
|
end F954A00; |
|
|
--==================================================================-- |
|
|
package body F954A00 is -- Printer server abstraction. |
|
|
protected body Printers is |
|
procedure Start_Printing (File_Name : String) is |
begin |
Ready := False; -- Block other requests |
Done := False; -- for this printer |
-- Send data to the printer... -- and begin printing. |
end Start_Printing; |
|
|
-- Set the "not ready" one-shot |
entry Done_Printing when Ready is -- Callers wait here |
begin -- until printing is |
Done := True; -- done (signaled by a |
end Done_Printing; -- printer interrupt). |
|
|
procedure Handle_Interrupt is -- Called when the |
begin -- printer interrupts, |
Ready := True; -- indicating that |
end Handle_Interrupt; -- printing is done. |
|
|
function Available return Boolean is -- Artifice for test |
begin -- purposes: checks |
return (Ready); -- whether printer is |
end Available; -- still printing. |
|
|
function Is_Done return Boolean is -- Artifice for test |
begin -- purposes: checks |
return (Done); -- whether Done_Printing |
end Is_Done; -- entry was executed. |
|
end Printers; |
|
|
end F954A00; |
/fa21a00.a
0,0 → 1,127
-- FA21A00.A |
-- |
-- Grant of Unlimited Rights |
-- |
-- 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 |
-- unlimited rights in the software and documentation contained herein. |
-- Unlimited rights are defined in DFAR 252.227-7013(a)(19). By making |
-- this public release, the Government intends to confer upon all |
-- recipients unlimited rights equal to those held by the Government. |
-- These rights include rights to use, duplicate, release or disclose the |
-- 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 |
-- to do so. |
-- |
-- DISCLAIMER |
-- |
-- ALL MATERIALS OR INFORMATION HEREIN RELEASED, MADE AVAILABLE OR |
-- DISCLOSED ARE AS IS. THE GOVERNMENT MAKES NO EXPRESS OR IMPLIED |
-- WARRANTY AS TO ANY MATTER WHATSOEVER, INCLUDING THE CONDITIONS OF THE |
-- SOFTWARE, DOCUMENTATION OR OTHER INFORMATION RELEASED, MADE AVAILABLE |
-- OR DISCLOSED, OR THE OWNERSHIP, MERCHANTABILITY, OR FITNESS FOR A |
-- PARTICULAR PURPOSE OF SAID MATERIAL. |
--* |
-- |
-- FOUNDATION DESCRIPTION: |
-- This foundation declares various supporting types, objects, and |
-- subprograms for use in tests checking preelaborability. |
-- |
-- CHANGE HISTORY: |
-- 20 Mar 95 SAIC Initial prerelease version. |
-- |
--! |
|
with Ada.Finalization; -- Preelaborated library unit. |
package FA21A00 is |
|
pragma Preelaborate (FA21A00); |
|
|
type My_Int is new Integer range 0 .. 100; |
function Func return My_Int; -- Non-static function. |
|
subtype Idx is Natural range 1 .. 5; |
|
Three : constant My_Int := 3; |
Ten : My_Int := 10; -- Non-static. |
|
type RecWithDisc (D: My_Int) is record |
Twice: My_Int := D*2; |
end record; |
|
type RecCallDefault is record |
C : My_Int := Func; |
D : My_Int := 0; |
end record; |
|
type RecPrimDefault is record |
C : My_Int := Ten; |
end record; |
|
type Tag is tagged record |
C : My_Int; |
end record; |
|
type AccTag is access all Tag; |
|
Tag1: aliased Tag; -- OK. |
|
type My_Controlled is new Ada.Finalization.Controlled with record |
C : My_Int; |
end record; |
|
type ContComp is tagged record |
C: My_Controlled; |
end record; |
|
task type Tsk (D: My_Int); |
|
protected type Prot is |
entry E; |
end Prot; |
|
type Priv is tagged private; |
|
type PrivComp is array (1 .. 5) of Priv; |
|
type Pri_Ext is new Tag with private; |
|
type PriExtComp is array (1 .. 5) of Pri_Ext; |
|
private |
|
type Priv is tagged record |
B: Boolean; |
end record; |
|
type Pri_Ext is new Tag with record |
N: String (1 .. 5); |
end record; |
|
end FA21A00; |
|
|
--===================================================================-- |
|
|
package body FA21A00 is |
|
task body Tsk is |
begin |
null; |
end Tsk; |
|
protected body Prot is |
entry E when False is |
begin |
null; |
end E; |
end Prot; |
|
function Func return My_Int is |
begin |
return 0; |
end Func; |
|
end FA21A00; |
/fa13a00.a
0,0 → 1,171
-- FA13A00.A |
-- |
-- Grant of Unlimited Rights |
-- |
-- 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 |
-- unlimited rights in the software and documentation contained herein. |
-- Unlimited rights are defined in DFAR 252.227-7013(a)(19). By making |
-- this public release, the Government intends to confer upon all |
-- recipients unlimited rights equal to those held by the Government. |
-- These rights include rights to use, duplicate, release or disclose the |
-- 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 |
-- to do so. |
-- |
-- DISCLAIMER |
-- |
-- ALL MATERIALS OR INFORMATION HEREIN RELEASED, MADE AVAILABLE OR |
-- DISCLOSED ARE AS IS. THE GOVERNMENT MAKES NO EXPRESS OR IMPLIED |
-- WARRANTY AS TO ANY MATTER WHATSOEVER, INCLUDING THE CONDITIONS OF THE |
-- SOFTWARE, DOCUMENTATION OR OTHER INFORMATION RELEASED, MADE AVAILABLE |
-- OR DISCLOSED, OR THE OWNERSHIP, MERCHANTABILITY, OR FITNESS FOR A |
-- PARTICULAR PURPOSE OF SAID MATERIAL. |
--* |
-- |
-- FOUNDATION DESCRIPTION: |
-- This foundation code is used to check visibility of separate |
-- subunit of child packages. |
-- Declares a package containing type definitions; package will be |
-- with'ed by the root of the elevator abstraction. |
-- |
-- Declare an elevator abstraction in a parent root package which manages |
-- basic operations. This package has a private part. Declare a |
-- private child package which calculates the floors for going up or |
-- down. Declare a public child package which provides the actual |
-- operations. |
-- |
-- CHANGE HISTORY: |
-- 06 Dec 94 SAIC ACVC 2.0 |
-- |
--! |
|
-- Simulates a fragment of an elevator operation application. |
|
package FA13A00_0 is -- Building Manager |
|
type Electrical_Power is (Off, V120, V240); |
Power : Electrical_Power := V120; |
|
-- other type definitions and procedure declarations in real application. |
|
end FA13A00_0; |
|
-- No bodies provided for FA13A00_0. |
|
--==================================================================-- |
|
package FA13A00_1 is -- Basic Elevator Operations |
|
type Call_Waiting_Type is private; |
type Floor is (Basement, Floor1, Floor2, Floor3, Penthouse); |
type Floor_No is range Floor'Pos(Floor'First) .. Floor'Pos(Floor'Last); |
Current_Floor : Floor := Floor1; |
|
TC_Operation : boolean := true; |
|
procedure Call (F : in Floor; C : in out Call_Waiting_Type); |
procedure Clear_Calls (C : in out Call_Waiting_Type); |
|
private |
type Call_Waiting_Type is array (Floor) of boolean; |
Call_Waiting : Call_Waiting_Type := (others => false); |
|
end FA13A00_1; |
|
|
--==================================================================-- |
|
package body FA13A00_1 is |
|
-- Call the elevator. |
|
procedure Call (F : in Floor; C : in out Call_Waiting_Type) is |
begin |
C (F) := true; |
end Call; |
|
-------------------------------------------- |
|
-- Clear all calls of the elevator. |
|
procedure Clear_Calls (C : in out Call_Waiting_Type) is |
begin |
C := (others => false); |
end Clear_Calls; |
|
end FA13A00_1; |
|
--==================================================================-- |
|
-- Private child package of an elevator application. This package calculates |
-- how many floors to go up or down. |
|
private package FA13A00_1.FA13A00_2 is -- Floor Calculation |
|
-- Other type definitions in real application. |
|
procedure Up (HowMany : in Floor_No); |
|
procedure Down (HowMany : in Floor_No); |
|
end FA13A00_1.FA13A00_2; |
|
--==================================================================-- |
|
package body FA13A00_1.FA13A00_2 is |
|
-- Go up from the current floor. |
|
procedure Up (HowMany : in Floor_No) is |
begin |
Current_Floor := Floor'val (Floor'pos (Current_Floor) + HowMany); |
end Up; |
|
-------------------------------------------- |
|
-- Go down from the current floor. |
|
procedure Down (HowMany : in Floor_No) is |
begin |
Current_Floor := Floor'val (Floor'pos (Current_Floor) - HowMany); |
end Down; |
|
end FA13A00_1.FA13A00_2; |
|
--==================================================================-- |
|
-- Public child package of an elevator application. This package provides |
-- the actual operation of the elevator. |
|
package FA13A00_1.FA13A00_3 is -- Move Elevator |
|
-- Other type definitions in real application. |
|
procedure Move_Elevator (F : in Floor; |
C : in out Call_Waiting_Type); |
|
end FA13A00_1.FA13A00_3; |
|
--==================================================================-- |
|
with FA13A00_1.FA13A00_2; -- Floor Calculation |
|
package body FA13A00_1.FA13A00_3 is |
|
-- Going up or down depends on the current floor. |
|
procedure Move_Elevator (F : in Floor; |
C : in out Call_Waiting_Type) is |
begin |
if F > Current_Floor then |
FA13A00_1.FA13A00_2.Up (Floor'Pos (F) - Floor'Pos (Current_Floor)); |
FA13A00_1.Call (F, C); |
elsif F < Current_Floor then |
FA13A00_1.FA13A00_2.Down (Floor'Pos (Current_Floor) - Floor'Pos (F)); |
FA13A00_1.Call (F, C); |
end if; |
|
end Move_Elevator; |
|
end FA13A00_1.FA13A00_3; |
/fa13b00.a
0,0 → 1,106
-- FA13B00.A |
-- |
-- Grant of Unlimited Rights |
-- |
-- 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 |
-- unlimited rights in the software and documentation contained herein. |
-- Unlimited rights are defined in DFAR 252.227-7013(a)(19). By making |
-- this public release, the Government intends to confer upon all |
-- recipients unlimited rights equal to those held by the Government. |
-- These rights include rights to use, duplicate, release or disclose the |
-- 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 |
-- to do so. |
-- |
-- DISCLAIMER |
-- |
-- ALL MATERIALS OR INFORMATION HEREIN RELEASED, MADE AVAILABLE OR |
-- DISCLOSED ARE AS IS. THE GOVERNMENT MAKES NO EXPRESS OR IMPLIED |
-- WARRANTY AS TO ANY MATTER WHATSOEVER, INCLUDING THE CONDITIONS OF THE |
-- SOFTWARE, DOCUMENTATION OR OTHER INFORMATION RELEASED, MADE AVAILABLE |
-- OR DISCLOSED, OR THE OWNERSHIP, MERCHANTABILITY, OR FITNESS FOR A |
-- PARTICULAR PURPOSE OF SAID MATERIAL. |
--* |
-- |
-- FOUNDATION DESCRIPTION: |
-- This foundation code is used to check visibility of separate |
-- subunit of child packages. |
-- Declares a package containing type definitions and a private |
-- part; package will be with'ed by the parent's body of the subunits. |
-- |
-- CHANGE HISTORY: |
-- 06 Dec 94 SAIC ACVC 2.0 |
-- |
--! |
|
package FA13B00_0 is |
|
-- Type definitions. |
|
type Visible_Integer is range 1 .. 10; |
|
type Private_Record is private; |
|
type Visible_Tagged is tagged |
record |
PR : Private_Record; |
end record; |
|
type Private_Tagged is tagged private; |
|
Visible_Num : Visible_Integer := 7; |
|
-- Subprogram definitions. |
|
function Assign_Visible_Tagged (I : Visible_Integer) |
return Visible_Tagged; |
|
function Assign_Private_Tagged (I : Visible_Integer) |
return Private_Tagged; |
|
private |
|
-- Type definitions. |
|
type Private_Integer is range 11 .. 20; |
|
type Private_Record is |
record |
VI : Visible_Integer; |
end record; |
|
type Private_Tagged is tagged |
record |
VI : Visible_Integer; |
end record; |
|
-- Object definitions. |
|
Private_Num : Visible_Integer := 6; |
|
end FA13B00_0; |
|
--==================================================================-- |
|
package body FA13B00_0 is |
|
function Assign_Visible_Tagged(I : Visible_Integer) |
return Visible_Tagged is |
VT : Visible_Tagged := (PR => (VI => I)); |
begin |
return VT; |
end Assign_Visible_Tagged; |
|
------------------------------------------------------- |
|
function Assign_Private_Tagged (I : Visible_Integer) |
return Private_Tagged is |
PT : Private_Tagged := (VI => I); |
begin |
return PT; |
end Assign_Private_Tagged; |
|
------------------------------------------------------- |
|
end FA13B00_0; |
/fc51a00.a
0,0 → 1,99
-- FC51A00.A |
-- |
-- Grant of Unlimited Rights |
-- |
-- 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 |
-- unlimited rights in the software and documentation contained herein. |
-- Unlimited rights are defined in DFAR 252.227-7013(a)(19). By making |
-- this public release, the Government intends to confer upon all |
-- recipients unlimited rights equal to those held by the Government. |
-- These rights include rights to use, duplicate, release or disclose the |
-- 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 |
-- to do so. |
-- |
-- DISCLAIMER |
-- |
-- ALL MATERIALS OR INFORMATION HEREIN RELEASED, MADE AVAILABLE OR |
-- DISCLOSED ARE AS IS. THE GOVERNMENT MAKES NO EXPRESS OR IMPLIED |
-- WARRANTY AS TO ANY MATTER WHATSOEVER, INCLUDING THE CONDITIONS OF THE |
-- SOFTWARE, DOCUMENTATION OR OTHER INFORMATION RELEASED, MADE AVAILABLE |
-- OR DISCLOSED, OR THE OWNERSHIP, MERCHANTABILITY, OR FITNESS FOR A |
-- PARTICULAR PURPOSE OF SAID MATERIAL. |
--* |
-- |
-- FOUNDATION DESCRIPTION: |
-- This foundation defines a fraction type abstraction. Fractions are |
-- implemented as records with two scalar components: a numerator |
-- of type integer and a denominator of type positive. Fractions are |
-- created via an overloaded "/" operator. |
-- |
-- CHANGE HISTORY: |
-- 06 Dec 94 SAIC ACVC 2.0 |
-- |
--! |
|
package FC51A00 is -- Fraction type abstraction. |
|
type Fraction_Type is private; |
|
-- Create a fraction object by integer division. |
function "/" (Left, Right : Integer) return Fraction_Type; |
|
-- Change the sign of a fraction. |
function "-" (Frac : Fraction_Type) return Fraction_Type; |
|
-- Return value of numerator as integer. |
function Numerator (Frac : Fraction_Type) return Integer; |
|
-- Return value of denominator as integer. |
function Denominator (Frac : Fraction_Type) return Integer; |
|
-- ... Other operations on fraction types. |
|
private |
|
type Fraction_Type is record |
Numerator : Integer; |
Denominator : Positive; |
end record; |
|
end FC51A00; |
|
|
--==================================================================-- |
|
|
package body FC51A00 is |
|
function "/" (Left, Right : Integer) return Fraction_Type is |
Result : Fraction_Type; |
begin |
Result.Numerator := Left; |
Result.Denominator := Right; |
return Result; |
end "/"; |
|
|
function "-" (Frac : Fraction_Type) return Fraction_Type is |
Result : Fraction_Type := Frac; |
begin |
Result.Numerator := -(Result.Numerator); |
return Result; |
end "-"; |
|
|
function Numerator (Frac : Fraction_Type) return Integer is |
begin |
return (Frac.Numerator); |
end Numerator; |
|
|
function Denominator (Frac : Fraction_Type) return Integer is |
begin |
return (Frac.Denominator); |
end Denominator; |
|
|
end FC51A00; |
/fc51b00.a
0,0 → 1,62
-- FC51B00.A |
-- |
-- Grant of Unlimited Rights |
-- |
-- 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 |
-- unlimited rights in the software and documentation contained herein. |
-- Unlimited rights are defined in DFAR 252.227-7013(a)(19). By making |
-- this public release, the Government intends to confer upon all |
-- recipients unlimited rights equal to those held by the Government. |
-- These rights include rights to use, duplicate, release or disclose the |
-- 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 |
-- to do so. |
-- |
-- DISCLAIMER |
-- |
-- ALL MATERIALS OR INFORMATION HEREIN RELEASED, MADE AVAILABLE OR |
-- DISCLOSED ARE AS IS. THE GOVERNMENT MAKES NO EXPRESS OR IMPLIED |
-- WARRANTY AS TO ANY MATTER WHATSOEVER, INCLUDING THE CONDITIONS OF THE |
-- SOFTWARE, DOCUMENTATION OR OTHER INFORMATION RELEASED, MADE AVAILABLE |
-- OR DISCLOSED, OR THE OWNERSHIP, MERCHANTABILITY, OR FITNESS FOR A |
-- PARTICULAR PURPOSE OF SAID MATERIAL. |
--* |
-- |
-- FOUNDATION DESCRIPTION: |
-- This foundation declares a set of tagged and untagged indefinite |
-- subtypes. |
-- |
-- CHANGE HISTORY: |
-- 06 Dec 94 SAIC ACVC 2.0 |
-- |
--! |
|
package FC51B00 is -- Type definitions. |
|
subtype Size is Natural range 1 .. 4; |
|
type Matrix is array -- Unconstrained array |
(Size range <>, Size range <>) of Integer; -- type. |
|
type Square (Side : Size) is record -- Unconstrained record |
Mat : Matrix (1 .. Side, 1 .. Side); -- with undefaulted |
end record; -- discriminants. |
|
type Square_Pair (Dimension : Size) is tagged record -- Unconstrained tagged |
Left : Square (Dimension); -- type. |
Right : Square (Dimension); |
end record; |
|
type Vector is tagged record -- Constrained tagged |
Mat : Matrix (1 .. 3, 1 .. 1); -- type (used to get |
end record; -- class-wide type). |
|
generic -- Template for a generic formal package. |
type Vectors (<>) is new Vector with private; -- Type with unknown |
package Signature is end; -- discriminants. |
|
end FC51B00; |
|
|
-- No body for FC51B00; |
/f730a000.a
0,0 → 1,107
-- F730A000.A |
-- |
-- Grant of Unlimited Rights |
-- |
-- 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 |
-- unlimited rights in the software and documentation contained herein. |
-- Unlimited rights are defined in DFAR 252.227-7013(a)(19). By making |
-- this public release, the Government intends to confer upon all |
-- recipients unlimited rights equal to those held by the Government. |
-- These rights include rights to use, duplicate, release or disclose the |
-- 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 |
-- to do so. |
-- |
-- DISCLAIMER |
-- |
-- ALL MATERIALS OR INFORMATION HEREIN RELEASED, MADE AVAILABLE OR |
-- DISCLOSED ARE AS IS. THE GOVERNMENT MAKES NO EXPRESS OR IMPLIED |
-- WARRANTY AS TO ANY MATTER WHATSOEVER, INCLUDING THE CONDITIONS OF THE |
-- SOFTWARE, DOCUMENTATION OR OTHER INFORMATION RELEASED, MADE AVAILABLE |
-- OR DISCLOSED, OR THE OWNERSHIP, MERCHANTABILITY, OR FITNESS FOR A |
-- PARTICULAR PURPOSE OF SAID MATERIAL. |
--* |
-- |
-- FOUNDATION DESCRIPTION: |
-- This file simulates a generic linked list abstraction for use in tests |
-- covering tagged types and type extensions. |
-- |
-- TEST FILES: |
-- This foundation consists of the following files: |
-- |
-- => F730A000.A |
-- F730A001.A |
-- |
-- CHANGE HISTORY: |
-- 06 Dec 94 SAIC ACVC 2.0 |
-- 03 Aug 96 SAIC ACVC 2.1: Modified prologue. Added pragma |
-- Elaborate_Body. Removed extraneous record |
-- extension. |
-- |
--! |
|
generic -- Singly-linked list abstraction. |
type Parent_Type is tagged private; -- Actual is parent |
package F730A000 is -- tagged type. |
|
pragma Elaborate_Body; |
|
|
-- Declarations for private linked list nodes: |
|
type Priv_Node_Type is new Parent_Type with private; -- Private extension |
-- of parent type. |
|
-- Inherits primitive operations of actual parameter corresponding |
-- to Parent_Type. |
|
|
type Priv_Node_Ptr is access Priv_Node_Type; |
|
|
-- Add node at head of list. |
procedure Add (Item : in Priv_Node_Ptr; |
Head : in out Priv_Node_Ptr); |
|
-- Remove node from head of list and return it. |
procedure Remove (Head : in out Priv_Node_Ptr; |
Item : out Priv_Node_Ptr); |
|
|
private |
|
type Priv_Node_Type is new Parent_Type with record |
Next : Priv_Node_Ptr := null; |
end record; |
|
end F730A000; |
|
|
--==================================================================-- |
|
|
package body F730A000 is -- Singly-linked list abstraction. |
|
|
procedure Add (Item : in Priv_Node_Ptr; |
Head : in out Priv_Node_Ptr) is |
begin |
if Item /= null then |
Item.Next := Head; |
Head := Item; |
end if; |
end Add; |
|
|
procedure Remove (Head : in out Priv_Node_Ptr; |
Item : out Priv_Node_Ptr) is |
begin |
Item := Head; |
if Head /= null then |
Head := Head.Next; |
end if; |
end Remove; |
|
|
end F730A000; |
/fc51c00.a
0,0 → 1,112
-- FC51C00.A |
-- |
-- Grant of Unlimited Rights |
-- |
-- 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 |
-- unlimited rights in the software and documentation contained herein. |
-- Unlimited rights are defined in DFAR 252.227-7013(a)(19). By making |
-- this public release, the Government intends to confer upon all |
-- recipients unlimited rights equal to those held by the Government. |
-- These rights include rights to use, duplicate, release or disclose the |
-- 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 |
-- to do so. |
-- |
-- DISCLAIMER |
-- |
-- ALL MATERIALS OR INFORMATION HEREIN RELEASED, MADE AVAILABLE OR |
-- DISCLOSED ARE AS IS. THE GOVERNMENT MAKES NO EXPRESS OR IMPLIED |
-- WARRANTY AS TO ANY MATTER WHATSOEVER, INCLUDING THE CONDITIONS OF THE |
-- SOFTWARE, DOCUMENTATION OR OTHER INFORMATION RELEASED, MADE AVAILABLE |
-- OR DISCLOSED, OR THE OWNERSHIP, MERCHANTABILITY, OR FITNESS FOR A |
-- PARTICULAR PURPOSE OF SAID MATERIAL. |
--* |
-- |
-- FOUNDATION DESCRIPTION: |
-- This foundation declares a hierarchy of tagged types, which includes |
-- both abstract and non-abstract types, and which have both abstract |
-- and non-abstract primitive subprograms. |
-- |
-- CHANGE HISTORY: |
-- 06 Dec 94 SAIC ACVC 2.0 |
-- 03 Nov 95 SAIC ACVC 2.0.1 fixes: Deleted primitive operation Proc |
-- of Concrete_Root. |
-- 11 Aug 96 SAIC ACVC 2.1: Changed procedure bodies to update |
-- actual parameters. |
-- |
--! |
|
package FC51C00 is |
|
-- |
-- Non-abstract ultimate ancestor type: |
-- |
|
type Concrete_Root is tagged null record; |
|
function Func (P: Concrete_Root) return Concrete_Root; -- Abstract when |
-- inherited. |
|
|
-- |
-- Abstract descendant of non-abstract ultimate ancestor: |
-- |
|
type Abstract_Child is abstract new Concrete_Root with null record; |
|
-- Inherits: |
-- function Func (P: Abstract_Child) return Abstract_Child is abstract; |
|
procedure Proc (P: in out Abstract_Child) is abstract; -- Abstract. |
procedure New_Proc (P : out Abstract_Child) is abstract; -- Abstract. |
|
|
|
-- |
-- Non-abstract descendant of abstract descendant: |
-- |
|
type Concrete_GrandChild is new Abstract_Child with null record; |
|
function Func (P: Concrete_GrandChild) return Concrete_GrandChild; |
|
procedure Proc (P: in out Concrete_GrandChild); |
procedure New_Proc (P : out Concrete_GrandChild); |
|
|
end FC51C00; |
|
|
--===================================================================-- |
|
|
package body FC51C00 is |
|
Value : Concrete_GrandChild; |
|
|
function Func (P: Concrete_Root) return Concrete_Root is |
begin |
return P; |
end Func; |
|
|
function Func (P: Concrete_GrandChild) return Concrete_GrandChild is |
begin |
return P; |
end Func; |
|
|
procedure Proc (P: in out Concrete_GrandChild) is |
begin |
P := Value; |
end Proc; |
|
|
procedure New_Proc (P : out Concrete_GrandChild) is |
begin |
P := Value; |
end New_Proc; |
|
end FC51C00; |
/fc51d00.a
0,0 → 1,82
-- FC51D00.A |
-- |
-- Grant of Unlimited Rights |
-- |
-- 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 |
-- unlimited rights in the software and documentation contained herein. |
-- Unlimited rights are defined in DFAR 252.227-7013(a)(19). By making |
-- this public release, the Government intends to confer upon all |
-- recipients unlimited rights equal to those held by the Government. |
-- These rights include rights to use, duplicate, release or disclose the |
-- 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 |
-- to do so. |
-- |
-- DISCLAIMER |
-- |
-- ALL MATERIALS OR INFORMATION HEREIN RELEASED, MADE AVAILABLE OR |
-- DISCLOSED ARE AS IS. THE GOVERNMENT MAKES NO EXPRESS OR IMPLIED |
-- WARRANTY AS TO ANY MATTER WHATSOEVER, INCLUDING THE CONDITIONS OF THE |
-- SOFTWARE, DOCUMENTATION OR OTHER INFORMATION RELEASED, MADE AVAILABLE |
-- OR DISCLOSED, OR THE OWNERSHIP, MERCHANTABILITY, OR FITNESS FOR A |
-- PARTICULAR PURPOSE OF SAID MATERIAL. |
--* |
-- |
-- FOUNDATION DESCRIPTION: |
-- This foundation defines a generic list abstraction. List elements can |
-- be of any (nonlimited) type. Lists are implemented as arrays of |
-- pointers and are only two elements in length. |
-- |
-- CHANGE HISTORY: |
-- 06 Dec 94 SAIC ACVC 2.0 |
-- |
--! |
|
generic |
type Element_Type (<>) is private; |
package FC51D00 is -- This package simulates a generic list abstraction. |
|
-- The definition of List_Type below is purely artificial; its validity |
-- in the context of the abstraction is irrelevant to the feature being |
-- tested. |
|
type Element_Ptr is access Element_Type; |
|
subtype List_Size is Natural range 1 .. 2; |
type List_Type is array (List_Size) of Element_Ptr; |
|
function View_Element (I : List_Size; L : List_Type) return Element_Type; |
|
procedure Write_Element (I : in List_Size; |
L : in out List_Type; |
E : in Element_Type); |
|
-- ... Other list operations for Element_Type. |
|
end FC51D00; |
|
|
--==================================================================-- |
|
|
package body FC51D00 is |
|
-- The implementations of the operations below are purely artificial; the |
-- validity of their implementations in the context of the abstraction is |
-- irrelevant to the feature being tested. |
|
function View_Element (I : List_Size; L : List_Type) return Element_Type is |
begin |
return L(I).all; |
end View_Element; |
|
|
procedure Write_Element (I : in List_Size; |
L : in out List_Type; |
E : in Element_Type) is |
begin |
L(I) := new Element_Type'(E); |
end Write_Element; |
|
end FC51D00; |
/fd72a00.a
0,0 → 1,84
-- FD72A00.A |
-- |
-- Grant of Unlimited Rights |
-- |
-- 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 |
-- unlimited rights in the software and documentation contained herein. |
-- Unlimited rights are defined in DFAR 252.227-7013(a)(19). By making |
-- this public release, the Government intends to confer upon all |
-- recipients unlimited rights equal to those held by the Government. |
-- These rights include rights to use, duplicate, release or disclose the |
-- 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 |
-- to do so. |
-- |
-- DISCLAIMER |
-- |
-- ALL MATERIALS OR INFORMATION HEREIN RELEASED, MADE AVAILABLE OR |
-- DISCLOSED ARE AS IS. THE GOVERNMENT MAKES NO EXPRESS OR IMPLIED |
-- WARRANTY AS TO ANY MATTER WHATSOEVER, INCLUDING THE CONDITIONS OF THE |
-- SOFTWARE, DOCUMENTATION OR OTHER INFORMATION RELEASED, MADE AVAILABLE |
-- OR DISCLOSED, OR THE OWNERSHIP, MERCHANTABILITY, OR FITNESS FOR A |
-- PARTICULAR PURPOSE OF SAID MATERIAL. |
--* |
-- |
-- FOUNDATION DESCRIPTION: |
-- This foundation provides a basis for testing package |
-- System.Address_To_Access_Conversions |
-- |
-- TEST FILES: |
-- The following files comprise this foundation: |
-- |
-- FD72A00.A |
-- |
-- CHANGE HISTORY: |
-- 08 FEB 96 SAIC Initial version |
-- |
--! |
|
with Impdef; |
with System.Storage_Elements; |
package FD72A00 is |
use System; |
|
subtype Number is System.Storage_Elements.Integer_Address; |
|
package Num_IO renames Impdef.Address_Value_IO; |
|
-- the following conversions To/From Hex are to prevent optimizers from |
-- optimizing out the otherwise senseless identity conversions, and |
-- given the unknown nature of the type Number, the Identity operations |
-- provided in Report will not suffice to this cause. |
|
function Address_To_Hex( Adder: System.Address ) return String; |
|
function Hex_To_Address( Hex: access String ) return System.Address; |
|
end FD72A00; |
|
package body FD72A00 is |
|
function Address_To_Hex( Adder: System.Address ) return String is |
S : String(1..64) |
:= "uninitializedDEFuninitializedDEFuninitializedDEFuninitializedDEF"; |
DeBlank : Positive := S'First; |
begin |
Num_IO.Put( S, Number( System.Storage_Elements.To_Integer( Adder ) ), |
Base => 16 ); |
while S(DeBlank) = ' ' loop |
DeBlank := DeBlank +1; |
end loop; |
return S(DeBlank..S'Last); |
end Address_To_Hex; |
|
function Hex_To_Address( Hex: access String ) return System.Address is |
The_Number : Number; |
Tail : Natural; |
begin |
Num_IO.Get( Hex.all, The_Number, Tail ); |
return System.Storage_Elements.To_Address( |
System.Storage_Elements.Integer_Address( The_Number ) ); |
end Hex_To_Address; |
|
end FD72A00; |
/impdef.a
0,0 → 1,376
-- IMPDEF.A |
-- |
-- Grant of Unlimited Rights |
-- |
-- 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 |
-- unlimited rights in the software and documentation contained herein. |
-- Unlimited rights are defined in DFAR 252.227-7013(a)(19). By making |
-- this public release, the Government intends to confer upon all |
-- recipients unlimited rights equal to those held by the Government. |
-- These rights include rights to use, duplicate, release or disclose the |
-- 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 |
-- to do so. |
-- |
-- DISCLAIMER |
-- |
-- ALL MATERIALS OR INFORMATION HEREIN RELEASED, MADE AVAILABLE OR |
-- DISCLOSED ARE AS IS. THE GOVERNMENT MAKES NO EXPRESS OR IMPLIED |
-- WARRANTY AS TO ANY MATTER WHATSOEVER, INCLUDING THE CONDITIONS OF THE |
-- SOFTWARE, DOCUMENTATION OR OTHER INFORMATION RELEASED, MADE AVAILABLE |
-- OR DISCLOSED, OR THE OWNERSHIP, MERCHANTABILITY, OR FITNESS FOR A |
-- PARTICULAR PURPOSE OF SAID MATERIAL. |
--* |
-- |
-- DESCRIPTION: |
-- This package provides tailorable entities for a particular |
-- implementation. Each entity may be modified to suit the needs |
-- of the implementation. Default values are provided to act as |
-- a guide. |
-- |
-- The entities in this package are those which are used in at least |
-- one core test. Entities which are used exclusively in tests for |
-- annexes C-H are located in annex-specific child units of this package. |
-- |
-- CHANGE HISTORY: |
-- 12 DEC 93 SAIC Initial PreRelease version |
-- 02 DEC 94 SAIC Second PreRelease version |
-- 16 May 95 SAIC Added constants specific to tests of the random |
-- number generator. |
-- 16 May 95 SAIC Added Max_RPC_Call_Time constant. |
-- 17 Jul 95 SAIC Added Non_State_String constant. |
-- 21 Aug 95 SAIC Created from existing IMPSPEC.ADA and IMPBODY.ADA |
-- files. |
-- 30 Oct 95 SAIC Added external name string constants. |
-- 24 Jan 96 SAIC Added alignment constants. |
-- 29 Jan 96 SAIC Moved entities not used in core tests into annex- |
-- specific child packages. Adjusted commentary. |
-- Renamed Validating_System_Programming_Annex to |
-- Validating_Annex_C. Added similar Validating_Annex_? |
-- constants for the other non-core annexes (D-H). |
-- 01 Mar 96 SAIC Added external name string constants. |
-- 21 Mar 96 SAIC Added external name string constants. |
-- 02 May 96 SAIC Removed constants for draft test CXA5014, which was |
-- removed from the tentative ACVC 2.1 suite. |
-- Added constants for use with FXACA00. |
-- 06 Jun 96 SAIC Added constants for wide character test files. |
-- 11 Dec 96 SAIC Updated constants for wide character test files. |
-- 13 Dec 96 SAIC Added Address_Value_IO |
-- 13 Sep 99 RLB Added more external name string constants. |
-- 16 Sep 99 RLB Corrected definition of Non_State_String constant. |
-- |
--! |
|
with Report; |
with Ada.Text_IO; |
with System.Storage_Elements; |
|
package ImpDef is |
|
--=====-=====-=====-=====-=====-=====-=====-=====-=====-=====-=====-=====-- |
|
-- The following boolean constants indicate whether this validation will |
-- include any of annexes C-H. The values of these booleans affect the |
-- behavior of the test result reporting software. |
-- |
-- True means the associated annex IS included in the validation. |
-- False means the associated annex is NOT included. |
|
Validating_Annex_C : constant Boolean := True; |
-- ^^^^^ --- MODIFY HERE AS NEEDED |
|
Validating_Annex_D : constant Boolean := True; |
-- ^^^^^ --- MODIFY HERE AS NEEDED |
|
Validating_Annex_E : constant Boolean := True; |
-- ^^^^^ --- MODIFY HERE AS NEEDED |
|
Validating_Annex_F : constant Boolean := True; |
-- ^^^^^ --- MODIFY HERE AS NEEDED |
|
Validating_Annex_G : constant Boolean := True; |
-- ^^^^^ --- MODIFY HERE AS NEEDED |
|
Validating_Annex_H : constant Boolean := True; |
-- ^^^^^ --- MODIFY HERE AS NEEDED |
|
--=====-=====-=====-=====-=====-=====-=====-=====-=====-=====-=====-=====-- |
|
-- This is the minimum time required to allow another task to get |
-- control. It is expected that the task is on the Ready queue. |
-- A duration of 0.0 would normally be sufficient but some number |
-- greater than that is expected. |
|
Minimum_Task_Switch : constant Duration := 0.001; |
-- ^^^ --- MODIFY HERE AS NEEDED |
|
Long_Minimum_Task_Switch : constant Duration := 0.1; |
|
--=====-=====-=====-=====-=====-=====-=====-=====-=====-=====-=====-=====-- |
|
-- This is the time required to activate another task and allow it |
-- to run to its first accept statement. We are considering a simple task |
-- with very few Ada statements before the accept. An implementation is |
-- free to specify a delay of several seconds, or even minutes if need be. |
-- The main effect of specifying a longer delay than necessary will be an |
-- extension of the time needed to run the associated tests. |
|
Switch_To_New_Task : constant Duration := 0.001; |
-- ^^^ -- MODIFY HERE AS NEEDED |
|
Long_Switch_To_New_Task : constant Duration := 0.1; |
|
--=====-=====-=====-=====-=====-=====-=====-=====-=====-=====-=====-=====-- |
|
-- This is the time which will clear the queues of other tasks |
-- waiting to run. It is expected that this will be about five |
-- times greater than Switch_To_New_Task. |
|
Clear_Ready_Queue : constant Duration := 0.1; |
-- ^^^ --- MODIFY HERE AS NEEDED |
|
--=====-=====-=====-=====-=====-=====-=====-=====-=====-=====-=====-=====-- |
|
-- Some implementations will boot with the time set to 1901/1/1/0.0 |
-- When a delay of Delay_For_Time_Past is given, the implementation |
-- guarantees that a subsequent call to Ada.Calendar.Time_Of(1901,1,1) |
-- will yield a time that has already passed (for example, when used in |
-- a delay_until statement). |
|
Delay_For_Time_Past : constant Duration := 0.001; |
-- ^^^ --- MODIFY HERE AS NEEDED |
|
--=====-=====-=====-=====-=====-=====-=====-=====-=====-=====-=====-=====-- |
|
-- Minimum time interval between calls to the time dependent Reset |
-- procedures in Float_Random and Discrete_Random packages that is |
-- guaranteed to initiate different sequences. See RM A.5.2(45). |
|
Time_Dependent_Reset : constant Duration := 0.001; |
-- ^^^ --- MODIFY HERE AS NEEDED |
|
--=====-=====-=====-=====-=====-=====-=====-=====-=====-=====-=====-=====-- |
|
-- Test CXA5013 will loop, trying to generate the required sequence |
-- of random numbers. If the RNG is faulty, the required sequence |
-- will never be generated. Delay_Per_Random_Test is a time-out value |
-- which allows the test to run for a period of time after which the |
-- test is failed if the required sequence has not been produced. |
-- This value should be the time allowed for the test to run before it |
-- times out. It should be long enough to allow multiple (independent) |
-- runs of the testing code, each generating up to 1000 random |
-- numbers. |
|
Delay_Per_Random_Test : constant Duration := 0.001; |
-- ^^^ --- MODIFY HERE AS NEEDED |
|
--=====-=====-=====-=====-=====-=====-=====-=====-=====-=====-=====-=====-- |
|
-- The time required to execute this procedure must be greater than the |
-- time slice unit on implementations which use time slicing. For |
-- implementations which do not use time slicing the body can be null. |
|
procedure Exceed_Time_Slice; |
|
--=====-=====-=====-=====-=====-=====-=====-=====-=====-=====-=====-=====-- |
|
-- This constant must not depict a random number generator state value. |
-- Using this string in a call to function Value from either the |
-- Discrete_Random or Float_Random packages will result in |
-- Constraint_Error or Program_Error (expected result in test CXA5012). |
-- If there is no such string, set it to "**NONE**". |
|
Non_State_String : constant String := "By No Means A State"; |
-- MODIFY HERE AS NEEDED --- ^^^^^^^^^^^^^^^^^^^ |
|
--=====-=====-=====-=====-=====-=====-=====-=====-=====-=====-=====-=====-- |
|
-- This string constant must be a legal external tag value as used by |
-- CD10001 for the type Some_Tagged_Type in the representation |
-- specification for the value of 'External_Tag. |
|
External_Tag_Value : constant String := "implementation_defined"; |
-- MODIFY HERE AS NEEDED --- ^^^^^^^^^^^^^^^^^^^^^^ |
|
--=====-=====-=====-=====-=====-=====-=====-=====-=====-=====-=====-=====-- |
|
-- The following address constant must be a valid address to locate |
-- the C program CD30005_1. It is shown here as a named number; |
-- the implementation may choose to type the constant as appropriate. |
|
function Cd30005_Proc (X : Integer) return Integer; |
pragma Import (C, Cd30005_Proc, "_cd30005_1"); |
|
pragma Linker_Options ("ACATS4GNATDIR/support/cd300051.o"); |
|
CD30005_1_Foreign_Address : constant System.Address:= Cd30005_Proc'Address; |
|
-- CD30005_1_Foreign_Address : constant System.Address:= |
-- System.Storage_Elements.To_Address ( 16#0000_0000# ) |
-- --MODIFY HERE AS REQUIRED --- ^^^^^^^^^^^^^ |
|
--=====-=====-=====-=====-=====-=====-=====-=====-=====-=====-=====-=====-- |
|
-- The following string constant must be the external name resulting |
-- from the C compilation of CD30005_1. The string will be used as an |
-- argument to pragma Import. |
|
CD30005_1_External_Name : constant String := "_cd30005_1"; |
-- MODIFY HERE AS NEEDED --- ^^^^^^^^^ |
|
--=====-=====-=====-=====-=====-=====-=====-=====-=====-=====-=====-=====-- |
|
-- The following constants should represent the largest default alignment |
-- value and the largest alignment value supported by the linker. |
-- See RM 13.3(35). |
|
Max_Default_Alignment : constant := Standard'Maximum_Alignment; |
-- ^ --- MODIFY HERE AS NEEDED |
|
Max_Linker_Alignment : constant := Standard'Maximum_Alignment; |
-- ^ --- MODIFY HERE AS NEEDED |
|
--=====-=====-=====-=====-=====-=====-=====-=====-=====-=====-=====-=====-- |
|
-- The following string constants must be the external names resulting |
-- from the C compilation of CXB30040.C, CXB30060.C, CXB30130.C, and |
-- CXB30131.C. The strings will be used as arguments to pragma Import. |
|
CXB30040_External_Name : constant String := "CXB30040"; |
-- MODIFY HERE AS NEEDED --- ^^^^^^^^ |
|
CXB30060_External_Name : constant String := "CXB30060"; |
-- MODIFY HERE AS NEEDED --- ^^^^^^^^ |
|
CXB30130_External_Name : constant String := "CXB30130"; |
-- MODIFY HERE AS NEEDED --- ^^^^^^^^ |
|
CXB30131_External_Name : constant String := "CXB30131"; |
-- MODIFY HERE AS NEEDED --- ^^^^^^^^ |
|
--=====-=====-=====-=====-=====-=====-=====-=====-=====-=====-=====-=====-- |
|
-- The following string constants must be the external names resulting |
-- from the COBOL compilation of CXB40090.CBL, CXB40091.CBL, and |
-- CXB40092.CBL. The strings will be used as arguments to pragma Import. |
|
CXB40090_External_Name : constant String := "CXB40090"; |
-- MODIFY HERE AS NEEDED --- ^^^^^^^^ |
|
CXB40091_External_Name : constant String := "CXB40091"; |
-- MODIFY HERE AS NEEDED --- ^^^^^^^^ |
|
CXB40092_External_Name : constant String := "CXB40092"; |
-- MODIFY HERE AS NEEDED --- ^^^^^^^^ |
|
--=====-=====-=====-=====-=====-=====-=====-=====-=====-=====-=====-=====-- |
|
-- The following string constants must be the external names resulting |
-- from the Fortran compilation of CXB50040.FTN, CXB50041.FTN, |
-- CXB50050.FTN, and CXB50051.FTN. |
-- |
-- The strings will be used as arguments to pragma Import. |
-- |
-- Note that the use of these four string constants will be split between |
-- two tests, CXB5004 and CXB5005. |
|
CXB50040_External_Name : constant String := "CXB50040"; |
-- MODIFY HERE AS NEEDED --- ^^^^^^^^ |
|
CXB50041_External_Name : constant String := "CXB50041"; |
-- MODIFY HERE AS NEEDED --- ^^^^^^^^ |
|
CXB50050_External_Name : constant String := "CXB50050"; |
-- MODIFY HERE AS NEEDED --- ^^^^^^^^ |
|
CXB50051_External_Name : constant String := "CXB50051"; |
-- MODIFY HERE AS NEEDED --- ^^^^^^^^ |
|
--=====-=====-=====-=====-=====-=====-=====-=====-=====-=====-=====-=====-- |
|
-- The following constants have been defined for use with the |
-- representation clause in FXACA00 of type Sales_Record_Type. |
-- |
-- Char_Bits should be an integer at least as large as the number |
-- of bits needed to hold a character in an array. |
-- A value of 6 * Char_Bits will be used in a representation clause |
-- to reserve space for a six character string. |
-- |
-- Next_Storage_Slot should indicate the next storage unit in the record |
-- representation clause that does not overlap the storage designated for |
-- the six character string. |
|
Char_Bits : constant := 8; |
-- MODIFY HERE AS NEEDED ---^ |
|
Next_Storage_Slot : constant := 6; |
-- MODIFY HERE AS NEEDED ---^ |
|
--=====-=====-=====-=====-=====-=====-=====-=====-=====-=====-=====-=====-- |
|
-- The following string constant must be the path name for the .AW |
-- files that will be processed by the Wide Character processor to |
-- create the C250001 and C250002 tests. The Wide Character processor |
-- will expect to find the files to process at this location. |
|
Test_Path_Root : constant String := |
"ACATS4GNATDIR/tests/c2/"; |
-- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ --- MODIFY HERE AS NEEDED |
|
-- The following two strings must not be modified unless the .AW file |
-- names have been changed. The Wide Character processor will use |
-- these strings to find the .AW files used in creating the C250001 |
-- and C250002 tests. |
|
Wide_Character_Test : constant String := Test_Path_Root & "c250001"; |
Upper_Latin_Test : constant String := Test_Path_Root & "c250002"; |
|
--=====-=====-=====-=====-=====-=====-=====-=====-=====-=====-=====-=====-- |
|
-- The following instance of Integer_IO or Modular_IO must be supplied |
-- in order for test CD72A02 to compile correctly. |
-- Depending on the choice of base type used for the type |
-- System.Storage_Elements.Integer_Address; one of the two instances will |
-- be correct. Comment out the incorrect instance. |
|
-- package Address_Value_IO is |
-- new Ada.Text_IO.Integer_IO(System.Storage_Elements.Integer_Address); |
|
package Address_Value_IO is |
new Ada.Text_IO.Modular_IO(System.Storage_Elements.Integer_Address); |
|
--=====-=====-=====-=====-=====-=====-=====-=====-=====-=====-=====-=====-- |
|
One_Second : constant Duration := 0.001; |
One_Long_Second : constant Duration := 0.1; |
|
end ImpDef; |
|
|
--==================================================================-- |
|
|
package body ImpDef is |
|
-- NOTE: These are example bodies. It is expected that implementors |
-- will write their own versions of these routines. |
|
--=====-=====-=====-=====-=====-=====-=====-=====-=====-=====-=====-=====-- |
|
-- The time required to execute this procedure must be greater than the |
-- time slice unit on implementations which use time slicing. For |
-- implementations which do not use time slicing the body can be null. |
|
Procedure Exceed_Time_Slice is |
T : Integer := 0; |
Loop_Max : constant Integer := 4_000; |
begin |
for I in 1..Loop_Max loop |
T := Report.Ident_Int (1) * Report.Ident_Int (2); |
end loop; |
end Exceed_Time_Slice; |
|
--=====-=====-=====-=====-=====-=====-=====-=====-=====-=====-=====-=====-- |
|
end ImpDef; |
/fxf2a00.a
0,0 → 1,96
-- FXF2A00.A |
-- |
-- Grant of Unlimited Rights |
-- |
-- 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 |
-- unlimited rights in the software and documentation contained herein. |
-- Unlimited rights are defined in DFAR 252.227-7013(a)(19). By making |
-- this public release, the Government intends to confer upon all |
-- recipients unlimited rights equal to those held by the Government. |
-- These rights include rights to use, duplicate, release or disclose the |
-- 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 |
-- to do so. |
-- |
-- DISCLAIMER |
-- |
-- ALL MATERIALS OR INFORMATION HEREIN RELEASED, MADE AVAILABLE OR |
-- DISCLOSED ARE AS IS. THE GOVERNMENT MAKES NO EXPRESS OR IMPLIED |
-- WARRANTY AS TO ANY MATTER WHATSOEVER, INCLUDING THE CONDITIONS OF THE |
-- SOFTWARE, DOCUMENTATION OR OTHER INFORMATION RELEASED, MADE AVAILABLE |
-- OR DISCLOSED, OR THE OWNERSHIP, MERCHANTABILITY, OR FITNESS FOR A |
-- PARTICULAR PURPOSE OF SAID MATERIAL. |
--* |
-- |
-- FOUNDATION DESCRIPTION: |
-- This foundation declares supporting objects, types and a generic |
-- function for testing decimal fixed point operations. |
-- |
-- The generic function contains a loop which steps through two arrays: |
-- one of binary operations and one of operands. For each iteration, the |
-- current operation is performed on the current operand and a variable |
-- "Result" e.g.: |
-- |
-- Result := Operation(2)(Operand(3), Result); |
-- |
-- The result of each operation is cumulated in Result and returned to |
-- the caller when the loop completes. |
-- |
-- CHANGE HISTORY: |
-- 12 Mar 96 SAIC Prerelease version for ACVC 2.1. |
-- |
--! |
|
package FXF2A00 is |
|
Loop_Count : constant := 30000; -- # test iterations. |
Optr_Count : constant := 6; -- # operations in op sequence. |
Opnd_Count : constant := 5; -- # different operands. |
|
type Loop_Range is range 1 .. Loop_Count; -- range 1 .. 30000. |
type Optr_Range is mod Optr_Count; -- range 0 .. 5. |
type Opnd_Range is mod Opnd_Count; -- range 0 .. 4. |
|
|
generic |
|
type Decimal_Fixed is delta <> digits <>; |
|
type Operator_Ptr is access |
function (L, R : Decimal_Fixed) return Decimal_Fixed; |
|
type Operator_Table is array (Optr_Range) of Operator_Ptr; |
type Operand_Table is array (Opnd_Range) of Decimal_Fixed; |
|
function Operations_Loop (Initial : Decimal_Fixed; |
Operator: Operator_Table; |
Operand : Operand_Table) return Decimal_Fixed; |
|
end FXF2A00; |
|
|
--==================================================================-- |
|
|
package body FXF2A00 is |
|
function Operations_Loop (Initial : Decimal_Fixed; |
Operator: Operator_Table; |
Operand : Operand_Table) return Decimal_Fixed is |
|
Result : Decimal_Fixed := Initial; -- Cumulator. |
Optr_Index : Optr_Range := 0; -- Index into operations table. |
Opnd_Index : Opnd_Range := 0; -- Index into operand table. |
|
begin |
for Count in Loop_Range loop |
Result := Operator(Optr_Index) (Result, Operand(Opnd_Index)); |
Optr_Index := Optr_Index + 1; -- Modular addition. |
Opnd_Index := Opnd_Index + 1; -- Modular addition. |
end loop; |
|
return Result; |
end Operations_Loop; |
|
end FXF2A00; |
/impdefd.a
0,0 → 1,69
-- IMPDEFD.A |
-- |
-- Grant of Unlimited Rights |
-- |
-- 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 |
-- unlimited rights in the software and documentation contained herein. |
-- Unlimited rights are defined in DFAR 252.227-7013(a)(19). By making |
-- this public release, the Government intends to confer upon all |
-- recipients unlimited rights equal to those held by the Government. |
-- These rights include rights to use, duplicate, release or disclose the |
-- 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 |
-- to do so. |
-- |
-- DISCLAIMER |
-- |
-- ALL MATERIALS OR INFORMATION HEREIN RELEASED, MADE AVAILABLE OR |
-- DISCLOSED ARE AS IS. THE GOVERNMENT MAKES NO EXPRESS OR IMPLIED |
-- WARRANTY AS TO ANY MATTER WHATSOEVER, INCLUDING THE CONDITIONS OF THE |
-- SOFTWARE, DOCUMENTATION OR OTHER INFORMATION RELEASED, MADE AVAILABLE |
-- OR DISCLOSED, OR THE OWNERSHIP, MERCHANTABILITY, OR FITNESS FOR A |
-- PARTICULAR PURPOSE OF SAID MATERIAL. |
--* |
-- |
-- DESCRIPTION: |
-- This package provides tailorable entities for a particular |
-- implementation. Each entity may be modified to suit the needs |
-- of the implementation. Default values are provided to act as |
-- a guide. |
-- |
-- The entities in this package are those which are used exclusively |
-- in tests for Annex D (Real-Time Systems). |
-- |
-- APPLICABILITY CRITERIA: |
-- This package is only required for implementations validating the |
-- Real-Time Systems Annex. |
-- |
-- CHANGE HISTORY: |
-- 29 Jan 96 SAIC Initial version for ACVC 2.1. |
-- 27 Aug 98 EDS Removed Processor_Type value Time_Slice |
--! |
|
package ImpDef.Annex_D is |
|
--=====-=====-=====-=====-=====-=====-=====-=====-=====-=====-=====-=====-- |
|
-- This constant is the maximum storage size that can be specified |
-- for a task. A single task that has this size must be able to |
-- run. Ideally, this value is large enough that two tasks of this |
-- size cannot run at the same time. If the value is too small then |
-- test CXDC001 may take longer to run. See the test for further |
-- information. |
|
Maximum_Task_Storage_Size : constant := 16_000_000; |
-- ^^^^^^^^^^ --- MODIFY HERE AS NEEDED |
|
--=====-=====-=====-=====-=====-=====-=====-=====-=====-=====-=====-=====-- |
|
-- Indicates the type of processor on which the tests are running. |
|
type Processor_Type is (Uni_Processor, Multi_Processor); |
|
Processor : constant Processor_Type := Uni_Processor; |
-- ^^^^^^^^^^^ --- MODIFY HERE AS NEEDED |
|
--=====-=====-=====-=====-=====-=====-=====-=====-=====-=====-=====-=====-- |
|
end ImpDef.Annex_D; |
/impdefh.a
0,0 → 1,102
-- IMPDEFH.A |
-- |
-- Grant of Unlimited Rights |
-- |
-- 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 |
-- unlimited rights in the software and documentation contained herein. |
-- Unlimited rights are defined in DFAR 252.227-7013(a)(19). By making |
-- this public release, the Government intends to confer upon all |
-- recipients unlimited rights equal to those held by the Government. |
-- These rights include rights to use, duplicate, release or disclose the |
-- 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 |
-- to do so. |
-- |
-- DISCLAIMER |
-- |
-- ALL MATERIALS OR INFORMATION HEREIN RELEASED, MADE AVAILABLE OR |
-- DISCLOSED ARE AS IS. THE GOVERNMENT MAKES NO EXPRESS OR IMPLIED |
-- WARRANTY AS TO ANY MATTER WHATSOEVER, INCLUDING THE CONDITIONS OF THE |
-- SOFTWARE, DOCUMENTATION OR OTHER INFORMATION RELEASED, MADE AVAILABLE |
-- OR DISCLOSED, OR THE OWNERSHIP, MERCHANTABILITY, OR FITNESS FOR A |
-- PARTICULAR PURPOSE OF SAID MATERIAL. |
--* |
-- |
-- DESCRIPTION: |
-- This package is used to define those values that are implementation |
-- defined for use with validating the Safety and Security special needs |
-- annex, Annex-H. |
-- |
-- APPLICABILITY CRITERIA: |
-- This package is only required for implementations validating the |
-- Safety and Security Annex. |
-- |
-- CHANGE HISTORY: |
-- 13 FEB 96 SAIC Initial version |
-- 25 NOV 96 SAIC Revised for release 2.1 |
-- |
--! |
|
package Impdef.Annex_H is |
|
type Scalar_To_Normalize is |
( Id0, Id1, Id2, Id3, Id4, Id5, Id6, Id7, Id8, Id9, |
Id10, Id11, Id12, Id13, Id14, Id15, Id16, Id17, Id18, Id19, |
Id20, Id21, Id22, Id23, Id24, Id25, Id26, Id27, Id28, Id29, |
Id30, Id31, Id32, Id33, Id34, Id35, Id36, Id37, Id38, Id39, |
Id40, Id41, Id42, Id43, Id44, Id45, Id46, Id47, Id48, Id49, |
Id50, Id51, Id52, Id53, Id54, Id55, Id56, Id57, Id58, Id59, |
Id60, Id61, Id62, Id63, Id64, Id65, Id66, Id67, Id68, Id69, |
Id70, Id71, Id72, Id73, Id74, Id75, Id76, Id77, Id78, Id79, |
Id80, Id81, Id82, Id83, Id84, Id85, Id86, Id87, Id88, Id89, |
Id90, Id91, Id92, Id93, Id94, Id95, Id96, Id97, Id98, Id99, |
IdA0, IdA1, IdA2, IdA3, IdA4, IdA5, IdA6, IdA7, IdA8, IdA9, |
IdB0, IdB1, IdB2, IdB3, IdB4, IdB5, IdB6 ); |
|
-- NO MODIFICATION NEEDED TO TYPE SCALAR_TO_NORMALIZE. DO NOT MODIFY. |
|
type Small_Number is range 1..100; |
|
-- NO MODIFICATION NEEDED TO TYPE SMALL_NUMBER. DO NOT MODIFY. |
|
--===================================================================== |
-- When the value documented in H.1(5) as the predictable initial value |
-- for an uninitialized object of the type Scalar_To_Normalize |
-- (an enumeration type containing 127 identifiers) is to be in the range |
-- Id0..IdB6, set the following constant to True; otherwise leave it set |
-- to False. |
|
Default_For_Scalar_To_Normalize_Is_In_Range : constant Boolean := False; |
-- MODIFY HERE AS NEEDED --- ^^^^^ |
|
--===================================================================== |
-- If the above constant Default_For_Scalar_To_Normalize_Is_In_Range is |
-- set True, the following constant must be set to the value documented |
-- in H.1(5) as the predictable initial value for the type |
-- Scalar_To_Normalize. |
|
Default_For_Scalar_To_Normalize : constant Scalar_To_Normalize := Id0; |
-- MODIFY HERE AS NEEDED --- ^^^ |
|
--===================================================================== |
-- When the value documented in H.1(5) as the predictable initial value |
-- for an uninitialized object of the type Small_Number |
-- (an integer type containing 100 values) is to be in the range |
-- 1..100, set the following constant to True; otherwise leave it set |
-- to False. |
|
Default_For_Small_Number_Is_In_Range : constant Boolean := False; |
-- MODIFY HERE AS NEEDED --- ^^^^^ |
|
--===================================================================== |
-- If the above constant Default_For_Small_Number_Is_In_Range is |
-- set True, the following constant must be set to the value documented |
-- in H.1(5) as the predictable initial value for the type Small_Number. |
|
Default_For_Small_Number : constant Small_Number := 100; |
-- MODIFY HERE AS NEEDED --- ^^^ |
|
--===================================================================== |
|
end Impdef.Annex_H; |
/f341a00.a
0,0 → 1,216
-- F341A00.A |
-- |
-- Grant of Unlimited Rights |
-- |
-- 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 |
-- unlimited rights in the software and documentation contained herein. |
-- Unlimited rights are defined in DFAR 252.227-7013(a)(19). By making |
-- this public release, the Government intends to confer upon all |
-- recipients unlimited rights equal to those held by the Government. |
-- These rights include rights to use, duplicate, release or disclose the |
-- 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 |
-- to do so. |
-- |
-- DISCLAIMER |
-- |
-- ALL MATERIALS OR INFORMATION HEREIN RELEASED, MADE AVAILABLE OR |
-- DISCLOSED ARE AS IS. THE GOVERNMENT MAKES NO EXPRESS OR IMPLIED |
-- WARRANTY AS TO ANY MATTER WHATSOEVER, INCLUDING THE CONDITIONS OF THE |
-- SOFTWARE, DOCUMENTATION OR OTHER INFORMATION RELEASED, MADE AVAILABLE |
-- OR DISCLOSED, OR THE OWNERSHIP, MERCHANTABILITY, OR FITNESS FOR A |
-- PARTICULAR PURPOSE OF SAID MATERIAL. |
--* |
-- |
-- FOUNDATION DESCRIPTION: |
-- This foundation provides a simple class hierarchy (a root type and two |
-- levels of derivation from it) to use in testing the basic OO features |
-- related to tagged types. |
-- |
-- CHANGE HISTORY: |
-- 06 Dec 94 SAIC ACVC 2.0 |
-- |
--! |
|
package F341A00_0 is -- package Bank |
|
type Dollar_Amount is new Float; |
|
type Account is tagged |
record |
Current_Balance: Dollar_Amount; |
end record; |
|
-- Primitive operations. |
|
procedure Deposit (A : in out Account; |
X : in Dollar_Amount); |
procedure Withdrawal (A : in out Account; |
X : in Dollar_Amount); |
function Balance (A : in Account) return Dollar_Amount; |
procedure Service_Charge (A : in out Account); |
procedure Add_Interest (A : in out Account); |
procedure Open (A : in out Account); |
|
end F341A00_0; |
|
|
--=================================================================-- |
|
|
package body F341A00_0 is |
|
-- Primitive operations for type Account. |
|
procedure Deposit (A : in out Account; |
X : in Dollar_Amount) is |
begin |
A.Current_Balance := A.Current_Balance + X; |
end Deposit; |
|
-- |
|
procedure Withdrawal (A : in out Account; |
X : in Dollar_Amount) is |
begin |
A.Current_Balance := A.Current_Balance - X; |
end Withdrawal; |
|
-- |
|
function Balance (A : in Account) return Dollar_Amount is |
begin |
return (A.Current_Balance); |
end Balance; |
|
-- |
|
procedure Service_Charge (A : in out Account) is |
begin |
A.Current_Balance := A.Current_Balance - 5.00; |
end Service_Charge; |
|
-- |
|
procedure Add_Interest (A : in out Account) is |
-- No interest accumulated on this type of account. |
Interest_On_Account : Dollar_Amount := 0.00; |
begin |
A.Current_Balance := A.Current_Balance + Interest_On_Account; |
end Add_Interest; |
|
-- |
|
procedure Open (A : in out Account) is |
Initial_Deposit : Dollar_Amount := 10.00; |
begin |
A.Current_Balance := Initial_Deposit; |
end Open; |
|
end F341A00_0; |
|
|
--=================================================================-- |
|
|
with F341A00_0; |
|
package F341A00_1 is -- package Checking |
|
package Bank renames F341A00_0; |
|
type Account is new Bank.Account with |
record |
Overdraft_Fee : Bank.Dollar_Amount; |
end record; |
|
|
-- Inherited primitive operations. |
-- procedure Deposit (A : in out Account; X : in Bank.Dollar_Amount); |
-- procedure Withdrawal (A : in out Account; X : in Bank.Dollar_Amount); |
-- function Balance (A : in Account) return Bank.Dollar_Amount; |
-- procedure Service_Charge(A : in out Account); |
-- procedure Add_Interest (A : in out Account); |
|
-- Overridden primitive operation. |
procedure Open (A : in out Account); |
|
end F341A00_1; |
|
|
--=================================================================-- |
|
|
package body F341A00_1 is |
|
-- Overridden primitive operation. |
|
procedure Open (A : in out Account) is |
Check_Guarantee : Bank.Dollar_Amount := 10.00; |
Initial_Deposit : Bank.Dollar_Amount := 100.00; |
begin |
A.Current_Balance := Initial_Deposit; |
A.Overdraft_Fee := Check_Guarantee; |
end Open; |
|
end F341A00_1; |
|
|
--=================================================================-- |
|
|
with F341A00_0; -- package Bank |
with F341A00_1; -- package Checking |
|
package F341A00_2 is -- package Interest_Checking |
|
package Bank renames F341A00_0; |
package Checking renames F341A00_1; |
|
subtype Interest_Rate is Bank.Dollar_Amount digits 4; |
|
Current_Rate : Interest_Rate := 0.030; |
|
type Account is new Checking.Account with |
record |
Rate : Interest_Rate; |
end record; |
|
-- "Twice" inherited primitive operations (Bank.Account, Checking.Account) |
-- procedure Deposit (A : in out Account; X : in Bank.Dollar_Amount); |
-- procedure Withdrawal (A : in out Account; X : in Bank.Dollar_Amount); |
-- function Balance (A : in Account) return Bank.Dollar_Amount; |
-- procedure Service_Charge(A : in out Account); |
|
-- Overridden primitive operations. |
procedure Add_Interest (A : in out Account); |
procedure Open (A : in out Account); |
|
end F341A00_2; |
|
|
--=================================================================-- |
|
|
package body F341A00_2 is |
|
-- Overridden primitive operations. |
|
procedure Add_Interest (A : in out Account) is |
use type Bank.Dollar_Amount; |
Interest_On_Account : Bank.Dollar_Amount |
:= Bank.Dollar_Amount(A.Current_Balance * A.Rate); |
begin |
A.Current_Balance := A.Current_Balance + Interest_On_Account; |
end Add_Interest; |
|
procedure Open (A : in out Account) is |
Initial_Deposit : Bank.Dollar_Amount := 1000.00; |
begin |
Checking.Open (Checking.Account (A)); |
A.Current_Balance := Initial_Deposit; |
A.Rate := Current_Rate; |
end Open; |
|
end F341A00_2; |
/fxaca00.a
0,0 → 1,144
-- FXACA00.A |
-- |
-- Grant of Unlimited Rights |
-- |
-- 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 |
-- unlimited rights in the software and documentation contained herein. |
-- Unlimited rights are defined in DFAR 252.227-7013(a)(19). By making |
-- this public release, the Government intends to confer upon all |
-- recipients unlimited rights equal to those held by the Government. |
-- These rights include rights to use, duplicate, release or disclose the |
-- 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 |
-- to do so. |
-- |
-- DISCLAIMER |
-- |
-- ALL MATERIALS OR INFORMATION HEREIN RELEASED, MADE AVAILABLE OR |
-- DISCLOSED ARE AS IS. THE GOVERNMENT MAKES NO EXPRESS OR IMPLIED |
-- WARRANTY AS TO ANY MATTER WHATSOEVER, INCLUDING THE CONDITIONS OF THE |
-- SOFTWARE, DOCUMENTATION OR OTHER INFORMATION RELEASED, MADE AVAILABLE |
-- OR DISCLOSED, OR THE OWNERSHIP, MERCHANTABILITY, OR FITNESS FOR A |
-- PARTICULAR PURPOSE OF SAID MATERIAL. |
--* |
-- |
-- FOUNDATION DESCRIPTION: |
-- This foundation consists of type definitions and object declarations |
-- used by tests of Stream_IO functionality. |
-- Objects of both record types specified below (discriminated records |
-- with defaults, and discriminated records w/o defaults that have the |
-- discriminant included in a representation clause for the type) should |
-- have their discriminants included in the stream when using 'Write |
-- Likewise, discriminants should be extracted from the stream when |
-- using 'Read. |
-- |
-- CHANGE HISTORY: |
-- 06 Dec 94 SAIC ACVC 2.0 |
-- 02 May 96 SAIC Incorporated reviewer comments for ACVC 2.1. |
-- |
--! |
|
with ImpDef; |
|
package FXACA00 is |
|
type Origin_Type is (Foreign, Domestic); |
|
for Origin_Type'Size use 1; -- Forces objects of the type to be |
-- representable in 1 bit, used in rep clause |
-- below for Sales_Record_Type. |
|
type Product_Type (Manufacture : Origin_Type := Domestic) is |
record |
Item : String (1..8); |
ID : Natural range 1..100; |
case Manufacture is |
when Foreign => |
Importer : String (1..10); |
when Domestic => |
Distributor : String (1..10); |
end case; |
end record; |
|
|
type Sales_Record_Type (Buyer : Origin_Type) is -- No default provided |
record -- for the discriminant. |
Name : String (1..6); |
Sale_Item : Boolean := False; |
case Buyer is |
when Foreign => |
Quantity_Discount : Boolean; |
when Domestic => |
Cash_Discount : Boolean; |
end case; |
end record; |
|
|
String_Bits : constant := ImpDef.Char_Bits * 6 - 1; |
|
-- This discriminated record type has a representation clause that |
-- includes the discriminant of the object of this type. |
|
for Sales_Record_Type use |
record |
Name at 0 range 0..String_Bits; |
Sale_Item at ImpDef.Next_Storage_Slot range 0..0; |
Buyer at ImpDef.Next_Storage_Slot range 1..1; |
Quantity_Discount at ImpDef.Next_Storage_Slot range 2..2; |
Cash_Discount at ImpDef.Next_Storage_Slot range 3..3; |
end record; |
|
|
type Timespan_Type is (Week, Month, Year); |
|
type Sales_Statistics_Type is |
array (Timespan_Type) of natural range 0 .. 500; |
|
|
-- Object Declarations |
|
|
Product_01 : Product_Type := (Domestic, "Product1", 1, "Distrib 01"); |
Product_02 : Product_Type (Manufacture => Foreign) := (Foreign, |
"Product2", |
2, |
"Importer02"); |
Product_03 : Product_Type (Foreign) := (Manufacture => Foreign, |
Item => "Product3", |
ID => 3, |
Importer => "Importer03"); |
-- |
|
Sale_Count_01 : Integer := 2; |
Sale_Count_02 : Integer := 0; |
Sale_Count_03 : Integer := 3; |
|
-- |
|
Sale_Rec_01 : Sales_Record_Type (Domestic) := |
(Domestic, "Buyer1", False, True); |
Sale_Rec_02 : Sales_Record_Type (Domestic) := |
(Domestic, "Buyer2", True, False); |
|
Sale_Rec_03 : Sales_Record_Type (Buyer => Foreign) := |
(Buyer => Foreign, Name => "Buyer3", Sale_Item => True, |
Quantity_Discount => True); |
|
Sale_Rec_04 : Sales_Record_Type (Foreign) := |
(Foreign, "Buyer4", True, False); |
Sale_Rec_05 : Sales_Record_Type (Buyer => Foreign) := (Foreign, |
"Buyer5", |
False, |
False); |
-- |
|
|
Product_01_Stats : Sales_Statistics_Type := (2,4,8); |
Product_02_Stats : Sales_Statistics_Type := (Week => 0, |
Month => 5, |
Year => 10); |
Product_03_Stats : Sales_Statistics_Type := (3, 6, others => 12); |
|
|
end FXACA00; |
/fxacb00.a
0,0 → 1,107
-- FXACB00.A |
-- |
-- Grant of Unlimited Rights |
-- |
-- 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 |
-- unlimited rights in the software and documentation contained herein. |
-- Unlimited rights are defined in DFAR 252.227-7013(a)(19). By making |
-- this public release, the Government intends to confer upon all |
-- recipients unlimited rights equal to those held by the Government. |
-- These rights include rights to use, duplicate, release or disclose the |
-- 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 |
-- to do so. |
-- |
-- DISCLAIMER |
-- |
-- ALL MATERIALS OR INFORMATION HEREIN RELEASED, MADE AVAILABLE OR |
-- DISCLOSED ARE AS IS. THE GOVERNMENT MAKES NO EXPRESS OR IMPLIED |
-- WARRANTY AS TO ANY MATTER WHATSOEVER, INCLUDING THE CONDITIONS OF THE |
-- SOFTWARE, DOCUMENTATION OR OTHER INFORMATION RELEASED, MADE AVAILABLE |
-- OR DISCLOSED, OR THE OWNERSHIP, MERCHANTABILITY, OR FITNESS FOR A |
-- PARTICULAR PURPOSE OF SAID MATERIAL. |
--* |
-- |
-- FOUNDATION DESCRIPTION: |
-- This foundation consists of type definitions and object declarations |
-- used by tests of Stream_IO functionality. |
-- These types include an unconstrained array type, and a discriminated |
-- record without a default discriminant, specifically chosen for use in |
-- demonstrating the capabilities of 'Output and 'Input. |
-- |
-- CHANGE HISTORY: |
-- 06 Dec 94 SAIC ACVC 2.0 |
-- |
--! |
|
package FXACB00 is |
|
type Customer_Type is (Residence, Apartment, Commercial); |
type Electric_Usage_Type is range 0..100000; |
type Months_In_Service_Type is range 1..12; |
type Quarterly_Period_Type is (Spring, Summer, Autumn, Winter); |
subtype Month_In_Quarter_Type is Positive range 1..3; |
type Service_History_Type is |
array (Quarterly_Period_Type range <>, Month_In_Quarter_Type range <>) |
of Electric_Usage_Type; |
|
|
type Service_Type (Customer : Customer_Type) is |
record |
Name : String (1..21); |
Account_ID : Natural range 0..100; |
case Customer is |
when Residence | Apartment => |
Low_Income_Credit : Boolean := False; |
when Commercial => |
Baseline_Allowance : Natural range 0..1000; |
Quantity_Discount : Boolean := False; |
end case; |
end record; |
|
|
-- Object Declarations |
|
|
Customer1 : Service_Type (Residence) := |
(Residence, "1221 Morningstar Lane", 44, False); |
Customer2 : Service_Type (Apartment) := (Customer => Apartment, |
Account_ID => 67, |
Name => "15 South Front St. #8", |
Low_Income_Credit => True); |
Customer3 : Service_Type (Commercial) := (Commercial, |
"12442 Central Avenue ", |
100, |
Baseline_Allowance => 938, |
Quantity_Discount => True); |
|
-- |
|
C1_Months : Months_In_Service_Type := 10; |
C2_Months : Months_In_Service_Type := 2; |
C3_Months : Months_In_Service_Type := 12; |
|
-- |
|
C1_Service_History : |
Service_History_Type (Quarterly_Period_Type, Month_In_Quarter_Type) := |
(Spring => (1 => 35, 2 => 39, 3 => 32), |
Summer => (1 => 34, 2 => 33, 3 => 39), |
Autumn => (1 => 45, 2 => 40, 3 => 38), |
Winter => (1 => 53, 2 => 0, 3 => 0)); |
|
C2_Service_History : |
Service_History_Type (Quarterly_Period_Type range Spring..Summer, |
Month_In_Quarter_Type) := |
(Spring => (23, 22, 0), Summer => (0, 0, 0)); |
|
C3_Service_History : |
Service_History_Type (Quarterly_Period_Type, Month_In_Quarter_Type) := |
(others => (others => 200)); |
|
-- |
|
Total_Customers_In_Service : constant Natural := 3; |
|
end FXACB00; |
/fxacc00.a
0,0 → 1,115
-- FXACC00.A |
-- |
-- Grant of Unlimited Rights |
-- |
-- 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 |
-- unlimited rights in the software and documentation contained herein. |
-- Unlimited rights are defined in DFAR 252.227-7013(a)(19). By making |
-- this public release, the Government intends to confer upon all |
-- recipients unlimited rights equal to those held by the Government. |
-- These rights include rights to use, duplicate, release or disclose the |
-- 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 |
-- to do so. |
-- |
-- DISCLAIMER |
-- |
-- ALL MATERIALS OR INFORMATION HEREIN RELEASED, MADE AVAILABLE OR |
-- DISCLOSED ARE AS IS. THE GOVERNMENT MAKES NO EXPRESS OR IMPLIED |
-- WARRANTY AS TO ANY MATTER WHATSOEVER, INCLUDING THE CONDITIONS OF THE |
-- SOFTWARE, DOCUMENTATION OR OTHER INFORMATION RELEASED, MADE AVAILABLE |
-- OR DISCLOSED, OR THE OWNERSHIP, MERCHANTABILITY, OR FITNESS FOR A |
-- PARTICULAR PURPOSE OF SAID MATERIAL. |
--* |
-- |
-- FOUNDATION DESCRIPTION: |
-- This foundation consists of a tagged type definition and several |
-- record extensions. Objects of each type have also been declared |
-- and given initial values. |
-- |
-- Visual Description of Type Extensions: |
-- |
-- type Ticket_Request |
-- | |
-- _______________|_________________ |
-- | | |
-- | | |
-- type Subscriber_Request type VIP_Request |
-- | |
-- | |
-- type Last_Minute_Request |
-- |
-- CHANGE HISTORY: |
-- 06 Dec 94 SAIC ACVC 2.0 |
-- |
--! |
|
with Ada.Calendar; |
|
package FXACC00 is |
|
type Location_Type is (Backstage, Orchestra, Center, Back, Balcony); |
type Quantity_Type is range 1 .. 100; |
subtype Season_Ticket_Type is Positive range 1 .. 1750; |
type VIP_Status_Type is (Mayor, City_Council, Visitor); |
type Donation_Type is (To_Charity, To_Theatre, Personal); |
|
Show_Of_Appreciation : constant Boolean := True; |
|
type Ticket_Request is tagged |
record |
Location : Location_Type; |
Number_Of_Tickets : Quantity_Type; |
end record; |
|
|
type Subscriber_Request is new Ticket_Request with |
record |
Subscription_Number : Season_Ticket_Type; |
end record; |
|
|
type VIP_Request is new Ticket_Request with |
record |
Rank : VIP_Status_Type; |
end record; |
|
|
type Last_Minute_Request (Special_Consideration : Boolean) |
is new VIP_Request with |
record |
Time_of_Request : Ada.Calendar.Time; |
case Special_Consideration is |
when True => Donation : Donation_Type; |
when False => null; |
end case; |
end record; |
|
|
-- Object Declarations. |
|
|
Box_Office_Request : Ticket_Request := |
(Location => Back, |
Number_Of_Tickets => 2); |
|
Summer_Subscription : Subscriber_Request := |
(Ticket_Request'(Box_Office_Request) |
with Subscription_Number => 567); |
|
Mayoral_Ticket_Request : VIP_Request := |
(Location => Backstage, |
Number_Of_Tickets => 6, |
Rank => Mayor); |
|
Late_Request : Last_Minute_Request (Show_Of_Appreciation) := |
(Special_Consideration => Show_Of_Appreciation, |
Location => Orchestra, |
Number_Of_Tickets => 2, |
Rank => City_Council, |
Time_Of_Request => Ada.Calendar.Clock, |
Donation => To_Charity); |
|
|
end FXACC00; |
/f393a00.a
0,0 → 1,245
-- F393A00.A |
-- |
-- Grant of Unlimited Rights |
-- |
-- 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 |
-- unlimited rights in the software and documentation contained herein. |
-- Unlimited rights are defined in DFAR 252.227-7013(a)(19). By making |
-- this public release, the Government intends to confer upon all |
-- recipients unlimited rights equal to those held by the Government. |
-- These rights include rights to use, duplicate, release or disclose the |
-- 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 |
-- to do so. |
-- |
-- DISCLAIMER |
-- |
-- ALL MATERIALS OR INFORMATION HEREIN RELEASED, MADE AVAILABLE OR |
-- DISCLOSED ARE AS IS. THE GOVERNMENT MAKES NO EXPRESS OR IMPLIED |
-- WARRANTY AS TO ANY MATTER WHATSOEVER, INCLUDING THE CONDITIONS OF THE |
-- SOFTWARE, DOCUMENTATION OR OTHER INFORMATION RELEASED, MADE AVAILABLE |
-- OR DISCLOSED, OR THE OWNERSHIP, MERCHANTABILITY, OR FITNESS FOR A |
-- PARTICULAR PURPOSE OF SAID MATERIAL. |
--* |
-- |
-- FOUNDATION DESCRIPTION: |
-- This foundation provides a simple background for a class family |
-- based on an abstract type. It is to be used to test the |
-- dispatching of various forms of subprogram defined/inherited and |
-- overridden with the abstract type. |
-- |
-- type procedures functions |
-- ---- ---------- --------- |
-- Object Initialize, Swap(abstract) Create(abstract) |
-- Object'Class Initialized |
-- Windmill is new Object Swap, Stop, Add_Spin Create, Spin |
-- Pump is new Windmill Set_Rate Create, Rate |
-- Mill is new Windmill Swap, Stop Create |
-- |
-- CHANGE HISTORY: |
-- 06 Dec 94 SAIC ACVC 2.0 |
-- |
--! |
|
package F393A00_0 is |
procedure TC_Touch ( A_Tag : Character ); |
procedure TC_Validate( Expected: String; Message: String ); |
end F393A00_0; |
|
with Report; |
package body F393A00_0 is |
Expectation : String(1..20); |
Finger : Natural := 0; |
|
procedure TC_Touch ( A_Tag : Character ) is |
begin |
Finger := Finger+1; |
Expectation(Finger) := A_Tag; |
end TC_Touch; |
|
procedure TC_Validate( Expected: String; Message: String ) is |
begin |
if Expectation(1..Finger) /= Expected then |
Report.Failed( Message & " Expecting: " & Expected |
& " Got: " & Expectation(1..Finger) ); |
end if; |
Finger := 0; |
end TC_Validate; |
end F393A00_0; |
|
---------------------------------------------------------------------- |
|
package F393A00_1 is |
type Object is abstract tagged private; |
procedure Initialize( An_Object: in out Object ); |
function Initialized( An_Object: Object'Class ) return Boolean; |
procedure Swap( A,B: in out Object ) is abstract; |
function Create return Object is abstract; |
private |
type Object is abstract tagged record |
Initialized : Boolean := False; |
end record; |
end F393A00_1; |
|
with F393A00_0; |
package body F393A00_1 is |
procedure Initialize( An_Object: in out Object ) is |
begin |
An_Object.Initialized := True; |
F393A00_0.TC_Touch('a'); |
end Initialize; |
|
function Initialized( An_Object: Object'Class ) return Boolean is |
begin |
F393A00_0.TC_Touch('b'); |
return An_Object.Initialized; |
end Initialized; |
end F393A00_1; |
|
---------------------------------------------------------------------- |
|
with F393A00_1; |
package F393A00_2 is |
|
type Rotational_Measurement is range -1_000 .. 1_000; |
type Windmill is new F393A00_1.Object with private; |
|
procedure Swap( A,B: in out Windmill ); |
|
function Create return Windmill; |
|
procedure Add_Spin( To_Mill : in out Windmill; |
RPMs : in Rotational_Measurement ); |
|
procedure Stop( Mill : in out Windmill ); |
|
function Spin( Mill : Windmill ) return Rotational_Measurement; |
|
private |
type Windmill is new F393A00_1.Object with |
record |
Spin : Rotational_Measurement := 0; |
end record; |
end F393A00_2; |
|
with F393A00_0; |
package body F393A00_2 is |
|
procedure Swap( A,B: in out Windmill ) is |
T : constant Windmill := B; |
begin |
F393A00_0.TC_Touch('c'); |
B := A; |
A := T; |
end Swap; |
|
function Create return Windmill is |
A_Mill : Windmill; |
begin |
F393A00_0.TC_Touch('d'); |
return A_Mill; |
end Create; |
|
procedure Add_Spin( To_Mill : in out Windmill; |
RPMs : in Rotational_Measurement ) is |
begin |
F393A00_0.TC_Touch('e'); |
To_Mill.Spin := To_Mill.Spin + RPMs; |
end Add_Spin; |
|
procedure Stop( Mill : in out Windmill ) is |
begin |
F393A00_0.TC_Touch('f'); |
Mill.Spin := 0; |
end Stop; |
|
function Spin( Mill : Windmill ) return Rotational_Measurement is |
begin |
F393A00_0.TC_Touch('g'); |
return Mill.Spin; |
end Spin; |
|
end F393A00_2; |
|
---------------------------------------------------------------------- |
|
with F393A00_2; |
package F393A00_3 is |
type Pump is new F393A00_2.Windmill with private; |
function Create return Pump; |
|
type Gallons_Per_Revolution is digits 3; |
procedure Set_Rate( A_Pump: in out Pump; To_Rate: Gallons_Per_Revolution); |
function Rate( Of_Pump: Pump ) return Gallons_Per_Revolution; |
private |
type Pump is new F393A00_2.Windmill with |
record |
GPRPM : Gallons_Per_Revolution := 0.0; -- Gallons/RPM |
end record; |
end F393A00_3; |
|
with F393A00_0; |
package body F393A00_3 is |
function Create return Pump is |
Sump : Pump; |
begin |
F393A00_0.TC_Touch('h'); |
return Sump; |
end Create; |
|
procedure Set_Rate( A_Pump: in out Pump; To_Rate: Gallons_Per_Revolution) |
is |
begin |
F393A00_0.TC_Touch('i'); |
A_Pump.GPRPM := To_Rate; |
end Set_Rate; |
|
function Rate( Of_Pump: Pump ) return Gallons_Per_Revolution is |
begin |
F393A00_0.TC_Touch('j'); |
return Of_Pump.GPRPM; |
end Rate; |
end F393A00_3; |
|
---------------------------------------------------------------------- |
|
with F393A00_2; |
with F393A00_3; |
package F393A00_4 is |
type Mill is new F393A00_2.Windmill with private; |
|
procedure Swap( A,B: in out Mill ); |
function Create return Mill; |
procedure Stop( It: in out Mill ); |
private |
type Mill is new F393A00_2.Windmill with |
record |
Pump: F393A00_3.Pump := F393A00_3.Create; |
end record; |
end F393A00_4; |
|
with F393A00_0; |
package body F393A00_4 is |
procedure Swap( A,B: in out Mill ) is |
T: constant Mill := A; |
begin |
F393A00_0.TC_Touch('k'); |
A := B; |
B := T; |
end Swap; |
|
function Create return Mill is |
A_Mill : Mill; |
begin |
F393A00_0.TC_Touch('l'); |
return A_Mill; |
end Create; |
|
procedure Stop( It: in out Mill ) is |
begin |
F393A00_0.TC_Touch('m'); |
F393A00_3.Stop( It.Pump ); |
F393A00_2.Stop( F393A00_2.Windmill( It ) ); |
end Stop; |
end F393A00_4; |
/f393b00.a
0,0 → 1,101
-- F393B00.A |
-- Alert_Foundation |
-- |
-- Grant of Unlimited Rights |
-- |
-- 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 |
-- unlimited rights in the software and documentation contained herein. |
-- Unlimited rights are defined in DFAR 252.227-7013(a)(19). By making |
-- this public release, the Government intends to confer upon all |
-- recipients unlimited rights equal to those held by the Government. |
-- These rights include rights to use, duplicate, release or disclose the |
-- 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 |
-- to do so. |
-- |
-- DISCLAIMER |
-- |
-- ALL MATERIALS OR INFORMATION HEREIN RELEASED, MADE AVAILABLE OR |
-- DISCLOSED ARE AS IS. THE GOVERNMENT MAKES NO EXPRESS OR IMPLIED |
-- WARRANTY AS TO ANY MATTER WHATSOEVER, INCLUDING THE CONDITIONS OF THE |
-- SOFTWARE, DOCUMENTATION OR OTHER INFORMATION RELEASED, MADE AVAILABLE |
-- OR DISCLOSED, OR THE OWNERSHIP, MERCHANTABILITY, OR FITNESS FOR A |
-- PARTICULAR PURPOSE OF SAID MATERIAL. |
--* |
-- |
-- FOUNDATION DESCRIPTION: |
-- This package declares three abstract types for use in C660 series |
-- tests, Alert, Special_Alert, and Private_Alert. |
-- It models (in miniature) an application situation in which an |
-- abstraction is defined in terms of structure (record and operations |
-- on the record) but not in terms of content (record is null). It |
-- also models a situation in which an abstraction includes some |
-- specific, implementation dependent, information. |
-- |
-- CHANGE HISTORY: |
-- 06 Dec 94 SAIC ACVC 2.0 |
-- |
--! |
|
package F393B00 is |
type Alert is abstract tagged null record; -- abstract type |
-- see procedure Handle below |
|
procedure Handle (A : in out Alert) is abstract; |
-- abstract procedure, |
-- explicitly declared |
|
|
type Private_Alert is abstract tagged private; |
|
procedure Handle (PA : in out Private_Alert) is abstract; |
-- ensures that Private_Alert |
-- is visibly abstract |
|
|
type Status_Kind is (Practice, Real, Dont_Care); |
type Urgency_Kind is (Low, Medium, High); |
|
type Practice_Alert is new Alert with record |
Status : Status_Kind := Dont_Care; |
Urgency : Urgency_Kind := Low; |
end record; |
|
procedure Handle (PA : in out Practice_Alert); |
-- overrides inherited Handle |
|
|
|
type Device is (Teletype, Console, Big_Screen); |
|
type Special_Alert (Age : Integer) is |
abstract new Practice_Alert with record |
Display : Device; |
end record; |
|
procedure Handle (SA : in out Special_Alert) is abstract; |
-- overrides inherited Handle |
|
private |
subtype Implementation_Detail is Integer range 1..10; |
|
type Private_Alert is abstract tagged record |
Private_Field : Implementation_Detail := 1; |
end record; |
|
|
end F393B00; |
|
--=======================================================================-- |
|
package body F393B00 is |
|
procedure Handle (PA : in out Practice_Alert) is |
begin |
PA.Status := Real; |
PA.Urgency := Medium; |
end Handle; |
|
end F393B00; |
|
/macrodef.adb
0,0 → 1,11
with Ada.Text_IO; |
with System; |
procedure Macrodef is |
begin |
Ada.Text_IO.Put_Line ("Integer'First = " & Integer'Image (Integer'First)); |
Ada.Text_IO.Put_Line ("Integer'Last = " & Integer'Image (Integer'Last)); |
Ada.Text_IO.Put_Line ("System.Min_Int = " & Long_Long_Integer'Image (System.Min_Int)); |
Ada.Text_IO.Put_Line ("System.Max_Int = " & Long_Long_Integer'Image (System.Max_Int)); |
Ada.Text_IO.Put_Line ("Ada.Text_IO.Count'Last = " & Ada.Text_IO.Count'Image (Ada.Text_IO.Count'Last)); |
Ada.Text_IO.Put_Line ("Ada.Text_IO.Field'Last = " & Ada.Text_IO.Field'Image (Ada.Text_IO.Field'Last)); |
end Macrodef; |
/f3a2a00.a
0,0 → 1,81
-- F3A2A00.A |
-- |
-- Grant of Unlimited Rights |
-- |
-- 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 |
-- unlimited rights in the software and documentation contained herein. |
-- Unlimited rights are defined in DFAR 252.227-7013(a)(19). By making |
-- this public release, the Government intends to confer upon all |
-- recipients unlimited rights equal to those held by the Government. |
-- These rights include rights to use, duplicate, release or disclose the |
-- 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 |
-- to do so. |
-- |
-- DISCLAIMER |
-- |
-- ALL MATERIALS OR INFORMATION HEREIN RELEASED, MADE AVAILABLE OR |
-- DISCLOSED ARE AS IS. THE GOVERNMENT MAKES NO EXPRESS OR IMPLIED |
-- WARRANTY AS TO ANY MATTER WHATSOEVER, INCLUDING THE CONDITIONS OF THE |
-- SOFTWARE, DOCUMENTATION OR OTHER INFORMATION RELEASED, MADE AVAILABLE |
-- OR DISCLOSED, OR THE OWNERSHIP, MERCHANTABILITY, OR FITNESS FOR A |
-- PARTICULAR PURPOSE OF SAID MATERIAL. |
--* |
-- |
-- FOUNDATION DESCRIPTION: |
-- This foundation declares support types and subprograms for testing |
-- run-time accessibility checks. |
-- |
-- CHANGE HISTORY: |
-- 01 May 95 SAIC Initial prerelease version. |
-- |
--! |
|
package F3A2A00 is |
|
type Tagged_Type is tagged record |
C: Integer := 0; |
end record; |
|
type Array_Type is array (1 .. 10) of Tagged_Type; |
|
type AccTag_L0 is access all Tagged_Type; |
type AccTagClass_L0 is access all Tagged_Type'Class; |
|
type AccArr_L0 is access all Array_Type; |
|
X_L0 : Tagged_Type; |
|
|
type TC_Result_Kind is (OK, P_E, O_E); |
|
procedure TC_Display_Results (Actual : in TC_Result_Kind; |
Expected: in TC_Result_Kind; |
Message : in String); |
end F3A2A00; |
|
|
--==================================================================-- |
|
|
with Report; |
package body F3A2A00 is |
|
procedure TC_Display_Results (Actual : in TC_Result_Kind; |
Expected: in TC_Result_Kind; |
Message : in String) is |
begin |
if Actual /= Expected then |
case Actual is |
when OK => |
Report.Failed ("No exception raised: " & Message); |
when P_E => |
Report.Failed ("Program_Error raised: " & Message); |
when O_E => |
Report.Failed ("Unexpected exception raised: " & Message); |
end case; |
end if; |
end TC_Display_Results; |
|
end F3A2A00; |
/macro.dfs
0,0 → 1,301
-- MACRO.DFS |
-- THIS FILE CONTAINS THE MACRO DEFINITIONS USED IN THE ACVC TESTS. |
-- THESE DEFINITIONS ARE USED BY THE ACVC TEST PRE-PROCESSOR, |
-- MACROSUB. MACROSUB WILL CALCULATE VALUES FOR THOSE MACRO SYMBOLS |
-- WHOSE DEFINITIONS DEPEND ON THE VALUE OF MAX_IN_LEN (NAMELY, THE |
-- VALUES OF THE MACRO SYMBOLS BIG_ID1, BIG_ID2, BIG_ID3, BIG_ID4, |
-- BIG_STRING1, BIG_STRING2, MAX_STRING_LITERAL, BIG_INT_LIT, BIG_REAL_LIT, |
-- AND BLANKS). THEREFORE, ANY VALUES GIVEN IN THIS FILE FOR THOSE |
-- MACRO SYMBOLS WILL BE IGNORED BY MACROSUB. |
|
-- NOTE: AS REQUIRED BY THE MACROSUB PROGRAM, THE FIRST MACRO DEFINED |
-- IN THIS FILE IS $MAX_IN_LEN. THE NEXT 5 MACRO DEFINITIONS |
-- ARE FOR THOSE MACRO SYMBOLS THAT DEPEND ON THE VALUE OF |
-- MAX_IN_LEN. THESE ARE IN ALPHABETIC ORDER. FOLLOWING THESE |
-- ARE 36 MORE DEFINITIONS, ALSO IN ALPHABETIC ORDER. |
|
-- EACH DEFINITION IS ACCORDING TO THE FOLLOWING FORMAT: |
|
-- A. A NUMBER OF LINES PRECEDED BY THE ADA COMMENT DELIMITER, --. |
-- THE FIRST OF THESE LINES CONTAINS THE MACRO SYMBOL AS IT APPEARS |
-- IN THE TEST FILES (WITH THE DOLLAR SIGN). THE NEXT FEW "COMMENT" |
-- LINES CONTAIN A DESCRIPTION OF THE VALUE TO BE SUBSTITUTED. |
-- THE REMAINING "COMMENT" LINES, THE FIRST OF WHICH BEGINS WITH THE |
-- WORDS "USED IN: " (NO QUOTES), CONTAIN A LIST OF THE TEST FILES |
-- (WITHOUT THE .TST EXTENSION) IN WHICH THE MACRO SYMBOL APPEARS. |
-- EACH TEST FILE NAME IS PRECEDED BY ONE OR MORE BLANKS. |
-- B. A LINE, WITHOUT THE COMMENT DELIMITER, CONSISTING OF THE |
-- IDENTIFIER (WITHOUT THE DOLLAR SIGN) OF THE MACRO SYMBOL, |
-- FOLLOWED BY A SPACE OR TAB, FOLLOWED BY THE VALUE TO BE |
-- SUBSTITUTED. IN THE DISTRIBUTION FILE, A SAMPLE VALUE IS |
-- PROVIDED; THIS VALUE MUST BE REPLACED BY A VALUE APPROPRIATE TO |
-- THE IMPLEMENTATION. |
|
-- DEFINITIONS ARE SEPARATED BY ONE OR MORE EMPTY LINES. |
-- THE LIST OF DEFINITIONS BEGINS AFTER THE FOLLOWING EMPTY LINE. |
|
-- $MAX_IN_LEN |
-- AN INTEGER LITERAL GIVING THE MAXIMUM LENGTH PERMITTED BY THE |
-- COMPILER FOR A LINE OF ADA SOURCE CODE (NOT INCLUDING AN END-OF-LINE |
-- CHARACTER). |
-- USED IN: A26007A |
MAX_IN_LEN 200 |
|
-- $MAX_STRING_LITERAL |
-- A STRING LITERAL CONSISTING OF $MAX_IN_LEN CHARACTERS (INCLUDING THE |
-- QUOTE CHARACTERS). |
-- USED IN: A26007A |
MAX_STRING_LITERAL "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" |
|
-- $BIG_ID1 |
-- AN IDENTIFIER IN WHICH THE NUMBER OF CHARACTERS IS $MAX_IN_LEN. |
-- THE MACROSUB PROGRAM WILL SUPPLY AN IDENTIFIER IN WHICH THE |
-- LAST CHARACTER IS '1' AND ALL OTHERS ARE 'A'. |
-- USED IN: C23003A C23003B C23003G C23003I |
-- C35502D C35502F |
BIG_ID1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA1 |
|
-- $BIG_ID2 |
-- AN IDENTIFIER IN WHICH THE NUMBER OF CHARACTERS IS $MAX_IN_LEN, |
-- DIFFERING FROM $BIG_ID1 ONLY IN THE LAST CHARACTER. THE MACROSUB |
-- PROGRAM WILL USE '2' AS THE LAST CHARACTER. |
-- USED IN: C23003A C23003B B23003F C23003G C23003I |
BIG_ID2 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA2 |
|
-- $BIG_ID3 |
-- AN IDENTIFIER IN WHICH THE NUMBER OF CHARACTERS IS $MAX_IN_LEN. |
-- MACROSUB WILL USE '3' AS THE "MIDDLE" CHARACTER; ALL OTHERS ARE 'A'. |
-- USED IN: C23003A C23003B C23003G C23003I |
BIG_ID3 AAAAAAAAAAAAAAAAAAAAAAAAAAAAA3AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA |
|
-- $BIG_ID4 |
-- AN IDENTIFIER IN WHICH THE NUMBER OF CHARACTERS IS $MAX_IN_LEN, |
-- DIFFERING FROM $BIG_ID3 ONLY IN THE MIDDLE CHARACTER. MACROSUB |
-- WILL USE '4' AS THE MIDDLE CHARACTER. |
-- USED IN: C23003A C23003B C23003G C23003I |
BIG_ID4 AAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA |
|
-- $BIG_STRING1 |
-- A STRING LITERAL (WITH QUOTES) WHOSE CATENATION WITH $BIG_STRING2 |
-- ($BIG_STRING1 & $BIG_STRING2) PRODUCES THE IMAGE OF $BIG_ID1. |
-- USED IN: C35502D C35502F |
BIG_STRING1 "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" |
|
-- $BIG_STRING2 |
-- A STRING LITERAL (WITH QUOTES) WHOSE CATENATION WITH $BIG_STRING1 |
-- ($BIG_STRING1 & $BIG_STRING2) PRODUCES THE IMAGE OF $BIG_ID1. |
-- USED IN: C35502D C35502F |
BIG_STRING2 "AAAAAAAAAAAAAAAAAAAAAAAAAAAAA1" |
|
-- $BLANKS |
-- A SEQUENCE OF ($MAX_IN_LEN - 20) BLANKS. |
-- USED IN: B22001A B22001B B22001C B22001D B22001E B22001F |
-- B22001G B22001I B22001J B22001K B22001L B22001M |
-- B22001N |
-- < LIMITS OF SAMPLE SHOWN BY ANGLE BRACKETS > |
BLANKS |
|
-- $ACC_SIZE |
-- AN INTEGER LITERAL WHOSE VALUE IS THE MINIMUM NUMBER OF BITS |
-- SUFFICIENT TO HOLD ANY VALUE OF AN ACCESS TYPE. |
-- USED IN: CD2A83C BD2A02A |
ACC_SIZE ACATS4GNATBIT |
|
-- $ALIGNMENT |
-- A VALUE THAT IS LEGITIMATE FOR USE IN A RECORD ALIGNMENT CLAUSE. |
-- USED IN: CD4041A BD4006A |
ALIGNMENT 4 |
|
-- $COUNT_LAST |
-- AN INTEGER LITERAL WHOSE VALUE IS TEXT_IO.COUNT'LAST. |
-- USED IN: CE3002B |
COUNT_LAST 2147483647 |
|
-- $ENTRY_ADDRESS |
-- AN EXPRESSION YIELDING A LEGAL ADDRESS FOR A TASK ENTRY |
-- (I.E., FOR AN INTERRUPT) FOR THIS IMPLEMENTATION. |
-- USED IN: SPPRT13SP |
ENTRY_ADDRESS ENTRY_ADDR |
|
-- $ENTRY_ADDRESS1 |
-- AN EXPRESSION YIELDING A LEGAL ADDRESS FOR A TASK ENTRY |
-- (I.E., FOR AN INTERRUPT) FOR THIS IMPLEMENTATION. THE ADDRESS |
-- MUST BE DISTINCT FROM THAT USED IN $ENTRY_ADDRESS. |
-- USED IN: SPPRT13SP |
ENTRY_ADDRESS1 ENTRY_ADDR1 |
|
-- $ENTRY_ADDRESS2 |
-- AN EXPRESSION YIELDING A LEGAL ADDRESS FOR A TASK ENTRY |
-- (I.E., FOR AN INTERRUPT) FOR THIS IMPLEMENTATION. THE ADDRESS |
-- MUST BE DISTINCT FROM THOSE USED IN $ENTRY_ADDRESS |
-- AND $ENTRY_ADDRESS1. |
-- USED IN: SPPRT13SP |
ENTRY_ADDRESS2 ENTRY_ADDR2 |
|
-- $FIELD_LAST |
-- AN INTEGER LITERAL WHOSE VALUE IS TEXT_IO.FIELD'LAST. |
-- USED IN: CE3002C |
FIELD_LAST 255 |
|
-- $FORM_STRING |
-- A STRING LITERAL SPECIFYING THAT THE EXTERNAL FILE MEETS BOTH |
-- CONDITIONS: (1) THERE IS A VALUE OF TYPE TEXT_IO.COUNT THAT IS NOT |
-- AN APPROPRIATE LINE-LENGTH FOR THE FILE, (2) THERE IS A VALUE |
-- OF TYPE TEXT_IO.COUNT THAT IS NOT AN APPROPRIATE PAGE-LENGTH |
-- FOR THE FILE. |
-- IF IT IS NOT POSSIBLE TO SATISFY BOTH CONDITIONS, THEN SUBSTITUTE |
-- A STRING LITERAL SPECIFYING THAT THE EXTERNAL FILE SATISFIES ONE |
-- OF THE CONDITIONS. IF IT IS NOT POSSIBLE TO SATISFY EITHER CONDITION, |
-- THEN SUBSTITUTE THE NULL STRING (""). |
-- USED IN: CE3304A |
FORM_STRING "" |
|
-- $FORM_STRING2 |
-- A STRING LITERAL SPECIFYING THAT THE CAPACITY OF THE FILE IS |
-- RESTRICTED TO 4096 CHARACTERS OR LESS. IF THE IMPLEMENTATION |
-- CANNOT RESTRICT FILE CAPACITY, $FORM_STRING2 SHOULD EQUAL |
-- "CANNOT_RESTRICT_FILE_CAPACITY". |
-- USED IN: CE2203A CE2403A |
FORM_STRING2 "CANNOT_RESTRICT_FILE_CAPACITY" |
|
-- $GREATER_THAN_DURATION |
-- A REAL LITERAL WHOSE VALUE (NOT SUBJECT TO ROUND-OFF ERROR |
-- IF POSSIBLE) LIES BETWEEN DURATION'BASE'LAST AND DURATION'LAST. IF |
-- NO SUCH VALUES EXIST, USE A VALUE IN DURATION'RANGE. |
-- USED IN: C96005B |
GREATER_THAN_DURATION 86_000.0 |
|
|
|
|
-- $ILLEGAL_EXTERNAL_FILE_NAME1 |
-- AN ILLEGAL EXTERNAL FILE NAME (E.G., TOO LONG, CONTAINING INVALID |
-- CHARACTERS, CONTAINING WILD-CARD CHARACTERS, OR SPECIFYING A |
-- NONEXISTENT DIRECTORY). |
-- USED IN: CE2102C CE2102H CE2103A CE2103B CE3102B CE3107A |
ILLEGAL_EXTERNAL_FILE_NAME1 /NODIRECTORY/FILENAME |
|
-- $ILLEGAL_EXTERNAL_FILE_NAME2 |
-- AN ILLEGAL EXTERNAL FILE NAME, DIFFERENT FROM $ILLEGAL_EXTERNAL_FILE_NAME1. |
-- USED IN: CE2102C CE2102H CE2103A CE2103B CE3102B |
ILLEGAL_EXTERNAL_FILE_NAME2 /@@/@@/@@\@@\@@\@@ |
|
-- $INAPPROPRIATE_LINE_LENGTH |
-- A LITERAL OF TYPE COUNT THAT IS INAPPROPRIATE AS THE LINE-LENGTH |
-- FOR THE EXTERNAL FILE. IF THERE IS NO SUCH VALUE, THEN USE -1. |
-- USED IN: CE3304A |
INAPPROPRIATE_LINE_LENGTH -1 |
|
-- $INAPPROPRIATE_PAGE_LENGTH |
-- A LITERAL OF TYPE COUNT THAT IS INAPPROPRIATE AS THE PAGE-LENGTH |
-- FOR THE EXTERNAL FILE. IF THERE IS NO SUCH VALUE, THEN USE -1. |
-- USED IN: CE3304A |
INAPPROPRIATE_PAGE_LENGTH -1 |
|
-- $INTEGER_FIRST |
-- AN INTEGER LITERAL, WITH SIGN, WHOSE VALUE IS INTEGER'FIRST. |
-- THE LITERAL MUST NOT INCLUDE UNDERSCORES OR LEADING OR TRAILING |
-- BLANKS. |
-- USED IN: C35503F B54B01B |
INTEGER_FIRST -2147483648 |
|
-- $INTEGER_LAST |
-- AN INTEGER LITERAL WHOSE VALUE IS INTEGER'LAST. THE LITERAL MUST |
-- NOT INCLUDE UNDERSCORES OR LEADING OR TRAILING BLANKS. |
-- USED IN: C35503F B54B01B |
INTEGER_LAST 2147483647 |
|
|
-- $LESS_THAN_DURATION |
-- A REAL LITERAL (WITH SIGN) WHOSE VALUE (NOT SUBJECT TO |
-- ROUND-OFF ERROR IF POSSIBLE) LIES BETWEEN DURATION'BASE'FIRST AND |
-- DURATION'FIRST. IF NO SUCH VALUES EXIST, USE A VALUE IN |
-- DURATION'RANGE. |
-- USED IN: C96005B |
LESS_THAN_DURATION -86_400.0 |
|
|
-- $MACHINE_CODE_STATEMENT |
-- A VALID MACHINE CODE STATEMENT AS SPECIFIED IN THE PACKAGE |
-- MACHINE_CODE. IF THE IMPLEMENTATION DOES NOT SUPPORT MACHINE |
-- CODE THEN USE THE ADA NULL STATEMENT (I.E. NULL; ). |
-- USED IN: AD8011A BD8001A BD8002A BD8004A BD8004B |
MACHINE_CODE_STATEMENT Asm_Insn'(Asm ("ACATS4GNATINSN")); |
|
-- $MAX_INT |
-- AN INTEGER LITERAL WHOSE VALUE IS SYSTEM.MAX_INT. |
-- THE LITERAL MUST NOT INCLUDE UNDERSCORES OR LEADING OR TRAILING |
-- BLANKS. |
-- USED IN: C35503D C35503F C4A007A |
MAX_INT 9223372036854775807 |
|
|
-- $MIN_INT |
-- AN INTEGER LITERAL, WITH SIGN, WHOSE VALUE IS SYSTEM.MIN_INT. |
-- THE LITERAL MUST NOT CONTAIN UNDERSCORES OR LEADING OR TRAILING |
-- BLANKS. |
-- USED IN: C35503D C35503F |
MIN_INT -9223372036854775808 |
|
-- $NAME |
-- THE NAME OF A PREDEFINED INTEGER TYPE OTHER THAN INTEGER, |
-- SHORT_INTEGER, OR LONG_INTEGER. |
-- (IMPLEMENTATIONS WHICH HAVE NO SUCH TYPES SHOULD USE AN UNDEFINED |
-- IDENTIFIER SUCH AS NO_SUCH_TYPE_AVAILABLE.) |
-- USED IN: C45231D CD7101G |
NAME LONG_LONG_INTEGER |
|
-- $OPTIONAL_DISC |
-- A DISCRIMINANT USED AS THE DISCRIMINANT PART OF $RECORD_NAME. |
-- IF MACHINE CODE INSERTIONS ARE NOT SUPPORTED THEN SUBSTITUTE |
-- NO_SUCH_MACHINE_CODE_DISC. |
-- USED IN: BD8002A |
OPTIONAL_DISC |
|
-- $RECORD_DEFINITION |
-- THE RECORD TYPE DEFINITION (WITH FINAL SEMICOLON) FOR THE TYPE THAT |
-- WAS USED IN THE MACRO $RECORD_NAME, AS DECLARED IN PACKAGE |
-- MACHINE_CODE. IF THE IMPLEMENTATION DOES NOT SUPPORT MACHINE CODE, |
-- THEN USE A NULL RECORD DEFINITION |
-- USED IN: BD8002A |
RECORD_DEFINITION RECORD ASM : STRING (1..4); END RECORD; |
|
-- $RECORD_NAME |
-- A VALID RECORD TYPE NAME THAT IS DEFINED IN PACKAGE MACHINE_CODE. |
-- IF THE IMPLEMENTATION DOES NOT SUPPORT MACHINE CODE THEN |
-- USE THE NAME "NO_SUCH_MACHINE_CODE_TYPE" |
-- USED IN: BD8002A |
RECORD_NAME Asm_Insn |
|
-- $TASK_SIZE |
-- AN INTEGER LITERAL WHOSE VALUE IS THE NUMBER OF BITS REQUIRED TO |
-- HOLD A TASK OBJECT. |
-- USED IN: CD2A91C |
TASK_SIZE ACATS4GNATBIT |
|
-- $TASK_STORAGE_SIZE |
-- THE NUMBER OF STORAGE UNITS REQUIRED FOR A TASK ACTIVATION. |
-- USED IN: BD2C01D BD2C02A BD2C03A C87B62D CD1009K CD1009T |
-- CD1009U CD1C03E CD1C06A CD2C11A CC1225A CD2C11D |
TASK_STORAGE_SIZE 1024 |
|
-- $VARIABLE_ADDRESS |
-- AN EXPRESSION YIELDING A LEGAL ADDRESS FOR A VARIABLE FOR THIS |
-- IMPLEMENTATION. |
-- USED IN: SPPRT13SP |
VARIABLE_ADDRESS VAR_ADDR |
|
-- $VARIABLE_ADDRESS1 |
-- AN EXPRESSION YIELDING A LEGAL ADDRESS FOR A VARIABLE FOR THIS |
-- IMPLEMENTATION. THE ADDRESS MUST BE DISTINCT FROM THAT USED IN |
-- THE MACRO $VARIABLE_ADDRESS. |
-- USED IN: SPPRT13SP |
VARIABLE_ADDRESS1 VAR_ADDR1 |
|
-- $VARIABLE_ADDRESS2 |
-- AN EXPRESSION YIELDING A LEGAL ADDRESS FOR A VARIABLE FOR THIS |
-- IMPLEMENTATION. THE ADDRESS MUST BE DISTINCT FROM THOSE USED IN |
-- THE MACROS $VARIABLE_ADDRESS AND $VARIABLE_ADDRESS1. |
-- USED IN: SPPRT13SP |
VARIABLE_ADDRESS2 VAR_ADDR2 |
|
/f340a001.a
0,0 → 1,75
-- F340A001.A |
-- |
-- Grant of Unlimited Rights |
-- |
-- 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 |
-- unlimited rights in the software and documentation contained herein. |
-- Unlimited rights are defined in DFAR 252.227-7013(a)(19). By making |
-- this public release, the Government intends to confer upon all |
-- recipients unlimited rights equal to those held by the Government. |
-- These rights include rights to use, duplicate, release or disclose the |
-- 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 |
-- to do so. |
-- |
-- DISCLAIMER |
-- |
-- ALL MATERIALS OR INFORMATION HEREIN RELEASED, MADE AVAILABLE OR |
-- DISCLOSED ARE AS IS. THE GOVERNMENT MAKES NO EXPRESS OR IMPLIED |
-- WARRANTY AS TO ANY MATTER WHATSOEVER, INCLUDING THE CONDITIONS OF THE |
-- SOFTWARE, DOCUMENTATION OR OTHER INFORMATION RELEASED, MADE AVAILABLE |
-- OR DISCLOSED, OR THE OWNERSHIP, MERCHANTABILITY, OR FITNESS FOR A |
-- PARTICULAR PURPOSE OF SAID MATERIAL. |
--* |
-- |
-- FOUNDATION DESCRIPTION: |
-- This file declares a tagged type and primitive subprogram for use in |
-- tests covering tagged types and type extensions. |
-- |
-- TEST FILES: |
-- The following files comprise this foundation: |
-- |
-- F340A000.A |
-- => F340A001.A |
-- |
-- CHANGE HISTORY: |
-- 06 Dec 94 SAIC ACVC 2.0 |
-- |
--! |
|
package F340A001 is -- Book definitions. |
|
|
type Text_Ptr is access String; |
|
type Book_Type is tagged record -- Root tagged type. |
Title : Text_Ptr; |
Author : Text_Ptr; |
end record; |
|
|
procedure Create_Book (Title : in Text_Ptr; -- Primitive operation |
Author : in Text_Ptr; -- of root tagged type. |
Book : out Book_Type); |
|
|
end F340A001; |
|
|
--==================================================================-- |
|
|
package body F340A001 is -- Book definitions. |
|
|
procedure Create_Book (Title : in Text_Ptr; |
Author : in Text_Ptr; |
Book : out Book_Type) is |
begin |
Book.Title := Title; |
Book.Author := Author; |
end Create_Book; |
|
|
end F340A001; |
/enumchek.ada
0,0 → 1,65
-- THIS GENERIC PROCEDURE IS INTENDED FOR USE IN CONJUNCTION WITH THE ACVC |
-- CHAPTER 13 C TESTS. IT IS INSTANTIATED WITH TWO TYPES. THE FIRST IS AN |
-- ENUMERATION TYPE FOR WHICH AN ENUMERATION CLAUSE HAS BEEN GIVEN, AND THE |
-- SECOND IS AN INTEGER TYPE WHOSE 'SIZE IS THE SAME AS THE 'SIZE OF THIS |
-- ENUMERATION TYPE. |
|
-- THE PROCEDURE ENUM_CHECK IS THEN CALLED WITH THREE ARGUMENTS. THE FIRST IS |
-- AN ENUMERATION LITERAL FROM THE ENUMERATION TYPE, THE SECOND IS AN INTEGER |
-- LITERAL WHICH IS THE VALUE OF THE EXPECTED REPRESENTATION (TAKEN FROM THE |
-- ENUMERATION REPRESENTATION CLAUSE), AND THE THIRD IS A STRING DESCRIBING OR |
-- NAMING THE TYPE (USED IN A CALL TO FAILED IF THE REPRESENTATION CHECK FAILS). |
|
-- THE CHECK IS TO CONVERT THE ENUMERATION VALUE TO A BOOLEAN ARRAY WITH A |
-- LENGTH CORRESONDING TO THE 'SIZE OF THE ENUMERATION TYPE. AN INTEGER TYPE |
-- IS THEN CREATED WITH THIS SAME 'SIZE, AND THE REQUIRED REPRESENTATION VALUE |
-- IS CONVERTED FROM THIS TYPE TO A BOOLEAN ARRAY WITH THE SAME LENGTH. THE |
-- TWO BOOLEAN ARRAYS ARE THEN COMPARED AND SHOULD BE EQUAL. THE CONVERSIONS |
-- ARE PERFORMED USING APPROPRIATE INSTANTIATIONS OF UNCHECKED_CONVERSION. |
|
-- AUTHOR: ROBERT B. K. DEWAR, UNCOPYRIGHTED, PUBLIC DOMAIN USE AUTHORIZED |
|
GENERIC |
|
TYPE ENUM_TYPE IS PRIVATE; |
TYPE INT_TYPE IS RANGE <>; |
|
PROCEDURE ENUM_CHECK (TEST_VALUE : ENUM_TYPE; |
REP_VALUE : INT_TYPE; |
TYPE_ID : STRING); |
|
|
WITH UNCHECKED_CONVERSION; |
WITH REPORT; USE REPORT; |
|
PROCEDURE ENUM_CHECK (TEST_VALUE : ENUM_TYPE; |
REP_VALUE : INT_TYPE; |
TYPE_ID : STRING) IS |
|
TYPE BIT_ARRAY_TYPE IS ARRAY (1 .. ENUM_TYPE'SIZE) OF BOOLEAN; |
PRAGMA PACK (BIT_ARRAY_TYPE); |
|
FUNCTION TO_BITS IS NEW UNCHECKED_CONVERSION (ENUM_TYPE, BIT_ARRAY_TYPE); |
FUNCTION TO_BITS IS NEW UNCHECKED_CONVERSION (INT_TYPE, BIT_ARRAY_TYPE); |
|
BIT_ARRAY_1 : BIT_ARRAY_TYPE; |
BIT_ARRAY_2 : BIT_ARRAY_TYPE; |
|
INT_VALUE : INT_TYPE := INT_TYPE (REP_VALUE); |
|
BEGIN |
|
-- VERIFY CORRECT CALL (THIS IS A SANITY CHECK ON THE TEST ITSELF) |
|
IF ENUM_TYPE'SIZE /= INT_TYPE'SIZE THEN |
FAILED ("ERROR IN ENUM_CHECK CALL: SIZES DO NOT MATCH"); |
END IF; |
|
BIT_ARRAY_1 := TO_BITS (TEST_VALUE); |
BIT_ARRAY_2 := TO_BITS (INT_VALUE); |
|
IF BIT_ARRAY_1 /= BIT_ARRAY_2 THEN |
FAILED ("CHECK ON REPRESENTATION OF TYPE " & TYPE_ID & " FAILED."); |
END IF; |
|
END ENUM_CHECK; |
/fxa5a00.a
0,0 → 1,121
-- FXA5A00.A |
-- |
-- Grant of Unlimited Rights |
-- |
-- 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 |
-- unlimited rights in the software and documentation contained herein. |
-- Unlimited rights are defined in DFAR 252.227-7013(a)(19). By making |
-- this public release, the Government intends to confer upon all |
-- recipients unlimited rights equal to those held by the Government. |
-- These rights include rights to use, duplicate, release or disclose the |
-- 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 |
-- to do so. |
-- |
-- DISCLAIMER |
-- |
-- ALL MATERIALS OR INFORMATION HEREIN RELEASED, MADE AVAILABLE OR |
-- DISCLOSED ARE AS IS. THE GOVERNMENT MAKES NO EXPRESS OR IMPLIED |
-- WARRANTY AS TO ANY MATTER WHATSOEVER, INCLUDING THE CONDITIONS OF THE |
-- SOFTWARE, DOCUMENTATION OR OTHER INFORMATION RELEASED, MADE AVAILABLE |
-- OR DISCLOSED, OR THE OWNERSHIP, MERCHANTABILITY, OR FITNESS FOR A |
-- PARTICULAR PURPOSE OF SAID MATERIAL. |
--* |
-- |
-- FOUNDATION DESCRIPTION: |
-- This foundation package contains constants and a function used in |
-- the evaluation of the Generic Elementary Functions. |
-- |
-- CHANGE HISTORY: |
-- 06 Mar 95 SAIC Initial prerelease version. |
-- 03 Apr 95 SAIC Corrected error in context clause. |
-- 12 Jun 95 SAIC Added procedure Dont_Optimize. Added New_Float |
-- type, and overload of function |
-- Result_Within_Range. |
-- |
--! |
|
with Ada.Numerics; |
with Report; |
|
package FXA5A00 is |
|
-- Constants. |
|
Epsilon : constant Float := Float'Model_Epsilon; |
Small : constant Float := Float'Model_Small; |
Large : constant Float := Float'Safe_Last; |
Minus_Large : constant Float := Float'Safe_First; |
|
Half_Pi : constant Float := Ada.Numerics.Pi / 2.0; |
Two_Pi : constant Float := Ada.Numerics.Pi * 2.0; |
|
Floating_Delta : constant Float := 0.05; |
One_Plus_Delta : constant Float := 1.0 + Floating_Delta; |
One_Minus_Delta : constant Float := 1.0 - Floating_Delta; |
Minus_One_Plus_Delta : constant Float := -1.0 + Floating_Delta; |
Minus_One_Minus_Delta : constant Float := -1.0 - Floating_Delta; |
|
|
type New_Float is new Float digits 6; |
|
function Result_Within_Range (Result : Float; |
Expected_Result : Float; |
Relative_Error : Float) return Boolean; |
|
function Result_Within_Range (Result : New_Float; |
Expected_Result : Float; |
Relative_Error : Float) return Boolean; |
|
-- This procedure is designed to defeat optimization attempts by an |
-- implementation in cases where an exception is specifically raised |
-- in a test to test a prescribed exception result condition. |
-- The parameter Num is a unique identifier for location purposes within |
-- the test. |
|
generic |
type Eval_Type is digits <>; |
procedure Dont_Optimize (Check_Result : Eval_Type; |
Num : Integer); |
|
end FXA5A00; |
|
--- |
|
package body FXA5A00 is |
|
|
function Result_Within_Range (Result : Float; |
Expected_Result : Float; |
Relative_Error : Float) return Boolean is |
begin |
return (Result <= Expected_Result + Relative_Error) and |
(Result >= Expected_Result - Relative_Error); |
end Result_Within_Range; |
|
|
function Result_Within_Range (Result : New_Float; |
Expected_Result : Float; |
Relative_Error : Float) return Boolean is |
begin |
return (Float(Result) <= Expected_Result + Relative_Error) and |
(Float(Result) >= Expected_Result - Relative_Error); |
end Result_Within_Range; |
|
|
procedure Dont_Optimize (Check_Result : Eval_Type; |
Num : Integer) is |
begin |
-- Note that the use of Minus_Large here is simply as a "dummy" value, |
-- designed to indicate use of the Check_Result parameter, and has no |
-- pass/fail significance to any test using this procedure. |
-- |
if Float(Check_Result) = Minus_Large then |
Report.Comment("Attempted Defeat of Optimization ONLY -- Not " & |
"a cause for test failure! " & |
"Result = Minus_Large, Case:" & Integer'Image(Num)); |
end if; |
end Dont_Optimize; |
|
end FXA5A00; |
/fxf3a00.a
0,0 → 1,330
-- FXF3A00.A |
-- |
-- Grant of Unlimited Rights |
-- |
-- 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 |
-- unlimited rights in the software and documentation contained herein. |
-- Unlimited rights are defined in DFAR 252.227-7013(a)(19). By making |
-- this public release, the Government intends to confer upon all |
-- recipients unlimited rights equal to those held by the Government. |
-- These rights include rights to use, duplicate, release or disclose the |
-- 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 |
-- to do so. |
-- |
-- DISCLAIMER |
-- |
-- ALL MATERIALS OR INFORMATION HEREIN RELEASED, MADE AVAILABLE OR |
-- DISCLOSED ARE AS IS. THE GOVERNMENT MAKES NO EXPRESS OR IMPLIED |
-- WARRANTY AS TO ANY MATTER WHATSOEVER, INCLUDING THE CONDITIONS OF THE |
-- SOFTWARE, DOCUMENTATION OR OTHER INFORMATION RELEASED, MADE AVAILABLE |
-- OR DISCLOSED, OR THE OWNERSHIP, MERCHANTABILITY, OR FITNESS FOR A |
-- PARTICULAR PURPOSE OF SAID MATERIAL. |
--* |
-- |
-- FOUNDATION DESCRIPTION: |
-- This foundation contains decimal data values, valid and invalid |
-- Picture strings, and Edited Output result strings that will be used |
-- in tests of Appendix F.3. |
-- Note: In this foundation package, the effect of "Table Driven Data" |
-- is achieved using a series of arrays to hold the various data items. |
-- Since the data items (Picture strings, Edited Output) are often of |
-- different lengths, the arrays are defined to contain pointers to |
-- string values, thereby allowing the "tables" to hold string data of |
-- different sizes. |
-- |
-- CHANGE HISTORY: |
-- 06 Dec 94 SAIC ACVC 2.0 |
-- 15 Feb 95 SAIC Picture string, decimal data, and edited_output |
-- modifications. |
-- 23 Feb 95 SAIC Picture string modification. |
-- 10 Mar 95 SAIC Added explanatory comments. |
-- 15 Nov 95 SAIC Corrected picture string for ACVC 2.0.1. |
-- 06 Oct 96 SAIC Corrected invalid picture strings. |
-- 13 Feb 97 PWB.CTA Deleted invalid picture string. |
-- 17 Feb 97 PWB.CTA Added leading blank to two picture strings |
--! |
|
with Ada.Text_IO.Editing; |
|
package FXF3A00 is |
|
Number_Of_NDP_Items : constant := 12; -- No Decimal Places. |
Number_Of_2DP_Items : constant := 20; -- Two Decimal Places. |
Number_Of_Valid_Strings : constant := 40; |
Number_Of_FF_Strings : constant := 4; -- French Francs |
Number_Of_DM_Strings : constant := 5; -- Deutchemarks |
Number_Of_CHF_Strings : constant := 1; -- Swiss Francs |
Number_Of_Foreign_Strings : constant := Number_Of_FF_Strings + |
Number_Of_DM_Strings + |
Number_Of_CHF_Strings; |
Number_Of_Invalid_Strings : constant := 25; |
Number_Of_Erroneous_Conditions : constant := 3; |
Number_Of_Edited_Output_Strings : constant := 32; |
|
-- The following string is to be used as a picture string with length |
-- beyond the maximum (Max_Picture_Length) that is supported by the |
-- implementation. |
|
A_Picture_String_Too_Long : constant |
String (1..Ada.Text_IO.Editing.Max_Picture_Length + 1) := (others => '9'); |
|
|
type Str_Ptr is access String; |
|
type Decimal_Type_NDP is delta 1.0 digits 16; -- no decimal places |
type Decimal_Type_2DP is delta 0.01 digits 16; -- two decimal places |
|
type Data_Array_Type_1 is array (Integer range <>) of Decimal_Type_NDP; |
type Data_Array_Type_2 is array (Integer range <>) of Decimal_Type_2DP; |
|
|
type Picture_String_Array_Type is |
array (Integer range <>) of Str_Ptr; |
|
type Edited_Output_Results_Array_Type is |
array (Integer range <>) of Str_Ptr; |
|
|
|
Data_With_NDP : Data_Array_Type_1 (1..Number_Of_NDP_Items) := |
( 1 => 1234.0, |
2 => 51234.0, |
3 => -1234.0, |
4 => 1234.0, |
5 => 1.0, |
6 => 0.0, |
7 => -10.0, |
8 => -1.0, |
9 => 1234.0, |
10 => 1.0, |
11 => 36.0, |
12 => 0.0 |
); |
|
|
Data_With_2DP : Data_Array_Type_2 (1..Number_Of_2DP_Items) := |
( 1 => 123456.78, |
2 => 123456.78, |
3 => 0.0, |
4 => 0.20, |
5 => 123456.00, |
6 => -123456.78, |
7 => 123456.78, |
8 => -12.34, |
9 => 1.23, |
10 => 12.34, |
|
-- Items 11-20 are used with picture strings in evaluating use of |
-- foreign currency symbols. |
|
11 => 123456.78, |
12 => 123456.78, |
13 => 32.10, |
14 => -5432.10, |
15 => -1234.57, |
16 => 123456.78, |
17 => 12.34, |
18 => 12.34, |
19 => 1.23, |
20 => 12345.67 |
); |
|
|
|
Valid_Strings : Picture_String_Array_Type |
(1..Number_Of_Valid_Strings) := |
|
-- Items 1-10 are used in conjunction with Data_With_2DP values |
-- to produce edited output strings, as well as in tests of |
-- function Valid. |
|
( 1 => new String'("-###**_***_**9.99"), |
2 => new String'("-$**_***_**9.99"), |
3 => new String'("-$$$$$$.$$"), |
4 => new String'("-$$$$$$.$$"), |
5 => new String'("+BBBZZ_ZZZ_ZZZ.ZZ"), |
6 => new String'("--_---_---_--9"), |
7 => new String'("-$_$$$_$$$_$$9.99"), |
8 => new String'("<$$_$$$9.99>"), |
9 => new String'("$_$$9.99"), |
10 => new String'("$$9.99"), |
|
-- Items 11-22 are used in conjunction with Data_With_NDP values |
-- to produce edited output strings. |
|
11 => new String'("ZZZZ9"), |
12 => new String'("ZZZZ9"), |
13 => new String'("<#Z_ZZ9>"), |
14 => new String'("<#Z_ZZ9>"), |
15 => new String'("ZZZ.ZZ"), |
16 => new String'("ZZZ.ZZ"), |
17 => new String'("<###99>"), |
18 => new String'("ZZZZZ-"), |
19 => new String'("$$$$9"), |
20 => new String'("$$$$$"), |
21 => new String'("<###99>"), |
22 => new String'("$$$$9"), |
|
-- Items 23-40 are used in validation of the Valid, To_Picture, and |
-- Pic_String subprograms of package Text_IO.Editing, and are not |
-- used to generate edited output. |
|
23 => new String'("zZzZzZzZzZzZzZzZzZ"), |
24 => new String'("999999999999999999"), |
25 => new String'("******************"), |
26 => new String'("$$$$$$$$$$$$$$$$$$"), |
27 => new String'("9999/9999B9999_999909999"), |
28 => new String'("+999999999999999999"), |
29 => new String'("-999999999999999999"), |
30 => new String'("999999999999999999+"), |
31 => new String'("999999999999999999-"), |
32 => new String'("<<<_<<<_<<<_<<<_<<<_<<9>"), |
33 => new String'("++++++++++++++++++++"), |
34 => new String'("--------------------"), |
35 => new String'("zZzZzZzZzZzZzZzZzZ.zZ"), |
36 => new String'("******************.99"), |
37 => new String'("$$$$$$$$$$$$$$$$$$.99"), |
|
-- The following string has length 30, which is the minimum value |
-- that must be supported for Max_Picture_Length. |
|
38 => new String'("9_999_999_999_999_999_999BB.99"), |
39 => new String'("<<<_<<<_<<<_<<<.99>"), |
40 => new String'("ZZZZZZZZZZZZZZZZZ+") |
); |
|
|
|
Foreign_Strings : Picture_String_Array_Type |
(1..Number_Of_Foreign_Strings) := |
|
-- These strings are going to be used in conjunction with non-default |
-- values for Currency string, Radix mark, and Separator in calls to |
-- Image and Put, as well as in tests of function Valid. |
|
( 1 => new String'("-###**_***_**9.99"), -- FF |
2 => new String'("-$**_***_**9.99"), -- FF |
3 => new String'("<###z_ZZ9.99>"), -- FF |
4 => new String'("<###Z_ZZ9.99>"), -- FF |
5 => new String'("<<<<_<<<.<<###>"), -- DM |
6 => new String'("-$_$$$_$$$_$$9.99"), -- DM |
7 => new String'("$z99.99"), -- DM |
8 => new String'("$$$9.99"), -- DM |
9 => new String'("$_$$9.99"), -- DM |
10 => new String'("###_###_##9.99") -- CHF |
); |
|
|
|
Invalid_Strings : Picture_String_Array_Type |
(1..Number_Of_Invalid_Strings) := |
-- |
-- The RM references to the right of these invalid picture strings |
-- indicates which of the composition constraints of picture strings |
-- is violated by the particular string (and all following strings |
-- until another reference is presented). However, certain strings |
-- violate multiple of the constraints. |
-- |
( 1 => new String'("<<<"), |
2 => new String'("<<>>"), |
3 => new String'("<<<9_B0/$DB"), |
4 => new String'("+BB"), |
5 => new String'("<-"), |
6 => new String'("<CR"), |
7 => new String'("<db"), |
8 => new String'("<<BBBcr"), |
9 => new String'("<<__DB"), |
10 => new String'("<<<++++_++-"), |
11 => new String'("-999.99>"), |
12 => new String'("+++9.99+"), |
13 => new String'("++++>>"), |
14 => new String'("->"), |
15 => new String'("++9-"), |
16 => new String'("---999999->"), |
17 => new String'("+++-"), |
18 => new String'("+++_+++_+.--"), |
19 => new String'("--B.BB+>"), |
20 => new String'("$$#$"), |
21 => new String'("#B$$$$"), |
22 => new String'("**Z"), |
23 => new String'("ZZZzzz*"), |
24 => new String'("9.99DB(2)"), |
25 => new String'(A_Picture_String_Too_Long) |
); |
|
|
Edited_Output : Edited_Output_Results_Array_Type |
(1..Number_Of_Edited_Output_Strings) := |
|
-- The following 10 edited output strings result from the first 10 |
-- valid strings when used with the first 10 Data_With_2DP numeric |
-- values. |
( 1 => new String'(" $***123,456.78"), |
2 => new String'(" $***123,456.78"), |
3 => new String'(" "), |
4 => new String'(" $.20"), |
5 => new String'("+ 123,456.00"), |
6 => new String'(" -123,457"), |
7 => new String'(" $123,456.78"), |
8 => new String'("( $12.34)"), |
9 => new String'(" $1.23"), |
10 => new String'("$12.34"), |
|
-- The following 10 edited output strings correspond to the 10 foreign |
-- currency picture strings (the currency string is supplied at the |
-- time of the call to Editing.Image or Editing.Put), when used in |
-- conjunction with Data_With_2DP items 11-20 |
|
11 => new String'(" FF***123.456,78"), |
12 => new String'(" FF***123.456,78"), |
13 => new String'(" FF 32,10 "), |
14 => new String'("( FF5.432,10)"), |
15 => new String'(" (1,234.57DM )"), |
16 => new String'(" DM123,456.78"), |
17 => new String'("DM 12.34"), |
18 => new String'(" DM12.34"), |
19 => new String'(" DM1.23"), |
20 => new String'(" CHF12,345.67"), |
|
-- The following 12 edited output strings correspond to the 12 |
-- Data_With_NDP items formatted using Valid_String items 11-22. |
-- This combination shows decimal data with no decimal places |
-- formatted using picture strings. |
|
21 => new String'(" 1234"), |
22 => new String'("51234"), |
23 => new String'("($1,234)"), |
24 => new String'(" $1,234 "), |
25 => new String'(" 1.00"), |
26 => new String'(" "), |
27 => new String'("( $10)"), |
28 => new String'(" 1-"), |
29 => new String'("$1234"), |
30 => new String'(" $1"), |
31 => new String'(" $36 "), |
32 => new String'(" $0") |
); |
|
|
|
-- The following data is used to create exception situations in tests of |
-- the Edited Output capabilities of package Ada.Text_IO.Editing. The data |
-- are not themselves erroneous, but will produce exceptions based on the |
-- data/picture string combination used. |
|
Erroneous_Data : Data_Array_Type_2 (1..Number_Of_Erroneous_Conditions) := |
( 1 => 12.34, |
2 => -12.34, |
3 => 51234.0 |
); |
|
Erroneous_Strings : Picture_String_Array_Type |
(1..Number_Of_Erroneous_Conditions) := |
( 1 => new String'("9.99"), |
2 => new String'("99.99"), |
3 => new String'("$$$$9") |
); |
|
end FXF3A00; |
/repbody.ada
0,0 → 1,329
-- REPBODY.ADA |
-- |
-- Grant of Unlimited Rights |
-- |
-- 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 |
-- unlimited rights in the software and documentation contained herein. |
-- Unlimited rights are defined in DFAR 252.227-7013(a)(19). By making |
-- this public release, the Government intends to confer upon all |
-- recipients unlimited rights equal to those held by the Government. |
-- These rights include rights to use, duplicate, release or disclose the |
-- 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 |
-- to do so. |
-- |
-- DISCLAIMER |
-- |
-- ALL MATERIALS OR INFORMATION HEREIN RELEASED, MADE AVAILABLE OR |
-- DISCLOSED ARE AS IS. THE GOVERNMENT MAKES NO EXPRESS OR IMPLIED |
-- WARRANTY AS TO ANY MATTER WHATSOEVER, INCLUDING THE CONDITIONS OF THE |
-- SOFTWARE, DOCUMENTATION OR OTHER INFORMATION RELEASED, MADE AVAILABLE |
-- OR DISCLOSED, OR THE OWNERSHIP, MERCHANTABILITY, OR FITNESS FOR A |
-- PARTICULAR PURPOSE OF SAID MATERIAL. |
--* |
-- |
-- HISTORY: |
-- DCB 04/27/80 |
-- JRK 6/10/80 |
-- JRK 11/12/80 |
-- JRK 8/6/81 |
-- JRK 10/27/82 |
-- JRK 6/1/84 |
-- JRK 11/18/85 ADDED PRAGMA ELABORATE. |
-- PWB 07/29/87 ADDED STATUS ACTION_REQUIRED AND |
-- PROCEDURE SPECIAL_ACTION. |
-- TBN 08/20/87 ADDED FUNCTION LEGAL_FILE_NAME. |
-- BCB 05/17/90 MODIFIED TO ALLOW OUTPUT TO DIRECT_IO FILE. |
-- ADDED TIME-STAMP. |
-- LDC 05/17/90 REMOVED OUTPUT TO DIRECT_IO FILE. |
-- WMC 08/11/92 UPDATED ACVC VERSION STRING TO "9X BASIC". |
-- DTN 07/05/92 UPDATED ACVC VERSION STRING TO |
-- "ACVC 2.0 JULY 6 1993 DRAFT". |
-- WMC 01/24/94 MODIFIED LEGAL_FILE_NAME TO ALLOW FIVE POSSIBLE |
-- FILE NAMES (INCREASED RANGE OF TYPE FILE_NUM TO 1..5). |
-- WMC 11/06/94 UPDATED ACVC VERSION STRING TO |
-- "ACVC 2.0 NOVEMBER 6 1994 DRAFT". |
-- DTN 12/04/94 UPDATED ACVC VERSION STRING TO |
-- "ACVC 2.0". |
-- KAS 06/19/95 ADDED FUNCTION IDENT_WIDE_CHAR. |
-- KAS 06/19/95 ADDED FUNCTION IDENT_WIDE_STR. |
-- DTN 11/21/95 UPDATED ACVC VERSION STRING TO |
-- "ACVC 2.0.1". |
-- DTN 12/14/95 UPDATED ACVC VERSION STRING TO |
-- "ACVC 2.1". |
-- EDS 12/17/97 UPDATED ACVC VERSION STRING TO |
-- "2.2". |
-- RLB 3/16/00 UPDATED ACATS VERSION STRING TO "2.3". |
-- CHANGED VARIOUS STRINGS TO READ "ACATS". |
-- RLB 3/22/01 UPDATED ACATS VERSION STRING TO "2.4". |
-- RLB 3/29/01 UPDATED ACATS VERSION STRING TO "2.5". |
|
WITH TEXT_IO, CALENDAR; |
USE TEXT_IO, CALENDAR; |
PRAGMA ELABORATE (TEXT_IO, CALENDAR); |
|
PACKAGE BODY REPORT IS |
|
TYPE STATUS IS (PASS, FAIL, DOES_NOT_APPLY, ACTION_REQUIRED, |
UNKNOWN); |
|
TYPE TIME_INTEGER IS RANGE 0 .. 86_400; |
|
TEST_STATUS : STATUS := FAIL; |
|
MAX_NAME_LEN : CONSTANT := 15; -- MAXIMUM TEST NAME LENGTH. |
TEST_NAME : STRING (1..MAX_NAME_LEN); |
|
NO_NAME : CONSTANT STRING (1..7) := "NO_NAME"; |
TEST_NAME_LEN : INTEGER RANGE 0..MAX_NAME_LEN := 0; |
|
|
|
ACATS_VERSION : CONSTANT STRING := "2.5"; |
-- VERSION OF ACATS BEING RUN (X.XX). |
|
PROCEDURE PUT_MSG (MSG : STRING) IS |
-- WRITE MESSAGE. LONG MESSAGES ARE FOLDED (AND INDENTED). |
MAX_LEN : CONSTANT INTEGER RANGE 50..150 := 72; -- MAXIMUM |
-- OUTPUT LINE LENGTH. |
INDENT : CONSTANT INTEGER := TEST_NAME_LEN + 9; -- AMOUNT TO |
-- INDENT CONTINUATION LINES. |
I : INTEGER := 0; -- CURRENT INDENTATION. |
M : INTEGER := MSG'FIRST; -- START OF MESSAGE SLICE. |
N : INTEGER; -- END OF MESSAGE SLICE. |
BEGIN |
LOOP |
IF I + (MSG'LAST-M+1) > MAX_LEN THEN |
N := M + (MAX_LEN-I) - 1; |
IF MSG (N) /= ' ' THEN |
WHILE N >= M AND THEN MSG (N+1) /= ' ' LOOP |
N := N - 1; |
END LOOP; |
IF N < M THEN |
N := M + (MAX_LEN-I) - 1; |
END IF; |
END IF; |
ELSE N := MSG'LAST; |
END IF; |
SET_COL (STANDARD_OUTPUT, TEXT_IO.COUNT (I+1)); |
PUT_LINE (STANDARD_OUTPUT, MSG (M..N)); |
I := INDENT; |
M := N + 1; |
WHILE M <= MSG'LAST AND THEN MSG (M) = ' ' LOOP |
M := M + 1; |
END LOOP; |
EXIT WHEN M > MSG'LAST; |
END LOOP; |
END PUT_MSG; |
|
FUNCTION TIME_STAMP RETURN STRING IS |
TIME_NOW : CALENDAR.TIME; |
YEAR, |
MONTH, |
DAY, |
HOUR, |
MINUTE, |
SECOND : TIME_INTEGER := 1; |
|
FUNCTION CONVERT (NUMBER : TIME_INTEGER) RETURN STRING IS |
STR : STRING (1..2) := (OTHERS => '0'); |
DEC_DIGIT : CONSTANT STRING := "0123456789"; |
NUM : TIME_INTEGER := NUMBER; |
BEGIN |
IF NUM = 0 THEN |
RETURN STR; |
ELSE |
NUM := NUM MOD 100; |
STR (2) := DEC_DIGIT (INTEGER (NUM MOD 10 + 1)); |
NUM := NUM / 10; |
STR (1) := DEC_DIGIT (INTEGER (NUM + 1)); |
RETURN STR; |
END IF; |
END CONVERT; |
BEGIN |
TIME_NOW := CALENDAR.CLOCK; |
SPLIT (TIME_NOW, YEAR_NUMBER (YEAR), MONTH_NUMBER (MONTH), |
DAY_NUMBER (DAY), DAY_DURATION (SECOND)); |
HOUR := SECOND / 3600; |
SECOND := SECOND MOD 3600; |
MINUTE := SECOND / 60; |
SECOND := SECOND MOD 60; |
RETURN (CONVERT (TIME_INTEGER (YEAR)) & "-" & |
CONVERT (TIME_INTEGER (MONTH)) & "-" & |
CONVERT (TIME_INTEGER (DAY)) & " " & |
CONVERT (TIME_INTEGER (HOUR)) & ":" & |
CONVERT (TIME_INTEGER (MINUTE)) & ":" & |
CONVERT (TIME_INTEGER (SECOND))); |
END TIME_STAMP; |
|
PROCEDURE TEST (NAME : STRING; DESCR : STRING) IS |
BEGIN |
TEST_STATUS := PASS; |
IF NAME'LENGTH <= MAX_NAME_LEN THEN |
TEST_NAME_LEN := NAME'LENGTH; |
ELSE TEST_NAME_LEN := MAX_NAME_LEN; |
END IF; |
TEST_NAME (1..TEST_NAME_LEN) := |
NAME (NAME'FIRST .. NAME'FIRST+TEST_NAME_LEN-1); |
|
PUT_MSG (""); |
PUT_MSG (",.,. " & TEST_NAME (1..TEST_NAME_LEN) & " " & |
"ACATS " & ACATS_VERSION & " " & TIME_STAMP); |
PUT_MSG ("---- " & TEST_NAME (1..TEST_NAME_LEN) & " " & |
DESCR & "."); |
END TEST; |
|
PROCEDURE COMMENT (DESCR : STRING) IS |
BEGIN |
PUT_MSG (" - " & TEST_NAME (1..TEST_NAME_LEN) & " " & |
DESCR & "."); |
END COMMENT; |
|
PROCEDURE FAILED (DESCR : STRING) IS |
BEGIN |
TEST_STATUS := FAIL; |
PUT_MSG (" * " & TEST_NAME (1..TEST_NAME_LEN) & " " & |
DESCR & "."); |
END FAILED; |
|
PROCEDURE NOT_APPLICABLE (DESCR : STRING) IS |
BEGIN |
IF TEST_STATUS = PASS OR TEST_STATUS = ACTION_REQUIRED THEN |
TEST_STATUS := DOES_NOT_APPLY; |
END IF; |
PUT_MSG (" + " & TEST_NAME (1..TEST_NAME_LEN) & " " & |
DESCR & "."); |
END NOT_APPLICABLE; |
|
PROCEDURE SPECIAL_ACTION (DESCR : STRING) IS |
BEGIN |
IF TEST_STATUS = PASS THEN |
TEST_STATUS := ACTION_REQUIRED; |
END IF; |
PUT_MSG (" ! " & TEST_NAME (1..TEST_NAME_LEN) & " " & |
DESCR & "."); |
END SPECIAL_ACTION; |
|
PROCEDURE RESULT IS |
BEGIN |
CASE TEST_STATUS IS |
WHEN PASS => |
PUT_MSG ("==== " & TEST_NAME (1..TEST_NAME_LEN) & |
" PASSED ============================."); |
WHEN DOES_NOT_APPLY => |
PUT_MSG ("++++ " & TEST_NAME (1..TEST_NAME_LEN) & |
" NOT-APPLICABLE ++++++++++++++++++++."); |
WHEN ACTION_REQUIRED => |
PUT_MSG ("!!!! " & TEST_NAME (1..TEST_NAME_LEN) & |
" TENTATIVELY PASSED !!!!!!!!!!!!!!!!."); |
PUT_MSG ("!!!! " & (1..TEST_NAME_LEN => ' ') & |
" SEE '!' COMMENTS FOR SPECIAL NOTES!!"); |
WHEN OTHERS => |
PUT_MSG ("**** " & TEST_NAME (1..TEST_NAME_LEN) & |
" FAILED ****************************."); |
END CASE; |
TEST_STATUS := FAIL; |
TEST_NAME_LEN := NO_NAME'LENGTH; |
TEST_NAME (1..TEST_NAME_LEN) := NO_NAME; |
END RESULT; |
|
FUNCTION IDENT_INT (X : INTEGER) RETURN INTEGER IS |
BEGIN |
IF EQUAL (X, X) THEN -- ALWAYS EQUAL. |
RETURN X; -- ALWAYS EXECUTED. |
END IF; |
RETURN 0; -- NEVER EXECUTED. |
END IDENT_INT; |
|
FUNCTION IDENT_CHAR (X : CHARACTER) RETURN CHARACTER IS |
BEGIN |
IF EQUAL (CHARACTER'POS(X), CHARACTER'POS(X)) THEN -- ALWAYS |
-- EQUAL. |
RETURN X; -- ALWAYS EXECUTED. |
END IF; |
RETURN '0'; -- NEVER EXECUTED. |
END IDENT_CHAR; |
|
FUNCTION IDENT_WIDE_CHAR (X : WIDE_CHARACTER) RETURN WIDE_CHARACTER IS |
BEGIN |
IF EQUAL (WIDE_CHARACTER'POS(X), WIDE_CHARACTER'POS(X)) THEN |
-- ALWAYS EQUAL. |
RETURN X; -- ALWAYS EXECUTED. |
END IF; |
RETURN '0'; -- NEVER EXECUTED. |
END IDENT_WIDE_CHAR; |
|
FUNCTION IDENT_BOOL (X : BOOLEAN) RETURN BOOLEAN IS |
BEGIN |
IF EQUAL (BOOLEAN'POS(X), BOOLEAN'POS(X)) THEN -- ALWAYS |
-- EQUAL. |
RETURN X; -- ALWAYS EXECUTED. |
END IF; |
RETURN FALSE; -- NEVER EXECUTED. |
END IDENT_BOOL; |
|
FUNCTION IDENT_STR (X : STRING) RETURN STRING IS |
BEGIN |
IF EQUAL (X'LENGTH, X'LENGTH) THEN -- ALWAYS EQUAL. |
RETURN X; -- ALWAYS EXECUTED. |
END IF; |
RETURN ""; -- NEVER EXECUTED. |
END IDENT_STR; |
|
FUNCTION IDENT_WIDE_STR (X : WIDE_STRING) RETURN WIDE_STRING IS |
BEGIN |
IF EQUAL (X'LENGTH, X'LENGTH) THEN -- ALWAYS EQUAL. |
RETURN X; -- ALWAYS EXECUTED. |
END IF; |
RETURN ""; -- NEVER EXECUTED. |
END IDENT_WIDE_STR; |
|
FUNCTION EQUAL (X, Y : INTEGER) RETURN BOOLEAN IS |
REC_LIMIT : CONSTANT INTEGER RANGE 1..100 := 3; -- RECURSION |
-- LIMIT. |
Z : BOOLEAN; -- RESULT. |
BEGIN |
IF X < 0 THEN |
IF Y < 0 THEN |
Z := EQUAL (-X, -Y); |
ELSE Z := FALSE; |
END IF; |
ELSIF X > REC_LIMIT THEN |
Z := EQUAL (REC_LIMIT, Y-X+REC_LIMIT); |
ELSIF X > 0 THEN |
Z := EQUAL (X-1, Y-1); |
ELSE Z := Y = 0; |
END IF; |
RETURN Z; |
EXCEPTION |
WHEN OTHERS => |
RETURN X = Y; |
END EQUAL; |
|
FUNCTION LEGAL_FILE_NAME (X : FILE_NUM := 1; |
NAM : STRING := "") |
RETURN STRING IS |
SUFFIX : STRING (2..6); |
BEGIN |
IF NAM = "" THEN |
SUFFIX := TEST_NAME(3..7); |
ELSE |
SUFFIX := NAM(3..7); |
END IF; |
|
CASE X IS |
WHEN 1 => RETURN ('X' & SUFFIX); |
WHEN 2 => RETURN ('Y' & SUFFIX); |
WHEN 3 => RETURN ('Z' & SUFFIX); |
WHEN 4 => RETURN ('V' & SUFFIX); |
WHEN 5 => RETURN ('W' & SUFFIX); |
END CASE; |
END LEGAL_FILE_NAME; |
|
BEGIN |
|
TEST_NAME_LEN := NO_NAME'LENGTH; |
TEST_NAME (1..TEST_NAME_LEN) := NO_NAME; |
|
END REPORT; |
/fdb0a00.a
0,0 → 1,144
-- FDB0A00.A |
-- |
-- Grant of Unlimited Rights |
-- |
-- 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 |
-- unlimited rights in the software and documentation contained herein. |
-- Unlimited rights are defined in DFAR 252.227-7013(a)(19). By making |
-- this public release, the Government intends to confer upon all |
-- recipients unlimited rights equal to those held by the Government. |
-- These rights include rights to use, duplicate, release or disclose the |
-- 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 |
-- to do so. |
-- |
-- DISCLAIMER |
-- |
-- ALL MATERIALS OR INFORMATION HEREIN RELEASED, MADE AVAILABLE OR |
-- DISCLOSED ARE AS IS. THE GOVERNMENT MAKES NO EXPRESS OR IMPLIED |
-- WARRANTY AS TO ANY MATTER WHATSOEVER, INCLUDING THE CONDITIONS OF THE |
-- SOFTWARE, DOCUMENTATION OR OTHER INFORMATION RELEASED, MADE AVAILABLE |
-- OR DISCLOSED, OR THE OWNERSHIP, MERCHANTABILITY, OR FITNESS FOR A |
-- PARTICULAR PURPOSE OF SAID MATERIAL. |
--* |
-- |
-- FOUNDATION DESCRIPTION: |
-- This foundation provides the basis for testing package |
-- System.Storage_Pools. It provides simple implementations of |
-- Allocate and Deallocate that have the side effect of calling |
-- TCTouch.Touch when they are called. |
-- |
-- CHANGE HISTORY: |
-- 02 JUN 95 SAIC Initial version |
-- 05 APR 96 SAIC Fixed header for 2.1 |
-- 02 JUL 98 EDS Swapped Pool.Avail change with overflow check |
--! |
|
---------------------------------------------------------------- FDB0A00 |
|
with Report; |
with System.Storage_Pools; |
with System.Storage_Elements; |
package FDB0A00 is |
|
type Stack_Heap( Water_Line: System.Storage_Elements.Storage_Count ) |
is new System.Storage_Pools.Root_Storage_Pool with private; |
|
procedure Allocate( |
Pool : in out Stack_Heap; |
Storage_Address : out System.Address; |
Size_In_Storage_Elements : in System.Storage_Elements.Storage_Count; |
Alignment : in System.Storage_Elements.Storage_Count); |
|
procedure Deallocate( |
Pool : in out Stack_Heap; |
Storage_Address : in System.Address; |
Size_In_Storage_Elements : in System.Storage_Elements.Storage_Count; |
Alignment : in System.Storage_Elements.Storage_Count); |
|
function Storage_Size( Pool: in Stack_Heap ) |
return System.Storage_Elements.Storage_Count; |
|
function TC_Largest_Request return System.Storage_Elements.Storage_Count; |
|
Pool_Overflow : exception; |
|
private |
|
type Data_Array is array(System.Storage_Elements.Storage_Count range <>) |
of System.Storage_Elements.Storage_Element; |
|
type Stack_Heap( Water_Line: System.Storage_Elements.Storage_Count ) |
is new System.Storage_Pools.Root_Storage_Pool with record |
Data : Data_Array(1..Water_Line); |
Avail : System.Storage_Elements.Storage_Count := 1; |
end record; |
|
end FDB0A00; |
|
-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- |
|
with TCTouch; |
package body FDB0A00 is |
|
Largest_Request_On_Record : System.Storage_Elements.Storage_Count := 0; |
|
procedure Allocate( |
Pool : in out Stack_Heap; |
Storage_Address : out System.Address; |
Size_In_Storage_Elements : in System.Storage_Elements.Storage_Count; |
Alignment : in System.Storage_Elements.Storage_Count) is |
use type System.Storage_Elements.Storage_Offset; |
begin |
TCTouch.Touch('A'); --------------------------------------------------- A |
|
-- set the pointer to the next correctly aligned available address |
Pool.Avail := Pool.Avail |
+ (Alignment - (Pool.Data(Pool.Avail)'Address mod Alignment)); |
|
-- check for overflow |
if Pool.Avail + Size_In_Storage_Elements > Pool.Water_Line then |
raise Pool_Overflow; |
end if; |
|
-- set the resulting address to that address |
Storage_Address := Pool.Data(Pool.Avail)'Address; |
|
-- update the housekeeping |
Pool.Avail := Pool.Avail + Size_In_Storage_Elements; |
Largest_Request_On_Record |
:= System.Storage_Elements.Storage_Count'Max(Largest_Request_On_Record, |
Size_In_Storage_Elements); |
exception |
when Constraint_Error => raise Pool_Overflow; -- in case I missed an edge |
end Allocate; |
|
procedure Deallocate( |
Pool : in out Stack_Heap; |
Storage_Address : in System.Address; |
Size_In_Storage_Elements : in System.Storage_Elements.Storage_Count; |
Alignment : in System.Storage_Elements.Storage_Count) is |
begin |
TCTouch.Touch('D'); --------------------------------------------------- D |
|
-- for the purposes of validation, the simplest possible implementation |
-- of Deallocate is shown below: |
|
null; |
|
end Deallocate; |
|
function Storage_Size( Pool: in Stack_Heap ) |
return System.Storage_Elements.Storage_Count is |
begin |
TCTouch.Touch('S'); --------------------------------------------------- S |
return Pool.Water_Line; |
end Storage_Size; |
|
function TC_Largest_Request return System.Storage_Elements.Storage_Count is |
begin |
return Largest_Request_On_Record; |
end TC_Largest_Request; |
|
end FDB0A00; |
/tctouch.ada
0,0 → 1,264
-- TCTouch.A |
-- |
-- Grant of Unlimited Rights |
-- |
-- 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 |
-- unlimited rights in the software and documentation contained herein. |
-- Unlimited rights are defined in DFAR 252.227-7013(a)(19). By making |
-- this public release, the Government intends to confer upon all |
-- recipients unlimited rights equal to those held by the Government. |
-- These rights include rights to use, duplicate, release or disclose the |
-- 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 |
-- to do so. |
-- |
-- DISCLAIMER |
-- |
-- ALL MATERIALS OR INFORMATION HEREIN RELEASED, MADE AVAILABLE OR |
-- DISCLOSED ARE AS IS. THE GOVERNMENT MAKES NO EXPRESS OR IMPLIED |
-- WARRANTY AS TO ANY MATTER WHATSOEVER, INCLUDING THE CONDITIONS OF THE |
-- SOFTWARE, DOCUMENTATION OR OTHER INFORMATION RELEASED, MADE AVAILABLE |
-- OR DISCLOSED, OR THE OWNERSHIP, MERCHANTABILITY, OR FITNESS FOR A |
-- PARTICULAR PURPOSE OF SAID MATERIAL. |
--* |
-- |
-- FOUNDATION DESCRIPTION: |
-- The tools in this foundation are not peculiar to any particular |
-- aspect of the language, but simplify the test writing and reading |
-- process. Assert and Assert_Not are used to reduce the textual |
-- overhead of the test-that-this-condition-is-(not)-true paradigm. |
-- Touch and Validate are used to simplify tracing an expected path |
-- of execution. |
-- A tag comment of the form: |
-- |
-- TCTouch.Touch( 'A' ); ----------------------------------------- A |
-- |
-- is recommended to improve readability of this feature. |
-- |
-- Report.Test must be called before any of the procedures in this |
-- package with the exception of Touch. |
-- The usage paradigm is to call Touch in locations in the test where you |
-- want a trace of execution. Each call to Touch should have a unique |
-- character associated with it. At each place where a check can |
-- reasonably be performed to determine correct execution of a |
-- sub-test, a call to Validate should be made. The first parameter |
-- passed to Validate is the expected string of characters produced by |
-- call(s) to Touch in the subtest just executed. The second parameter |
-- is the message to pass to Report.Failed if the expected sequence was |
-- not executed. |
-- |
-- Validate should always be called after calls to Touch before a test |
-- completes. |
-- |
-- In the event that calls may have been made to Touch that are not |
-- intended to be recorded, or, the failure of a previous subtest may |
-- leave Touch calls "Unvalidated", the procedure Flush will reset the |
-- tracker to the "empty" state. Flush does not make any calls to |
-- Report. |
-- |
-- Calls to Assert and Assert_Not are to replace the idiom: |
-- |
-- if BadCondition then -- or if not PositiveTest then |
-- Report.Failed(Message); |
-- end if; |
-- |
-- with: |
-- |
-- Assert_Not( BadCondition, Message ); -- or |
-- Assert( PositiveTest, Message ); |
-- |
-- Implementation_Check is for use with tests that cross the boundary |
-- between the core and the Special Needs Annexes. There are several |
-- instances where language in the core becomes enforceable only when |
-- a Special Needs Annex is supported. Implementation_Check should be |
-- called in place of Report.Failed in these cases; it examines the |
-- constants in Impdef that indicate if the particular Special Needs |
-- Annex is being validated with this validation; and acts accordingly. |
-- |
-- The constant Foundation_ID contains the internal change version |
-- for this software. |
-- |
-- ERROR CONDITIONS: |
-- |
-- It is an error to perform more than Max_Touch_Count (80) calls to |
-- Touch without a subsequent call to Validate. To do so will cause |
-- a false test failure. |
-- |
-- CHANGE HISTORY: |
-- 02 JUN 94 SAIC Initial version |
-- 27 OCT 94 SAIC Revised version |
-- 07 AUG 95 SAIC Added Implementation_Check |
-- 07 FEB 96 SAIC Changed to match new Impdef for 2.1 |
-- 16 MAR 00 RLB Changed foundation id to reflect test suite version. |
-- 22 MAR 01 RLB Changed foundation id to reflect test suite version. |
-- 29 MAR 02 RLB Changed foundation id to reflect test suite version. |
-- |
--! |
|
package TCTouch is |
Foundation_ID : constant String := "TCTouch ACATS 2.5"; |
Max_Touch_Count : constant := 80; |
|
procedure Assert ( SB_True : Boolean; Message : String ); |
procedure Assert_Not( SB_False : Boolean; Message : String ); |
|
procedure Touch ( A_Tag : Character ); |
procedure Validate( Expected: String; |
Message : String; |
Order_Meaningful : Boolean := True ); |
|
procedure Flush; |
|
type Special_Needs_Annexes is ( Annex_C, Annex_D, Annex_E, |
Annex_F, Annex_G, Annex_H ); |
|
procedure Implementation_Check( Message : in String; |
Annex : in Special_Needs_Annexes |
:= Annex_C ); |
-- If Impdef.Validating_Annex_<Annex> is true, will call Report.Failed |
-- otherwise will call Report.Not_Applicable. This is to allow tests |
-- which are driven by wording in the core of the language, yet have |
-- their functionality dictated by the Special Needs Annexes to perform |
-- dual purpose. |
-- The default of Annex_C for the Annex parameter is to support early |
-- tests written with the assumption that Implementation_Check was |
-- expressly for use with the Systems Programming Annex. |
|
end TCTouch; |
|
with Report; |
with Impdef; |
package body TCTouch is |
|
procedure Assert( SB_True : Boolean; Message : String ) is |
begin |
if not SB_True then |
Report.Failed( "Assertion failed: " & Message ); |
end if; |
end Assert; |
|
procedure Assert_Not( SB_False : Boolean; Message : String ) is |
begin |
if SB_False then |
Report.Failed( "Assertion failed: " & Message ); |
end if; |
end Assert_Not; |
|
Collection : String(1..Max_Touch_Count); |
Finger : Natural := 0; |
|
procedure Touch ( A_Tag : Character ) is |
begin |
Finger := Finger+1; |
Collection(Finger) := A_Tag; |
exception |
when Constraint_Error => |
Report.Failed("Trace Overflow: " & Collection); |
Finger := 0; |
end Touch; |
|
procedure Sort_String( S: in out String ) is |
-- algorithm from Booch Components Page 472 |
No_Swaps : Boolean; |
procedure Swap(C1, C2: in out Character) is |
T: Character := C1; |
begin C1 := C2; C2 := T; end Swap; |
begin |
for OI in S'First+1..S'Last loop |
No_Swaps := True; |
for II in reverse OI..S'Last loop |
if S(II) < S(II-1) then |
Swap(S(II),S(II-1)); |
No_Swaps := False; |
end if; |
end loop; |
exit when No_Swaps; |
end loop; |
end Sort_String; |
|
procedure Validate( Expected: String; |
Message : String; |
Order_Meaningful : Boolean := True) is |
Want : String(1..Expected'Length) := Expected; |
begin |
if not Order_Meaningful then |
Sort_String( Want ); |
Sort_String( Collection(1..Finger) ); |
end if; |
if Collection(1..Finger) /= Want then |
Report.Failed( Message & " Expecting: " & Want |
& " Got: " & Collection(1..Finger) ); |
end if; |
Finger := 0; |
end Validate; |
|
procedure Flush is |
begin |
Finger := 0; |
end Flush; |
|
procedure Implementation_Check( Message : in String; |
Annex : in Special_Needs_Annexes |
:= Annex_C ) is |
-- default to cover some legacy |
-- USAGE DISCIPLINE: |
-- Implementation_Check is designed to be used in tests that have |
-- interdependency on one of the Special Needs Annexes, yet are _really_ |
-- tests based in the core language. There will be instances where the |
-- execution of a test would be failing in the light of the requirements |
-- of the annex, yet from the point of view of the core language without |
-- the additional requirements of the annex, the test does not apply. |
-- In these cases, rather than issuing a call to Report.Failed, calling |
-- TCTouch.Implementation_Check will check that sensitivity, and if |
-- the implementation is attempting to validate against the specific |
-- annex, Report.Failed will be called, otherwise, Report.Not_Applicable |
-- will be called. |
begin |
|
case Annex is |
when Annex_C => |
if ImpDef.Validating_Annex_C then |
Report.Failed( Message ); |
else |
Report.Not_Applicable( Message & " Annex C not supported" ); |
end if; |
|
when Annex_D => |
if ImpDef.Validating_Annex_D then |
Report.Failed( Message ); |
else |
Report.Not_Applicable( Message & " Annex D not supported" ); |
end if; |
|
when Annex_E => |
if ImpDef.Validating_Annex_E then |
Report.Failed( Message ); |
else |
Report.Not_Applicable( Message & " Annex E not supported" ); |
end if; |
|
when Annex_F => |
if ImpDef.Validating_Annex_F then |
Report.Failed( Message ); |
else |
Report.Not_Applicable( Message & " Annex F not supported" ); |
end if; |
|
when Annex_G => |
if ImpDef.Validating_Annex_G then |
Report.Failed( Message ); |
else |
Report.Not_Applicable( Message & " Annex G not supported" ); |
end if; |
|
when Annex_H => |
if ImpDef.Validating_Annex_H then |
Report.Failed( Message ); |
else |
Report.Not_Applicable( Message & " Annex H not supported" ); |
end if; |
end case; |
end Implementation_Check; |
|
end TCTouch; |
/f390a00.a
0,0 → 1,94
-- F390A00.A |
-- |
-- Grant of Unlimited Rights |
-- |
-- 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 |
-- unlimited rights in the software and documentation contained herein. |
-- Unlimited rights are defined in DFAR 252.227-7013(a)(19). By making |
-- this public release, the Government intends to confer upon all |
-- recipients unlimited rights equal to those held by the Government. |
-- These rights include rights to use, duplicate, release or disclose the |
-- 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 |
-- to do so. |
-- |
-- DISCLAIMER |
-- |
-- ALL MATERIALS OR INFORMATION HEREIN RELEASED, MADE AVAILABLE OR |
-- DISCLOSED ARE AS IS. THE GOVERNMENT MAKES NO EXPRESS OR IMPLIED |
-- WARRANTY AS TO ANY MATTER WHATSOEVER, INCLUDING THE CONDITIONS OF THE |
-- SOFTWARE, DOCUMENTATION OR OTHER INFORMATION RELEASED, MADE AVAILABLE |
-- OR DISCLOSED, OR THE OWNERSHIP, MERCHANTABILITY, OR FITNESS FOR A |
-- PARTICULAR PURPOSE OF SAID MATERIAL. |
--* |
-- |
-- FOUNDATION DESCRIPTION: |
-- This file declares the root type and primitive subprograms of an |
-- alert system abstraction, to be used for tests covering tagged |
-- types and type extensions. |
-- |
-- CHANGE HISTORY: |
-- 06 Dec 94 SAIC ACVC 2.0 |
-- 04 Jun 96 SAIC ACVC 2.1: Added pragma Elaborate for Ada.Calendar. |
-- |
--! |
|
with Ada.Calendar; |
pragma Elaborate (Ada.Calendar); |
|
package F390A00 is -- Alert system abstraction. |
|
|
-- Declarations used by component Display_On and procedure Display. |
|
type Device_Enum is (Null_Device, Teletype, Console, Big_Screen); |
type Display_Counters is array (Device_Enum) of Natural; |
|
Display_Count_For : Display_Counters := (others => 0); |
|
|
-- Declarations used by component Arrival_Time. |
|
Default_Time : constant Ada.Calendar.Time := |
Ada.Calendar.Time_Of (1901, 1, 1); |
Alert_Time : constant Ada.Calendar.Time := |
Ada.Calendar.Time_Of (1991, 6, 15); |
|
|
|
type Alert_Type is tagged record -- Root tagged type. |
Arrival_Time : Ada.Calendar.Time := Default_Time; |
Display_On : Device_Enum := Null_Device; |
end record; |
|
|
procedure Display (A : in Alert_Type); -- To be inherited by |
-- all derivatives. |
|
procedure Handle (A : in out Alert_Type); -- To be overridden by |
-- all derivatives. |
|
end F390A00; |
|
|
--==================================================================-- |
|
|
package body F390A00 is -- Alert system abstraction. |
|
|
procedure Display (A : in Alert_Type) is |
begin |
Display_Count_For (A.Display_On) := Display_Count_For (A.Display_On) + 1; |
end Display; |
|
|
procedure Handle (A : in out Alert_Type) is |
begin |
A.Arrival_Time := Alert_Time; |
Display (A); |
end Handle; |
|
|
end F390A00; |
/f940a00.a
0,0 → 1,97
-- F940A00.A |
-- |
-- |
-- Grant of Unlimited Rights |
-- |
-- 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 |
-- unlimited rights in the software and documentation contained herein. |
-- Unlimited rights are defined in DFAR 252.227-7013(a)(19). By making |
-- this public release, the Government intends to confer upon all |
-- recipients unlimited rights equal to those held by the Government. |
-- These rights include rights to use, duplicate, release or disclose the |
-- 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 |
-- to do so. |
-- |
-- DISCLAIMER |
-- |
-- ALL MATERIALS OR INFORMATION HEREIN RELEASED, MADE AVAILABLE OR |
-- DISCLOSED ARE AS IS. THE GOVERNMENT MAKES NO EXPRESS OR IMPLIED |
-- WARRANTY AS TO ANY MATTER WHATSOEVER, INCLUDING THE CONDITIONS OF THE |
-- SOFTWARE, DOCUMENTATION OR OTHER INFORMATION RELEASED, MADE AVAILABLE |
-- OR DISCLOSED, OR THE OWNERSHIP, MERCHANTABILITY, OR FITNESS FOR A |
-- PARTICULAR PURPOSE OF SAID MATERIAL. |
--* |
-- |
-- FOUNDATION DESCRIPTION: |
-- This foundation contains test control code for tests covering |
-- the protected record. |
-- |
-- CHANGE HISTORY: |
-- 06 Dec 94 SAIC ACVC 2.0 |
-- |
--! |
|
package F940A00 is |
-- Interlock_Foundation |
|
protected type Interlock_Type is |
entry Post; |
entry Consume; |
private |
Int_Count : Integer := 0; |
end Interlock_Type; |
|
protected Counter is -- used to count the number of |
procedure Increment; -- resources that have been granted |
procedure Decrement; -- to tasks |
function Number return integer; |
private |
Count : Integer := 0; |
end Counter; |
|
end F940A00; |
-- Interlock_Foundation |
|
--===================================-- |
|
package body F940A00 is |
-- Interlock_Foundation |
|
protected body Interlock_Type is |
|
entry Post when true is |
begin |
Int_Count := Int_Count + 1; |
end Post; |
|
entry Consume when Int_Count > 0 is |
begin |
Int_Count := Int_Count - 1; |
end Consume; |
|
end Interlock_Type; |
|
|
protected body Counter is |
|
procedure Increment is |
begin |
Count := Count + 1; |
end Increment; |
|
procedure Decrement is |
begin |
Count := Count - 1; |
end Decrement; |
|
function Number return Integer is |
begin |
return Count; |
end Number; |
|
end Counter; |
|
end F940A00; |
-- Interlock_Foundation |
/fa11a00.a
0,0 → 1,73
-- FA11A00.A |
-- |
-- Grant of Unlimited Rights |
-- |
-- 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 |
-- unlimited rights in the software and documentation contained herein. |
-- Unlimited rights are defined in DFAR 252.227-7013(a)(19). By making |
-- this public release, the Government intends to confer upon all |
-- recipients unlimited rights equal to those held by the Government. |
-- These rights include rights to use, duplicate, release or disclose the |
-- 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 |
-- to do so. |
-- |
-- DISCLAIMER |
-- |
-- ALL MATERIALS OR INFORMATION HEREIN RELEASED, MADE AVAILABLE OR |
-- DISCLOSED ARE AS IS. THE GOVERNMENT MAKES NO EXPRESS OR IMPLIED |
-- WARRANTY AS TO ANY MATTER WHATSOEVER, INCLUDING THE CONDITIONS OF THE |
-- SOFTWARE, DOCUMENTATION OR OTHER INFORMATION RELEASED, MADE AVAILABLE |
-- OR DISCLOSED, OR THE OWNERSHIP, MERCHANTABILITY, OR FITNESS FOR A |
-- PARTICULAR PURPOSE OF SAID MATERIAL. |
--* |
-- |
-- FOUNDATION DESCRIPTION: |
-- This foundation declares a tagged type and primitive subprograms in |
-- a parent package. |
-- |
-- CHANGE HISTORY: |
-- 06 Dec 94 SAIC ACVC 2.0 |
-- |
--! |
|
package FA11A00 is -- Widget_Pkg |
-- This package represents processing of widgets in a window system. It |
-- contains a tagged type that can be extended by its children. |
|
type Widget_Length is range 1 .. 100; |
|
type Widget is tagged -- Parent tagged type |
record |
Width, Height : Widget_Length; |
-- More components to be added by extension |
end record; |
|
-- To be inherited by its children derivatives. |
procedure Set_Width (The_Widget : in out Widget; |
W : in Widget_Length); |
|
-- To be inherited by its children derivatives. |
procedure Set_Height (The_Widget : in out Widget; |
H : in Widget_Length); |
|
end FA11A00; -- Widget_Pkg |
|
--=======================================================================-- |
|
package body FA11A00 is -- Widget_Pkg |
|
procedure Set_Width (The_Widget : in out Widget; |
W : in Widget_Length) is |
begin |
The_Widget.Width := W; |
end Set_Width; |
------------------------------------------------------- |
procedure Set_Height (The_Widget : in out Widget; |
H : in Widget_Length) is |
begin |
The_Widget.Height := H; |
end Set_Height; |
|
end FA11A00; -- Widget_Pkg |
/spprt13s.tst
0,0 → 1,67
-- SPPRT13SP.TST |
-- |
-- Grant of Unlimited Rights |
-- |
-- 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 |
-- unlimited rights in the software and documentation contained herein. |
-- Unlimited rights are defined in DFAR 252.227-7013(a)(19). By making |
-- this public release, the Government intends to confer upon all |
-- recipients unlimited rights equal to those held by the Government. |
-- These rights include rights to use, duplicate, release or disclose the |
-- 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 |
-- to do so. |
-- |
-- DISCLAIMER |
-- |
-- ALL MATERIALS OR INFORMATION HEREIN RELEASED, MADE AVAILABLE OR |
-- DISCLOSED ARE AS IS. THE GOVERNMENT MAKES NO EXPRESS OR IMPLIED |
-- WARRANTY AS TO ANY MATTER WHATSOEVER, INCLUDING THE CONDITIONS OF THE |
-- SOFTWARE, DOCUMENTATION OR OTHER INFORMATION RELEASED, MADE AVAILABLE |
-- OR DISCLOSED, OR THE OWNERSHIP, MERCHANTABILITY, OR FITNESS FOR A |
-- PARTICULAR PURPOSE OF SAID MATERIAL. |
--* |
-- |
-- SPECIFICATION FOR PACKAGE SPPRT13 |
|
-- PURPOSE: |
-- THIS PACKAGE CONTAINS CONSTANTS OF TYPE SYSTEM.ADDRESS. |
-- THESE CONSTANTS ARE USED BY SELECTED CHAPTER 13 TESTS, |
-- BY PARTS OF THE AVAT SYSTEM, AND BY ISOLATED TESTS FOR |
-- OTHER CHAPTERS. |
|
-- MACRO SUBSTITUTIONS: |
-- $VARIABLE_ADDRESS, $VARIABLE_ADDRESS1, AND $VARIABLE_ADDRESS2 ARE |
-- EXPRESSIONS YIELDING LEGAL ADDRESSES FOR VARIABLES FOR THIS |
-- IMPLEMENTATION. |
|
-- $ENTRY_ADDRESS, $ENTRY_ADDRESS1, AND $ENTRY_ADDRESS2 ARE |
-- EXPRESSIONS YIELDING LEGAL ADDRESSES FOR TASK ENTRIES |
-- (I.E., FOR INTERRUPTS) FOR THIS IMPLEMENTATION. |
|
-- IF NO EXPRESSIONS CAN BE GIVEN THAT ARE SATISFACTORY FOR THE |
-- VALUES OF THESE CONSTANTS, THEN DECLARE SUITABLE FUNCTIONS |
-- IN THE SPECIFICATION OF PACKAGE FCNDECL, CREATE A PACKAGE BODY |
-- CONTAINING BODIES FOR THE FUNCTIONS, AND REPLACE THE MACROS WITH |
-- APPROPRIATE FUNCTION CALLS. |
|
WITH FCNDECL; USE FCNDECL; |
WITH SYSTEM; |
PACKAGE SPPRT13 IS |
|
VARIABLE_ADDRESS : CONSTANT SYSTEM.ADDRESS := |
$VARIABLE_ADDRESS; |
VARIABLE_ADDRESS1 : CONSTANT SYSTEM.ADDRESS := |
$VARIABLE_ADDRESS1; |
VARIABLE_ADDRESS2 : CONSTANT SYSTEM.ADDRESS := |
$VARIABLE_ADDRESS2; |
|
ENTRY_ADDRESS : CONSTANT SYSTEM.ADDRESS := |
$ENTRY_ADDRESS; |
ENTRY_ADDRESS1 : CONSTANT SYSTEM.ADDRESS := |
$ENTRY_ADDRESS1; |
ENTRY_ADDRESS2 : CONSTANT SYSTEM.ADDRESS := |
$ENTRY_ADDRESS2; |
|
END SPPRT13; |
/fb20a00.a
0,0 → 1,101
-- FB20A00.A |
-- |
-- Grant of Unlimited Rights |
-- |
-- 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 |
-- unlimited rights in the software and documentation contained herein. |
-- Unlimited rights are defined in DFAR 252.227-7013(a)(19). By making |
-- this public release, the Government intends to confer upon all |
-- recipients unlimited rights equal to those held by the Government. |
-- These rights include rights to use, duplicate, release or disclose the |
-- 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 |
-- to do so. |
-- |
-- DISCLAIMER |
-- |
-- ALL MATERIALS OR INFORMATION HEREIN RELEASED, MADE AVAILABLE OR |
-- DISCLOSED ARE AS IS. THE GOVERNMENT MAKES NO EXPRESS OR IMPLIED |
-- WARRANTY AS TO ANY MATTER WHATSOEVER, INCLUDING THE CONDITIONS OF THE |
-- SOFTWARE, DOCUMENTATION OR OTHER INFORMATION RELEASED, MADE AVAILABLE |
-- OR DISCLOSED, OR THE OWNERSHIP, MERCHANTABILITY, OR FITNESS FOR A |
-- PARTICULAR PURPOSE OF SAID MATERIAL. |
--* |
-- |
-- FOUNDATION DESCRIPTION: |
-- This test performs a search for the first instance of a specified |
-- substring within a specified string, returning boolean result. |
-- (Case insensitive analysis) Both the string and the substring are |
-- made upper case. Successive slices are taken from the input string |
-- and compared with the substring. If a match is found, the search is |
-- terminated immediately. The search continues until the last index |
-- position from which a substring-length slice can be constructed is |
-- passed. |
-- |
-- CHANGE HISTORY: |
-- 06 Dec 94 SAIC ACVC 2.0 |
-- |
--! |
|
package FB20A00 is |
|
function Find ( Str : in String ; |
Sub : in String ) return Boolean; |
|
end FB20A00; |
|
--=================================================================-- |
|
package body FB20A00 is |
|
function Find ( Str : in String ; |
Sub : in String ) return Boolean is |
|
New_Str : String (Str'First .. Str'Last); |
New_Sub : String (Sub'First .. Sub'Last); |
|
Pos : Integer := Str'First ; -- Character index. |
|
|
function Upper_Case (Str : in String) return String is |
subtype Upper is Character range 'A' .. 'Z' ; |
subtype Lower is Character range 'a' .. 'z' ; |
Ret : String (Str'First .. Str'Last) ; |
Pos : Integer; |
begin |
for I in Str'Range loop |
if ( Str (I) in Lower ) then |
Pos := Upper'Pos (Upper'First) + |
( Lower'Pos (Str(I)) - Lower'Pos(Lower'First) ) ; |
Ret (I) := Upper'Val (Pos) ; |
else |
Ret (I) := Str (I); |
end if ; |
end loop ; |
return (Ret) ; |
end Upper_Case; |
|
begin |
|
|
New_Str := Upper_Case (Str); -- Convert Str and Sub to upper |
New_Sub := Upper_Case (Sub); -- case for comparison. |
|
while ( Pos <= New_Str'Last-New_Sub'Length+1 ) -- Search until no more |
and then -- sub-string-length |
( New_Str ( Pos .. Pos+New_Sub'Length-1 ) /= New_Sub ) -- slices |
-- remain. |
loop |
Pos := Pos + 1 ; |
end loop ; |
|
if ( Pos > New_Str'Last-New_Sub'Length+1 ) then -- Substring not found. |
return (False); |
else |
return (True); |
end if ; |
|
end Find; |
|
end FB20A00; |
/fa11b00.a
0,0 → 1,110
-- FA11B00.A |
-- |
-- Grant of Unlimited Rights |
-- |
-- 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 |
-- unlimited rights in the software and documentation contained herein. |
-- Unlimited rights are defined in DFAR 252.227-7013(a)(19). By making |
-- this public release, the Government intends to confer upon all |
-- recipients unlimited rights equal to those held by the Government. |
-- These rights include rights to use, duplicate, release or disclose the |
-- 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 |
-- to do so. |
-- |
-- DISCLAIMER |
-- |
-- ALL MATERIALS OR INFORMATION HEREIN RELEASED, MADE AVAILABLE OR |
-- DISCLOSED ARE AS IS. THE GOVERNMENT MAKES NO EXPRESS OR IMPLIED |
-- WARRANTY AS TO ANY MATTER WHATSOEVER, INCLUDING THE CONDITIONS OF THE |
-- SOFTWARE, DOCUMENTATION OR OTHER INFORMATION RELEASED, MADE AVAILABLE |
-- OR DISCLOSED, OR THE OWNERSHIP, MERCHANTABILITY, OR FITNESS FOR A |
-- PARTICULAR PURPOSE OF SAID MATERIAL. |
--* |
-- |
-- FOUNDATION DESCRIPTION: |
-- This foundation declares parent types and operations that can |
-- be inherited by its children. |
-- |
-- CHANGE HISTORY: |
-- 06 Dec 94 SAIC ACVC 2.0 |
-- |
--! |
|
package FA11B00 is -- Application_One_Widget |
-- This foundation simulates code that might be obtained as an already |
-- implemented set of objects and services, perhaps from a source code |
-- vendor. It represents processing of widgets in a window system. |
-- These widgets all have the same characteristics, but they are application |
-- specific, so we do not allow assignment of an App_1_Widget to App_2_Widget. |
|
-- The dimension measurement is in pixels (dots on the screen). |
type Pixels is range 0 .. 10_000; |
type Widget_Id is new Integer; |
type Widget_Color_Enum is (Amber, Green, White, None); |
subtype Widget_Label_Str is string (1 .. 15); |
|
type Widget_Location is |
record |
X_Location, Y_Location : Pixels; |
end record; |
|
type Widget_Size is |
record |
X_Length, Y_Length : Pixels; |
end record; |
|
-- NOTE : not a tagged record. |
type App1_Widget (Maximum_Size : Pixels := Pixels'Last) |
is record -- Parent type |
Size : Widget_Size := (Maximum_Size, Maximum_Size); |
ID : Widget_Id := 1; |
Location : Widget_Location := (0,0); |
Color : Widget_Color_Enum := None; |
Label : Widget_Label_Str := " "; |
end record; |
|
-- Primitive operation of type Widget. |
-- To be inherited by its children derivatives. |
procedure App1_Widget_Specific_Oper (The_Widget : in out App1_Widget; |
I : in Widget_Id; |
C : in Widget_Color_Enum; |
L : in Widget_Label_Str); |
|
end FA11B00; -- Application_One_Widget |
|
--=======================================================================-- |
|
package body FA11B00 is -- Application_One_Widget |
|
procedure Set_Color (The_Widget : in out App1_Widget; |
C : in Widget_Color_Enum) is |
begin |
The_Widget.Color := C; |
end Set_Color; |
------------------------------------------------------------- |
procedure Set_Label (The_Widget : in out App1_Widget; |
L : in Widget_Label_Str) is |
begin |
The_Widget.Label := L; |
end Set_Label; |
------------------------------------------------------------- |
procedure Set_Id (The_Widget : in out App1_Widget; |
I : in Widget_Id) is |
begin |
The_Widget.Id := I; |
end Set_Id; |
------------------------------------------------------------- |
procedure App1_Widget_Specific_Oper |
(The_Widget : in out App1_Widget; |
I : in Widget_Id; |
C : in Widget_Color_Enum; |
L : in Widget_Label_Str) is |
begin |
Set_Color (The_Widget, C); |
Set_Label (The_Widget, L); |
Set_Id (The_Widget, I); |
end App1_Widget_Specific_Oper; |
|
end FA11B00; -- Application_One_Widget |
/fa11c00.a
0,0 → 1,112
-- FA11C00.A |
-- |
-- Grant of Unlimited Rights |
-- |
-- 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 |
-- unlimited rights in the software and documentation contained herein. |
-- Unlimited rights are defined in DFAR 252.227-7013(a)(19). By making |
-- this public release, the Government intends to confer upon all |
-- recipients unlimited rights equal to those held by the Government. |
-- These rights include rights to use, duplicate, release or disclose the |
-- 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 |
-- to do so. |
-- |
-- DISCLAIMER |
-- |
-- ALL MATERIALS OR INFORMATION HEREIN RELEASED, MADE AVAILABLE OR |
-- DISCLOSED ARE AS IS. THE GOVERNMENT MAKES NO EXPRESS OR IMPLIED |
-- WARRANTY AS TO ANY MATTER WHATSOEVER, INCLUDING THE CONDITIONS OF THE |
-- SOFTWARE, DOCUMENTATION OR OTHER INFORMATION RELEASED, MADE AVAILABLE |
-- OR DISCLOSED, OR THE OWNERSHIP, MERCHANTABILITY, OR FITNESS FOR A |
-- PARTICULAR PURPOSE OF SAID MATERIAL. |
--* |
-- |
-- FOUNDATION DESCRIPTION: |
-- This foundation declares parent types and operations that can |
-- be inherited by its children. |
-- |
-- CHANGE HISTORY: |
-- 06 Dec 94 SAIC ACVC 2.0 |
-- |
--! |
|
package FA11C00_0 is -- Package Animal |
|
type Kilogram_Weight_Type is new Natural; |
subtype Species_Name_Type is String (1 .. 20); |
|
type Animal is tagged |
record |
Common_Name : Species_Name_Type; |
Weight : Kilogram_Weight_Type; |
end record; |
|
function Image (A : Animal) return String; |
|
end FA11C00_0; -- Package Animal |
|
--=================================================================-- |
|
package body FA11C00_0 is -- Package body Animal |
|
function Image (A : Animal) return String is |
begin |
return ("Animal Species: " & A.Common_Name); |
end Image; |
|
end FA11C00_0; -- Package body Animal |
|
--=================================================================-- |
|
package FA11C00_0.FA11C00_1 is -- Package Animal.Mammal |
|
type Hair_Color_Type is (Black, Brown, Blonde, Grey, White, Red); |
|
type Mammal is new Animal with |
record |
Hair_Color : Hair_Color_Type; |
end record; |
|
function Image (M : Mammal) return String; |
|
end FA11C00_0.FA11C00_1; -- Package Animal.Mammal |
|
--=================================================================-- |
|
package body FA11C00_0.FA11C00_1 is -- Package body Animal.Mammal |
|
function Image (M : Mammal) return String is |
begin |
return ("Mammal Species: " & M.Common_Name); |
end Image; |
|
end FA11C00_0.FA11C00_1; -- Package body Animal.Mammal |
|
--=================================================================-- |
|
package FA11C00_0.FA11C00_1.FA11C00_2 is -- Package Animal.Mammal.Primate |
|
type Habitat_Type is (Arboreal, Terrestrial); |
|
type Primate is new Mammal with |
record |
Habitat : Habitat_Type; |
end record; |
|
function Image (P : Primate) return String; |
|
end FA11C00_0.FA11C00_1.FA11C00_2; -- Package Animal.Mammal.Primate |
|
--=================================================================-- |
|
-- Package body Animal.Mammal.Primate |
package body FA11C00_0.FA11C00_1.FA11C00_2 is |
|
function Image (P : Primate) return String is |
begin |
return ("Primate Species: " & P.Common_Name); |
end Image; |
|
end FA11C00_0.FA11C00_1.FA11C00_2; -- Package body Animal.Mammal.Primate |
/fa11d00.a
0,0 → 1,78
-- FA11D00.A |
-- |
-- Grant of Unlimited Rights |
-- |
-- 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 |
-- unlimited rights in the software and documentation contained herein. |
-- Unlimited rights are defined in DFAR 252.227-7013(a)(19). By making |
-- this public release, the Government intends to confer upon all |
-- recipients unlimited rights equal to those held by the Government. |
-- These rights include rights to use, duplicate, release or disclose the |
-- 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 |
-- to do so. |
-- |
-- DISCLAIMER |
-- |
-- ALL MATERIALS OR INFORMATION HEREIN RELEASED, MADE AVAILABLE OR |
-- DISCLOSED ARE AS IS. THE GOVERNMENT MAKES NO EXPRESS OR IMPLIED |
-- WARRANTY AS TO ANY MATTER WHATSOEVER, INCLUDING THE CONDITIONS OF THE |
-- SOFTWARE, DOCUMENTATION OR OTHER INFORMATION RELEASED, MADE AVAILABLE |
-- OR DISCLOSED, OR THE OWNERSHIP, MERCHANTABILITY, OR FITNESS FOR A |
-- PARTICULAR PURPOSE OF SAID MATERIAL. |
--* |
-- |
-- FOUNDATION DESCRIPTION: |
-- This foundation declares parent types and operations that can |
-- be inherited by its children. |
-- |
-- CHANGE HISTORY: |
-- 06 Dec 94 SAIC ACVC 2.0 |
-- 21 Dec 94 SAIC Modified type Int_Type |
-- |
--! |
|
package FA11D00 is -- Complex_Definition_Pkg |
|
-- Simulate a complex number support package. Complex numbers |
-- are treated as coordinates in the Cartesian plane. |
|
type Int_Type is range -200 .. 100; |
|
type Complex_Type is record |
Real : Int_Type; |
Imag : Int_Type; |
end record; |
|
Zero : constant Complex_Type := (Real => 0, Imag => 0); |
One : constant Complex_Type := (Real => 1, Imag => 0); |
Check_Value : constant Complex_Type := (Real => 17, Imag => 23); |
|
Add_Error : exception; |
Subtract_Error : exception; |
Divide_Error : exception; |
Multiply_Error : exception; |
|
TC_Handled_In_Caller, |
TC_Handled_In_Child_Pkg_Proc, |
TC_Handled_In_Child_Pkg_Func, |
TC_Handled_In_Grandchild_Pkg_Proc, |
TC_Handled_In_Grandchild_Pkg_Func, |
TC_Handled_In_Child_Sub, |
TC_Propagated_To_Caller : boolean := False; |
|
function Complex (Real, Imag : Int_Type) |
return Complex_Type; |
|
end FA11D00; -- Complex_Definition_Pkg |
|
--=======================================================================-- |
|
package body FA11D00 is -- Complex_Definition_Pkg |
function Complex (Real, Imag : Int_Type) return Complex_Type is |
begin |
return (Real, Imag); |
end Complex; |
|
end FA11D00; -- Complex_Definition_Pkg |
/fb40a00.a
0,0 → 1,81
-- FB40A00.A |
-- |
-- Grant of Unlimited Rights |
-- |
-- 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 |
-- unlimited rights in the software and documentation contained herein. |
-- Unlimited rights are defined in DFAR 252.227-7013(a)(19). By making |
-- this public release, the Government intends to confer upon all |
-- recipients unlimited rights equal to those held by the Government. |
-- These rights include rights to use, duplicate, release or disclose the |
-- 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 |
-- to do so. |
-- |
-- DISCLAIMER |
-- |
-- ALL MATERIALS OR INFORMATION HEREIN RELEASED, MADE AVAILABLE OR |
-- DISCLOSED ARE AS IS. THE GOVERNMENT MAKES NO EXPRESS OR IMPLIED |
-- WARRANTY AS TO ANY MATTER WHATSOEVER, INCLUDING THE CONDITIONS OF THE |
-- SOFTWARE, DOCUMENTATION OR OTHER INFORMATION RELEASED, MADE AVAILABLE |
-- OR DISCLOSED, OR THE OWNERSHIP, MERCHANTABILITY, OR FITNESS FOR A |
-- PARTICULAR PURPOSE OF SAID MATERIAL. |
--* |
-- |
-- FOUNDATION DESCRIPTION: |
-- This foundation package contains global variables, types, a user |
-- defined exception, and two subprograms used to increment the |
-- global variables. |
-- See prologues of specific tests for specific information. |
-- |
-- CHANGE HISTORY: |
-- 06 Dec 94 SAIC ACVC 2.0 |
-- |
--! |
|
|
package FB40A00 is -- package Text_Parser |
|
-- Global Variables |
|
AlphaNumeric_Count, |
Non_AlphaNumeric_Count : Natural := 0; |
|
|
-- Types |
|
type String_Pointer_Type is access String; |
|
|
-- Exceptions |
|
Completed_Text_Processing : exception; |
|
-- Subprograms |
|
procedure Increment_AlphaNumeric_Count; |
procedure Increment_Non_AlphaNumeric_Count; |
|
end FB40A00; |
|
|
--=================================================================-- |
|
|
package body FB40A00 is |
|
|
procedure Increment_AlphaNumeric_Count is |
begin |
AlphaNumeric_Count := AlphaNumeric_Count + 1; |
end Increment_AlphaNumeric_Count; |
|
|
procedure Increment_Non_AlphaNumeric_Count is |
begin |
Non_AlphaNumeric_Count := Non_AlphaNumeric_Count + 1; |
end Increment_Non_AlphaNumeric_Count; |
|
|
end FB40A00; |