c74211b.ada

来自「linux下编程用 编译软件」· ADA 代码 · 共 157 行

ADA
157
字号
-- C74211B.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.--*-- CHECK THAT IMPLICITLY DECLARED INEQUALITY WHICH ACCOMPANIES AN-- EXPLICIT DECLARATION OF EQUALITY HIDES OTHER IMPLICITLY DECLARED-- HOMOGRAPHS, AND THAT DERIVED INEQUALITY HIDES PREDEFINED INEQUALITY.-- DSJ 4/29/83-- JBG 9/23/83WITH REPORT;PROCEDURE C74211B IS     USE REPORT;BEGIN     TEST( "C74211B", "CHECK THAT HIDING OF IMPLICITLY DECLARED " &                      "OPERATORS AND DERIVED SUBPROGRAMS IS DONE " &                      "CORRECTLY REGARDLESS OF ORDER OF DECL'S");     DECLARE          PACKAGE P1 IS                TYPE LT1 IS LIMITED PRIVATE;               FUNCTION "="(L, R : LT1) RETURN BOOLEAN;               FUNCTION LT1_VALUE_2 RETURN LT1;               FUNCTION LT1_VALUE_4 RETURN LT1;               TYPE LT2 IS LIMITED PRIVATE;          PRIVATE               TYPE LT1 IS RANGE 1 .. 10;               TYPE LT2 IS RANGE 1 .. 10;          END P1;          USE P1;          PACKAGE P2 IS               TYPE LT3 IS LIMITED PRIVATE;               TYPE LT4 IS NEW LT1;          PRIVATE               FUNCTION "=" (L, R : LT3) RETURN BOOLEAN;               TYPE LT3 IS NEW LT1;          END P2;          USE P2;          PACKAGE BODY P1 IS               A , B : CONSTANT LT1 := 4;               C , D : CONSTANT LT2 := 6;               FUNCTION "=" (L, R : LT1) RETURN BOOLEAN IS               BEGIN                    RETURN INTEGER(L) /= INTEGER(R);               END "=";               FUNCTION LT1_VALUE_2 RETURN LT1 IS               BEGIN                    RETURN 2;               END LT1_VALUE_2;               FUNCTION LT1_VALUE_4 RETURN LT1 IS               BEGIN                    RETURN 4;               END LT1_VALUE_4;          BEGIN               IF A = B THEN                    FAILED ("PREDEFINED EQUALITY NOT HIDDEN BY " &                            "EXPLICIT DECLARATION - LT1");               END IF;               IF C /= D  THEN                    FAILED ("WRONG PREDEFINED OPERATION - T2");               END IF;          END P1;          PACKAGE BODY P2 IS               FUNCTION U RETURN LT3 IS               BEGIN                    RETURN LT1_VALUE_2;               END U;               FUNCTION V RETURN LT3 IS               BEGIN                    RETURN LT1_VALUE_4;               END V;               FUNCTION W RETURN LT4 IS               BEGIN                    RETURN LT1_VALUE_2;               END W;               FUNCTION X RETURN LT4 IS               BEGIN                    RETURN LT1_VALUE_4;               END X;               FUNCTION "=" (L, R : LT3) RETURN BOOLEAN IS               BEGIN                    RETURN NOT (LT1(L) = LT1(R));               END "=";          BEGIN               IF NOT (U /= V) THEN                    FAILED ("DERIVED SUBPROGRAM NOT HIDDEN BY " &                            "IMPLICITLY DECLARED INEQUALITY " &                            "FROM EXPLICITLY DECLARED EQUALITY");                END IF;               IF NOT (LT3(W) = U) THEN                    FAILED ("DERIVED SUBPROGRAM NOT HIDDEN BY " &                            "EXPLICIT DECLARATION - '=' ");               END IF;               IF W /= X THEN                    FAILED ("PREDEFINED OPERATOR NOT HIDDEN BY " &                            "DERIVED SUBPROGRAM - '/=' ");               END IF;               IF NOT ( X = W ) THEN                    FAILED ("PREDEFINED OPERATOR NOT HIDDEN BY " &                            "DERIVED SUBPROGRAM - '=' ");               END IF;          END P2;     BEGIN          NULL;     END;     RESULT;END C74211B;

⌨️ 快捷键说明

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