|
|
DataMuseum.dkPresents historical artifacts from the history of: Rational R1000/400 |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Rational R1000/400 Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 5120 (0x1400)
Types: Ada Source
Notes: 03_class, FILE, R1k_Segment, e3_tag, package body Message_Client_Test, seg_02961b
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
└─⟦cfc2e13cd⟧ »Space Info Vol 2«
└─⟦this⟧
with Message;
with Message_Defs;
with Message_Interchange;
with Message_Transport;
with Notice;
with Parameter;
with Parameter_Parser;
with Set;
with Text_Io;
package body Message_Client_Test is
function Note_Image is new Notice.Image (Message_Interchange.Separator);
type Option_Id is (Nil, Class, Status, Result, Params);
type Param_Id is (Nil, Param, Kind, Data);
package Message_Parser is
new Parameter_Parser
(Option_Id => Option_Id,
Option_Kinds => "class => string, status => string" &
"result =>integer" & "params => string",
Default_Values => "");
package Argument_Parser is
new Parameter_Parser
(Option_Id => Param_Id,
Option_Kinds => "param=>string,kind=>string,data=>string");
S : Message_Transport.Status_Code;
Mes : Message.Object;
use Text_Io;
procedure Start is
M_Iter : Message_Parser.Iterator;
A_Iter : Argument_Parser.Iterator;
begin
M_Iter :=
Message_Parser.Parse
("Class => hello, status => good,result => 123, params => ( param => filename,kind=>string,data=>45, param=>acl, kind=>string,data=>45)");
if not Message_Parser.Is_Successful (M_Iter) then
Put_Line (Message_Parser.Diagnosis (M_Iter));
else
Put_Line ("message parser is successful");
end if;
Put_Line ("Class => " & Message_Parser.Get_Image
(Iter => M_Iter, Name => Class));
Put_Line ("Status => " & Message_Parser.Get_Image
(Iter => M_Iter, Name => Status));
Put_Line ("Result => " & Message_Parser.Get_Image
(Iter => M_Iter, Name => Result));
Put_Line ("Params => " & Message_Parser.Get_Image
(Iter => M_Iter, Name => Params));
A_Iter := Argument_Parser.Parse (Message_Parser.Get_Image
(Iter => M_Iter, Name => Params));
if not Argument_Parser.Is_Successful (A_Iter) then
Put_Line (Argument_Parser.Diagnosis (A_Iter));
else
Put_Line ("argument parser is successful");
end if;
while not Argument_Parser.Done (A_Iter) loop
Put_Line (Param_Id'Image (Argument_Parser.Name (A_Iter)));
Argument_Parser.Next (A_Iter);
end loop;
end Start;
end Message_Client_Test;
nblk1=4
nid=2
hdr6=6
[0x00] rec0=25 rec1=00 rec2=01 rec3=02e
[0x01] rec0=15 rec1=00 rec2=04 rec3=03e
[0x02] rec0=16 rec1=00 rec2=03 rec3=000
[0x03] rec0=16 rec1=00 rec2=02 rec3=000
tail 0x21722f26883ce80360bf3 0x42a00088462060003
Free Block Chain:
0x2: 0000 00 00 02 72 00 00 00 00 41 20 20 20 20 20 20 20 ┆ r A ┆