Ada Programming/Keywords/use


Ada Lovelace 1838.jpg

Use clauseEdit

At library levelEdit

This use clause make the content of a package immediately visible.

with Ada.Text_IO;   use Ada.Text_IO;

procedure Hello is
begin
   Put_Line("Hello, world!");
   New_Line;
   Put_Line("I am an Ada program with package use.");
end Hello;

If readability is your main concern then you should avoid this type of use clause. However it is needed to resolve a name clash between the packages which are imported and the package currently compiled.

At declaration levelEdit

File: hello_world_3.adb (view, plain text, download page, browse all)
with Ada.Text_IO;

procedure Hello is
   use Ada.Text_IO;
begin
   Put_Line("Hello, world!");
   New_Line;
   Put_Line("I am an Ada program with package use.");
end Hello;

For typesEdit

with Ada.Text_IO;

procedure Hello is
   use type Ada.Text_IO.File_Type
begin
   Ada.Text_IO.Put_Line("Hello, world!");
   Ada.Text_IO.New_Line;
   Ada.Text_IO.Put_Line("I am an Ada program with package use.");
end Hello;

Representation clauseEdit

For attributesEdit

type Day_Of_Month is range 1 .. 31;            
for  Day_Of_Month'Size      use 8;  -- 8 bits
for  Day_Of_Month'Alignment use 1;  -- 1 byte

For recordsEdit

type Device_Register is
    record
       Ready : Status_Flag;
       Error : Error_Flag;
       Data  : Unsigned_16;
    end record;

for  Device_Register use
    record
       Ready at 0 range  0 .. 0;
       Error at 0 range  1 .. 1;
       -- Reserved bits
       Data  at 0 range 16 .. 31;
    end record;

For enumerationsEdit

type Status_Flag is  (Ready, Wait);
for  Status_Flag use (Ready => 0, Wait => 1);

See alsoEdit

WikibookEdit

Ada Reference ManualEdit

Ada Quality and Style GuideEdit



Ada Keywords
abort else new return
abs elsif not reverse
abstract (Ada 95) end null
accept entry select
access exception of separate
aliased (Ada 95) exit or some (Ada 2012)
all others subtype
and for out synchronized (Ada 2005)
array function overriding (Ada 2005)
at tagged (Ada 95)
generic package task
begin goto pragma terminate
body private then
if procedure type
case in protected (Ada 95)
constant interface (Ada 2005) until (Ada 95)
is raise use
declare range
delay limited record when
delta loop rem while
digits renames with
do mod requeue (Ada 95) xor
Last modified on 5 January 2009, at 16:24