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

📄 c87b16a.ada

📁 用于进行gcc测试
💻 ADA
字号:
-- C87B16A.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 OVERLOADING RESOLUTION USES THE RULE THAT:---- FOR A DEFAULT RECORD COMPONENT, THE TYPE OF THE INITIALIZATION-- EXPRESSION MUST MATCH THE COMPONENTS'S EXPLICIT TYPEMARK.--      -- THE FOUR KINDS OF EXPRESSIONS TESTED HERE ARE:-- --    (A): A CALL TO AN OVERLOADED FUNCTION.--    (B): AN OVERLOADED OPERATOR SYMBOL.--    (C): AN OVERLOADED (INFIX) OPERATOR.--    (D): AN OVERLOADED ENUMERATION LITERAL.  -- TRH  23 JUNE 82  WITH REPORT; USE REPORT;   PROCEDURE C87B16A IS       TYPE WHOLE  IS NEW INTEGER RANGE 0..INTEGER'LAST;     TYPE CITRUS IS (LEMON, LIME, ORANGE);     TYPE HUE    IS (RED, ORANGE, YELLOW);          FUNCTION F1 (X, Y : INTEGER) RETURN INTEGER IS     BEGIN          RETURN -1;     END F1;     FUNCTION F1 (X, Y : WHOLE) RETURN WHOLE IS     BEGIN          RETURN 0;     END F1;         FUNCTION F1 (X, Y : INTEGER) RETURN HUE IS     BEGIN          RETURN ORANGE;     END F1;     FUNCTION F1 (X, Y : INTEGER) RETURN CITRUS IS     BEGIN          RETURN ORANGE;     END F1;   BEGIN     TEST ("C87B16A","OVERLOADED INITIALIZATION EXPRESSIONS" &           " IN DEFAULT RECORD COMPONENTS");     DECLARE          FUNCTION "-" (X, Y : INTEGER) RETURN INTEGER               RENAMES F1;              FUNCTION "-" (X, Y : WHOLE)   RETURN WHOLE               RENAMES F1;               FUNCTION "-" (X, Y : INTEGER) RETURN HUE               RENAMES F1;             FUNCTION "-" (X, Y : INTEGER) RETURN CITRUS               RENAMES F1;                TYPE REC IS               RECORD                    I1 : INTEGER := F1  (0, 0);                    W1 : WHOLE   := F1  (0, 0);                    C1 : CITRUS  := F1  (0, 0);                    H1 : HUE     := F1  (0, 0);                       I2 : INTEGER := "-" (0, 0);                    W2 : WHOLE   := "-" (0, 0);                    C2 : CITRUS  := "-" (0, 0);                    H2 : HUE     := "-" (0, 0);                          I3 : INTEGER := (0 - 0);                    W3 : WHOLE   := (0 - 0);                    C3 : CITRUS  := (0 - 0);                    H3 : HUE     := (0 - 0);                          C4 : CITRUS  := ORANGE;                    H4 : HUE     := ORANGE;               END RECORD;          R1 : REC;       BEGIN          IF R1.I1              /= -1 OR R1.W1           /= 0 OR             CITRUS'POS (R1.C1) /=  2 OR HUE'POS (R1.H1) /= 1 THEN             FAILED ("(A): RESOLUTION INCORRECT - FUNCTION CALL");          END IF;              IF R1.I2              /= -1 OR R1.W2           /= 0 OR             CITRUS'POS (R1.C2) /=  2 OR HUE'POS (R1.H2) /= 1 THEN             FAILED ("(B): RESOLUTION INCORRECT - OPERATOR SYMBOL");          END IF;              IF R1.I3              /= -1 OR R1.W3           /= 0 OR             CITRUS'POS (R1.C3) /=  2 OR HUE'POS (R1.H3) /= 1 THEN             FAILED ("(C): RESOLUTION INCORRECT - INFIX OPERATOR");          END IF;              IF CITRUS'POS (R1.C4) /=  2 OR HUE'POS (R1.H4) /= 1 THEN             FAILED ("(D): RESOLUTION INCORRECT - ENUMERATION LITERAL");          END IF;     END;         RESULT;END C87B16A;

⌨️ 快捷键说明

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