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.