Data update
This commit is contained in:
parent
5150844a7d
commit
4bb20c9b71
7735 changed files with 38060 additions and 199180 deletions
|
|
@ -1,51 +0,0 @@
|
|||
with Ada.Text_IO; use Ada.Text_IO;
|
||||
|
||||
procedure Overflow is
|
||||
|
||||
generic
|
||||
type T is Range <>;
|
||||
Name_Of_T: String;
|
||||
procedure Print_Bounds; -- first instantiate this with T, Name
|
||||
-- then call the instantiation
|
||||
procedure Print_Bounds is
|
||||
begin
|
||||
Put_Line(" " & Name_Of_T & " " & T'Image(T'First)
|
||||
& " .." & T'Image(T'Last));
|
||||
end Print_Bounds;
|
||||
|
||||
procedure P_Int is new Print_Bounds(Integer, "Integer ");
|
||||
procedure P_Nat is new Print_Bounds(Natural, "Natural ");
|
||||
procedure P_Pos is new Print_Bounds(Positive, "Positive");
|
||||
procedure P_Long is new Print_Bounds(Long_Integer, "Long ");
|
||||
|
||||
type Unsigned_Byte is range 0 .. 255;
|
||||
type Signed_Byte is range -128 .. 127;
|
||||
type Unsigned_Word is range 0 .. 2**32-1;
|
||||
type Thousand is range 0 .. 999;
|
||||
type Signed_Double is range - 2**63 .. 2**63-1;
|
||||
type Crazy is range -11 .. -3;
|
||||
|
||||
procedure P_UB is new Print_Bounds(Unsigned_Byte, "U 8 ");
|
||||
procedure P_SB is new Print_Bounds(Signed_Byte, "S 8 ");
|
||||
procedure P_UW is new Print_Bounds(Unsigned_Word, "U 32 ");
|
||||
procedure P_Th is new Print_Bounds(Thousand, "Thous");
|
||||
procedure P_SD is new Print_Bounds(Signed_Double, "S 64 ");
|
||||
procedure P_Cr is new Print_Bounds(Crazy, "Crazy");
|
||||
|
||||
A: Crazy := Crazy'First;
|
||||
|
||||
begin
|
||||
Put_Line("Predefined Types:");
|
||||
P_Int; P_Nat; P_Pos; P_Long;
|
||||
New_Line;
|
||||
|
||||
Put_Line("Types defined by the user:");
|
||||
P_UB; P_SB; P_UW; P_Th; P_SD; P_Cr;
|
||||
New_Line;
|
||||
|
||||
Put_Line("Forcing a variable of type Crazy to overflow:");
|
||||
loop -- endless loop
|
||||
Put(" " & Crazy'Image(A) & "+1");
|
||||
A := A + 1; -- line 49 -- this will later raise a CONSTRAINT_ERROR
|
||||
end loop;
|
||||
end Overflow;
|
||||
Loading…
Add table
Add a link
Reference in a new issue