task_type_declaration ::=
task type defining_identifier [known_discriminant_part]
[is task_definition];
single_task_declaration ::= task defining_identifier [is task_definition];
task_definition ::=
{task_item}
[ private
{task_item}]
end [task_identifier]
task_item ::= entry_declaration | representation_clause
task_body ::=
task body defining_identifier is
declarative_part
begin
handled_sequence_of_statements
end [task_identifier];
NOTES
task type Server is entry Next_Work_Item(WI : in Work_Item); entry Shut_Down; end Server;
task type Keyboard_Driver(ID : Keyboard_ID := New_ID) is entry Read (C : out Character); entry Write(C : in Character); end Keyboard_Driver;
task Controller is entry Request(Level)(D : Item); -- a family of entries end Controller;
task Parser is entry Next_Lexeme(L : in Lexical_Element); entry Next_Action(A : out Parser_Action); end;
task User; -- has no entries
Agent : Server; Teletype : Keyboard_Driver(TTY_ID); Pool : array(1 .. 10) of Keyboard_Driver;
type Keyboard is access Keyboard_Driver; Terminal : Keyboard := new Keyboard_Driver(Term_ID);
Go to the first, previous, next, last section, table of contents.