⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ca13003.a

📁 linux下编程用 编译软件
💻 A
字号:
-- CA13003.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:--      Check that separate subunits which share an ancestor may have the--      same name if they have different fully qualified names.  Check--      the case of separate subunits of separate subunits.--      This test is a change in semantics from Ada 83 to Ada 9X.---- TEST DESCRIPTION:--      Declare a package that provides file processing operations.  Declare--      one separate package to do the file processing, and another to do the--      auditing.  These packages contain similar functions declared in --      separate subunits.  Verify that the main program can call the --      separate subunits with the same name.------ CHANGE HISTORY:--      06 Dec 94   SAIC    ACVC 2.0----!-- Simulates a file processing application.  The processing package opens-- files, reads files, does file processing, and generates reports.-- The auditing package opens files, read files, and generates reports.package CA13003_0 is          type File_ID is range 1 .. 100;   subtype File_Name is string (1 .. 10);   TC_Open_For_Process    : boolean := false;   TC_Open_For_Audit      : boolean := false;   TC_Report_From_Process : boolean := false;   TC_Report_From_Audit   : boolean := false;   type File_Rec is       record         Name : File_Name;         ID   : File_ID;      end record;   procedure Initialize_File_Rec (Name_In : in     File_Name;                                  ID_In   : in     File_ID;                                  File_In :    out File_Rec);    ----------------------------------------------------------------------   package CA13003_1 is    -- File processing      procedure CA13003_3;                             -- Open files      function CA13003_4 (ID_In : File_ID; File_In : File_Rec)         return File_Name;                              -- Process files      package CA13003_5 is                             -- Generate report         procedure Generate_Report;      end CA13003_5;   end CA13003_1;   ----------------------------------------------------------------------   package CA13003_2 is    -- File auditing      procedure CA13003_3;                             -- Open files      function CA13003_4 (ID_In : File_ID; File_In : File_Rec)         return File_Name;                              -- Process files      package CA13003_5 is                             -- Generate report         procedure Generate_Report;      end CA13003_5;   end CA13003_2;end CA13003_0;     --==================================================================--package body CA13003_0 is          procedure Initialize_File_Rec (Name_In : in     File_Name;                                  ID_In   : in     File_ID;                                  File_In :    out File_Rec) is   -- Not a real initialization.  Real application can use file   -- database to create the file record.   begin      File_In.Name := Name_In;      File_In.ID   := ID_In;   end Initialize_File_Rec;   package body CA13003_1 is separate;   package body CA13003_2 is separate;end CA13003_0;     --==================================================================--separate (CA13003_0)package body CA13003_1 is   procedure CA13003_3 is separate;                 -- Open files   function CA13003_4 (ID_In : File_ID; File_In : File_Rec)      return File_Name is separate;                  -- Process files   package body CA13003_5 is separate;              -- Generate reportend CA13003_1;     --==================================================================--separate (CA13003_0.CA13003_1)procedure CA13003_3 is                              -- Open filesbegin   -- In real file processing application, open file from database, setup   -- data structure, etc.   TC_Open_For_Process := true;end CA13003_3;     --==================================================================--separate (CA13003_0.CA13003_1)function CA13003_4 (ID_In : File_ID;                -- Process files                    File_In : File_Rec) return File_Name is begin   -- In real file processing application, process files for more information.   return File_In.Name;end CA13003_4;     --==================================================================--separate (CA13003_0.CA13003_1)package body CA13003_5 is                           -- Generate report   procedure Generate_Report is   begin      -- In real file processing application, generate various report from the      -- file database.      TC_Report_From_Process := true;   end Generate_Report;end CA13003_5;     --==================================================================--separate (CA13003_0)package body CA13003_2 is   procedure CA13003_3 is separate;                 -- Open files   function CA13003_4 (ID_In : File_ID; File_In : File_Rec)      return File_Name is separate;                  -- Process files   package body CA13003_5 is separate;              -- Generate reportend CA13003_2;     --==================================================================--separate (CA13003_0.CA13003_2)procedure CA13003_3 is                              -- Open filesbegin   TC_Open_For_Audit := true;end CA13003_3;     --==================================================================--separate (CA13003_0.CA13003_2)function CA13003_4 (ID_In : File_ID;                     File_In : File_Rec) return File_Name is begin   return File_In.Name;end CA13003_4;     --==================================================================--separate (CA13003_0.CA13003_2)package body CA13003_5 is                           -- Generate report   procedure Generate_Report is   begin      TC_Report_From_Audit := true;   end Generate_Report;end CA13003_5;     --==================================================================--with CA13003_0;with Report;procedure CA13003 is   First_File_Name  : CA13003_0.File_Name := "Joe Smith ";   First_File_Id    : CA13003_0.File_ID   := 11;   Second_File_Name : CA13003_0.File_Name := "John Schep";   Second_File_Id   : CA13003_0.File_ID   := 47;   Expected_Name    : CA13003_0.File_Name := "          ";   Student_File     : CA13003_0.File_Rec;      function Process_Input_Files (ID_In   : CA13003_0.File_ID;                                  File_In : CA13003_0.File_Rec) return      CA13003_0.File_Name renames CA13003_0.CA13003_1.CA13003_4;   function Process_Audit_Files (ID_In   : CA13003_0.File_ID;                                  File_In : CA13003_0.File_Rec) return      CA13003_0.File_Name renames CA13003_0.CA13003_2.CA13003_4;begin   Report.Test ("CA13003", "Check that separate subunits which share " &                "an ancestor may have the same name if they have " &                "different fully qualified names");   Student_File := (ID => First_File_Id, Name => First_File_Name);   -- Note that all subunits have the same simple name.   -- Generate report from file processing.   CA13003_0.CA13003_1.CA13003_3;   Expected_Name := Process_Input_Files (First_File_Id, Student_File);   CA13003_0.CA13003_1.CA13003_5.Generate_Report;   if not CA13003_0.TC_Open_For_Process or      not CA13003_0.TC_Report_From_Process or        Expected_Name /= First_File_Name then         Report.Failed ("Unexpected results in processing file");   end if;   CA13003_0.Initialize_File_Rec      (Second_File_Name, Second_File_Id, Student_File);   -- Generate report from file auditing.   CA13003_0.CA13003_2.CA13003_3;   Expected_Name := Process_Audit_Files (Second_File_Id, Student_File);   CA13003_0.CA13003_2.CA13003_5.Generate_Report;   if not CA13003_0.TC_Open_For_Audit or      not CA13003_0.TC_Report_From_Audit or        Expected_Name /= Second_File_Name then         Report.Failed ("Unexpected results in auditing file");   end if;   Report.Result;end CA13003;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -