63
64
65
66
67
68
69
70
71
72
73
74
75
76
|
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
|
+
|
type Null_Command is new Command with null record;
Do_Nothing : Null_Command := Null_Command'(null record);
type Interpreter is new Command with private;
pragma Preelaborable_Initialization (Interpreter);
procedure Add_Command
(Self : in out Interpreter;
Name : in Atom;
Cmd : in Command'Class);
procedure Add
|
114
115
116
117
118
119
120
121
122
123
124
125
126
127
|
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
|
+
+
|
(Self : in Interpreter;
State : in out Shared_State;
Context : in Shared_Context;
Cmd : in out Lockable.Descriptor'Class);
-- Execute a single command with arguments
type Command_Description is private;
pragma Preelaborable_Initialization (Command_Description);
type Command_Array is array (Positive range <>) of Command_Description;
function Build (Commands : Command_Array) return Interpreter;
function Build (Commands : Command_Array; Fallback : String)
return Interpreter;
function Item (Name : String; Cmd : Command'Class)
return Command_Description;
|