|
|
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: 12288 (0x3000)
Types: Ada Source
Notes: 03_class, FILE, R1k_Segment, e3_tag, package body Interpreter, seg_038fcb, seg_039409, seg_039551
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
└─⟦5a81ac88f⟧ »Space Info Vol 1«
└─⟦this⟧
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
└─⟦cfc2e13cd⟧ »Space Info Vol 2«
└─⟦this⟧
with Custom;
with Object;
with Errors;
package body Interpreter is
procedure Go (The_Root : Statements.Node; Terminal : String) is
Result_Object : Object.Reference := Object.Void_Reference;
begin
Result_Object := Statements.Interpret (The_Root);
exception
when Errors.Affectation_To_Predefined_Id =>
Errors.Interpret_Log
("Il est impossible de modifier la valeur d'un identificateur predefini !",
Terminal);
when Errors.Block_Argument_Required_For_Boolean =>
Errors.Interpret_Log
("Un objet Bloc est requis en argument d'un message envoye a un objet Booleen !",
Terminal);
when Errors.Block_Argument_Required_For_Integer =>
Errors.Interpret_Log
("Un objet Bloc est requis en argument d'un message envoye a un objet Entier !",
Terminal);
when Errors.Block_Argument_Required_For_Tantque_Msg =>
Errors.Interpret_Log
("Un objet Bloc est requis en argument du message 'Tant_Que_Vrai' or 'Tant_Que_Faux' !",
Terminal);
when Errors.Bloc_Msg_With_Not_Enough_Arguments =>
Errors.Interpret_Log
("Un message est envoye a un Bloc avec un nombre insuffisant d'arguments !",
Terminal);
when Errors.Bloc_Msg_With_Too_Many_Arguments =>
Errors.Interpret_Log
("Un message est envoye a un Bloc avec un trop grand nombre d'arguments !",
Terminal);
when Errors.Boolean_Object_Required_As_Argument =>
Errors.Interpret_Log
("Un objet Booleen est requis en argument d'un message !",
Terminal);
when Errors.Division_By_Zero =>
Errors.Interpret_Log
("Tentative de division par Zero !!!", Terminal);
when Errors.Get_Value_Of_Undefined_Identifier =>
Errors.Interpret_Log
("Utilisation d'un identificateur incorrect (non declare) !",
Terminal);
when Errors.Inconsistent_Msg_Selector_For_Block =>
Errors.Interpret_Log
("Message incoherent envoye a un objet Bloc ! (verifiez le nom des arguments...)",
Terminal);
when Errors.Integer_Object_Required_As_Argument =>
Errors.Interpret_Log
("Un objet Entier est requis en argument d'un message !",
Terminal);
when Errors.Integer_Required_As_Argument_For_Pen =>
Errors.Interpret_Log
("Un objet Entier est requis en argument d'un message envoye a un objet Stylo !",
Terminal);
when Errors.Integer_Required_As_Argument_For_Turtle =>
Errors.Interpret_Log
("Un objet Entier est requis en argument d'un message envoye a un objet Tortue !",
Terminal);
when Errors.Max_Block_Number_Exceeded =>
Errors.Interpret_Log
("Le nombre maximum de blocs (" &
Natural'Image (Custom.Block_Max_Number) &
" ) a ete atteint ! Impossible de creer un nouvel objet Bloc...",
Terminal);
when Errors.Max_Pen_Number_Exceeded =>
Errors.Interpret_Log
("Le nombre maximum de stylos (" &
Natural'Image (Custom.Pen_Max_Number) &
" ) a ete atteint ! Impossible de creer un nouvel objet Stylo...",
Terminal);
when Errors.Max_String_Number_Exceeded =>
Errors.Interpret_Log
("Le nombre maximum de chaines (" &
Natural'Image (Custom.String_Max_Number) &
" ) a ete atteint ! Impossible de creer un nouvel objet Chaine...",
Terminal);
when Errors.Max_Turtle_Number_Exceeded =>
Errors.Interpret_Log
("Le nombre maximum de Tortues (" &
Natural'Image (Custom.Turtle_Max_Number) &
" ) a ete atteint ! Impossible de creer un nouvel objet Tortue...",
Terminal);
when Errors.Message_Sent_To_Empty_Object =>
Errors.Interpret_Log
("Un message a ete envoye a l'objet Vide !", Terminal);
when Errors.Multiply_Defined_Argument =>
Errors.Interpret_Log
("Dans la liste des arguments d'un bloc, un argument a ete specifie plusieurs fois...",
Terminal);
when Errors.Set_Value_To_Undefined_Identifier =>
Errors.Interpret_Log
("Tentative d'affectation d'un identificateur inconnu !",
Terminal);
when Errors.Several_Arguments_With_Same_Name =>
Errors.Interpret_Log
("Dans la liste des arguments d'un bloc, plusieurs arguments ont le meme nom...",
Terminal);
when Errors.String_Object_Required_As_Argument =>
Errors.Interpret_Log
("Un objet Chaine est requis en argument d'un message !",
Terminal);
when Errors.String_Required_As_Argument_For_Pen =>
Errors.Interpret_Log
("Un objet Chaine est requis en argument d'un message envoye a un objet Stylo !",
Terminal);
when Errors.Tantque_Msg_To_Non_Boolean_Block =>
Errors.Interpret_Log
("Les messages 'Tant_Que_Vrai' et 'Tant_Que_Faux' ne peuvent etre envoyes qu'a un objet Bloc !",
Terminal);
when Errors.Target_String_Is_Too_Long =>
Errors.Interpret_Log
("Concatenation impossible de 2 chaines : la chaine resultante serait trop longue ! ( Max =" &
Natural'Image (Custom.String_Max_Length) & ")",
Terminal);
when Errors.Unary_Message_To_Block_With_Arguments =>
Errors.Interpret_Log
("Envoi d'un message unaire, a un bloc avec argument(s) !",
Terminal);
when Errors.Undefined_Message_For_Block =>
Errors.Interpret_Log
("Les objets Bloc ne comprennent aucun message binaire !",
Terminal);
when Errors.Undefined_Message_For_Pen =>
Errors.Interpret_Log
("Les objets Stylo ne comprennent aucun message binaire !",
Terminal);
when Errors.Undefined_Message_For_String =>
Errors.Interpret_Log
("Les objets Chaine ne comprennent aucun message a mots cle !",
Terminal);
when Errors.Undefined_Message_For_Turtle =>
Errors.Interpret_Log
("Les objets Tortue ne comprennent aucun message binaire !",
Terminal);
when Errors.Unknown_Message_For_Block =>
Errors.Interpret_Log
("Envoi d'un message inconnu a un objet Bloc !", Terminal);
when Errors.Unknown_Message_For_Boolean =>
Errors.Interpret_Log
("Envoi d'un message inconnu a un objet Booleen !", Terminal);
when Errors.Unknown_Message_For_Integer =>
Errors.Interpret_Log
("Envoi d'un message inconnu a un objet Entier !", Terminal);
when Errors.Unknown_Message_For_Pen =>
Errors.Interpret_Log
("Envoi d'un message inconnu a un objet Stylo !", Terminal);
when Errors.Unknown_Message_For_String =>
Errors.Interpret_Log
("Envoi d'un message inconnu a un objet Chaine !", Terminal);
when Errors.Unknown_Message_For_Turtle =>
Errors.Interpret_Log
("Envoi d'un message inconnu a un objet Tortue !", Terminal);
end Go;
end Interpreter;
nblk1=b
nid=3
hdr6=12
[0x00] rec0=1e rec1=00 rec2=01 rec3=042
[0x01] rec0=18 rec1=00 rec2=09 rec3=02a
[0x02] rec0=16 rec1=00 rec2=07 rec3=092
[0x03] rec0=18 rec1=00 rec2=05 rec3=01e
[0x04] rec0=17 rec1=00 rec2=04 rec3=03e
[0x05] rec0=15 rec1=00 rec2=08 rec3=064
[0x06] rec0=1a rec1=00 rec2=06 rec3=004
[0x07] rec0=18 rec1=00 rec2=02 rec3=076
[0x08] rec0=08 rec1=00 rec2=0b rec3=000
[0x09] rec0=16 rec1=00 rec2=07 rec3=044
[0x0a] rec0=0d rec1=00 rec2=05 rec3=000
tail 0x215320ccc84e95ebe20c4 0x42a00088462060003
Free Block Chain:
0x3: 0000 00 0a 00 5b 80 43 69 6e 65 64 20 77 69 74 68 20 ┆ [ Cined with ┆
0xa: 0000 00 00 00 05 80 02 6d 69 02 6e 74 71 75 65 5f 4d ┆ mi ntque_M┆