task type defining_identifier [known_discriminant_part] [is task_definition];
task defining_identifier [is task_definition];
{task_item}
[ private
{task_item}]
end [task_identifier]
task body defining_identifier is
declarative_part
begin
handled_sequence_of_statements
end [task_identifier];
entry Next_Work_Item(WI : in Work_Item);
entry Shut_Down;
end Server;
entry Read (C : out Character);
entry Write(C : in Character);
end Keyboard_Driver;
entry Request(Level)(D : Item); -- a family of entries
end Controller;
entry Next_Lexeme(L : in Lexical_Element);
entry Next_Action(A : out Parser_Action);
end;
Teletype : Keyboard_Driver(TTY_ID);
Pool : array(1 .. 10) of Keyboard_Driver;
Terminal : Keyboard := new Keyboard_Driver(Term_ID);