dos_compilers/Artek Ada v125/SAMPLE6.ADA
2024-07-08 09:31:49 -07:00

32 lines
728 B
Ada

-- SAMPLE6.ADA Derived types
with TEXT_IO; use TEXT_IO;
procedure SAMPLE6 is
type DOLLAR_TYPE is new INTEGER;
type POUND_TYPE is new INTEGER;
A, B : INTEGER := 2;
D1, D2 : DOLLAR_TYPE := 4; -- Unique integer type
P1, P2 : POUND_TYPE := 8; -- Unique integer type
function "*" (X, Y : DOLLAR_TYPE) return DOLLAR_TYPE is
-- Multiply dollars only
begin
PUT_LINE ("Multiplying two DOLLAR variables");
return DOLLAR_TYPE (INTEGER (X) * INTEGER (Y)); -- Prevent recursion
end;
begin
NEW_LINE (2);
P1 := P1 * P2;
D1 := D1 * D2;
-- A := B + D1; -- Illegal
-- D2 := D1 - P1; -- Illegal
-- P2 := A; -- Illegal
end SAMPLE6;