|
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: 15360 (0x3c00) Types: Ada Source Notes: 03_class, FILE, R1k_Segment, e3_tag, procedure Main_Syntaxe, seg_0485dd
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000 └─⟦5a81ac88f⟧ »Space Info Vol 1« └─⟦this⟧
with Text_Io; with Lexical; with File; with Syntax_Error; with Compiler_Token; use Compiler_Token; with Le_Jeu; with Personnages; with Rooms; with Items; with Complements; with Counters; with Tests; procedure Main_Syntaxe is C : Character; The_File : Text_Io.File_Type; Un_Test : Tests.Type_Test; Un_Effet : Tests.Type_Effect; begin Text_Io.Open (The_File, Text_Io.In_File, "Scenario_test"); Text_Io.Put_Line ("-- Execution --"); Lexical.Open (The_File); Lexical.Create_Error_Report; -- B2: -- loop -- if Lexical.At_End then -- exit B2; -- end if; -- Lexical.Next; -- Text_Io.Put_Line (Lexical.Get_Value & " " & --Token'Image (Lexical.Get_Token); -- end loop B2; Le_Jeu.Parse; if Personnages.Exists ("Spock") then Text_Io.Put_Line ("Spock existe"); Text_Io.Put_Line ("Son commentaire est: " & Personnages.Get_Comment ("Spock")); else Text_Io.Put_Line ("********** Pas Spock ************"); end if; if Complements.Exists ("Debut") and Complements."=" (Complements.Kind_Of ("Debut"), Complements.Room) then Text_Io.Put_Line ("Debut est bien un complement, et c'est une piece"); else Text_Io.Put_Line ("********** Probleme Complements *****************"); end if; Rooms.Set_Current_Room ("Debut"); Rooms.First_Communication; if not Rooms.At_End_Communication then Text_Io.Put_Line ("On n'est pas a la fin des acces"); Text_Io.Put_Line ("Nom du premier acces a Debut: " & Rooms.Get_Communication_Way); Text_Io.Put_Line ("Destination du premier acces a Debut: " & Rooms.Get_Communication_Destination); Text_Io.Put_Line ("Commentaire du premier acces a Debut: " & Rooms.Get_Communication_Comment); if Rooms."=" (Rooms.Unlock, Rooms.Get_Communication_Mode) then Text_Io.Put_Line ("C'est ouvert"); end if; if Rooms."=" (Rooms.Lock, Rooms.Get_Communication_Mode) then Text_Io.Put_Line ("C'est ferme"); end if; if Rooms."=" (Rooms.Visible, Rooms.Get_Communication_Visibility) then Text_Io.Put_Line ("C'est visible"); end if; if Rooms."=" (Rooms.Unvisible, Rooms.Get_Communication_Visibility) then Text_Io.Put_Line ("C'est invisible"); end if; else Text_Io.Put_Line ("On est a la fin des acces"); end if; Rooms.Next_Communication; if not Rooms.At_End_Communication then Text_Io.Put_Line ("On n'est pas a la fin des acces"); Text_Io.Put_Line ("Nom du deuxieme acces a Debut: " & Rooms.Get_Communication_Way); Text_Io.Put_Line ("Destination du deuxieme acces a Debut: " & Rooms.Get_Communication_Destination); Text_Io.Put_Line ("Commentaire du deuxieme acces a Debut: " & Rooms.Get_Communication_Comment); if Rooms."=" (Rooms.Unlock, Rooms.Get_Communication_Mode) then Text_Io.Put_Line ("C'est ouvert"); end if; if Rooms."=" (Rooms.Lock, Rooms.Get_Communication_Mode) then Text_Io.Put_Line ("C'est ferme"); end if; if Rooms."=" (Rooms.Visible, Rooms.Get_Communication_Visibility) then Text_Io.Put_Line ("C'est visible"); end if; if Rooms."=" (Rooms.Unvisible, Rooms.Get_Communication_Visibility) then Text_Io.Put_Line ("C'est invisible"); end if; else Text_Io.Put_Line ("On est a la fin des acces"); end if; Text_Io.Put_Line ("Commentaire de Levier_Generateurs: " & Items.Get_Comment ("Levier_Generateurs")); Text_Io.Put_Line ("Commentaire de Lampe_De_Poche: " & Items.Get_Comment ("Lampe_De_Poche")); Text_Io.Put_Line ("Commentaire de Oeuf: " & Items.Get_Comment ("Oeuf")); if Rooms.In_State ("Generateurs_Electriques", "Eclairee") then Text_Io.Put_Line ("Generateurs_Electriques est Eclairee"); else Text_Io.Put_Line ("Generateurs_Electriques n'est PAS Eclairee"); end if; if Rooms.In_State ("Controle_Teleporteur", "eClairee") then Text_Io.Put_Line ("Controle_Teleporteur est eclairee"); else Text_Io.Put_Line ("Controle_Teleporteur n'est PAS eclairee"); end if; if Personnages.In_State ("Spock", "En_Pesanteur") then Text_Io.Put_Line ("Spock est en pesanteur"); else Text_Io.Put_Line ("Spock n'est pas en pesanteur"); end if; if Items.In_State ("Oeuf", "Endormi") then Text_Io.Put_Line ("L'oeuf est Endormi"); else Text_Io.Put_Line ("L'oeuf n'est pas Endormi"); end if; if Items.In_State ("Oeuf", "Inquietant") then Text_Io.Put_Line ("L'oeuf est Inquietant"); else Text_Io.Put_Line ("L'oeuf n'est pas Inquietant"); end if; if Items.In_State ("Oeuf", "Craquele") then Text_Io.Put_Line ("L'oeuf est Craquele"); else Text_Io.Put_Line ("L'oeuf n'est pas Craquele"); end if; if Items.In_State ("Oeuf", "Rose") then Text_Io.Put_Line ("L'oeuf est Rose"); else Text_Io.Put_Line ("L'oeuf n'est pas Rose"); end if; if Items.Exists ("Oeuf") then Text_Io.Put_Line ("L'oeuf existe"); else Text_Io.Put_Line ("L'oeuf n'existe pas"); end if; Text_Io.Put_Line ("Sa position est: " & Items.Get_Position ("Oeuf")); if Counters.Exists ("Pile_Lampe") then Text_Io.Put_Line ("Pile_Lampe existe, sa valeur est: " & Integer'Image (Counters.Get_Value ("Pile_Lampe"))); end if; if Counters.Exists ("Reveille_Oeuf") then Text_Io.Put_Line ("Reveille_Oeuf existe, sa valeur est: " & Integer'Image (Counters.Get_Value ("Reveille_Oeuf"))); end if; Tests.Beginner; while not Tests.At_End loop Text_Io.Put_Line (""); Text_Io.Put_Line ("Les tests ...................."); Tests.First_Test; while not Tests.At_End_Sup loop Text_Io.Put_Line (""); Un_Test := Tests.Get_Test; case Un_Test.Kind is when Tests.Is_A_Verb => Text_Io.Put_Line ("Kind: Is_A_Verb"); when Tests.Is_A_Complement => Text_Io.Put_Line ("Kind: Is_A_Complement"); when Tests.Is_In_State => Text_Io.Put_Line ("Kind: Is_In_State"); when Tests.Is_Equal => Text_Io.Put_Line ("Kind: Is_Equal"); when Tests.Is_Greater => Text_Io.Put_Line ("Kind: Is_Greater"); when Tests.Is_Less => Text_Io.Put_Line ("Kind: Is_Less"); when Tests.Is_In_Position => Text_Io.Put_Line ("Kind: Is_In_Position"); when Tests.Always => Text_Io.Put_Line ("Kind: Always"); end case; Text_Io.Put_Line ("Name: " & Tests.Identifier.Image (Un_Test.Name)); Text_Io.Put_Line ("State: " & Tests.Identifier.Image (Un_Test.State)); Text_Io.Put_Line ("Value: " & Integer'Image (Un_Test.Value)); Tests.Test_Sup; end loop; Tests.First_Effect; Text_Io.Put_Line (""); Text_Io.Put_Line ("Les effets ...................."); while not Tests.At_End_Effect loop Text_Io.Put_Line (""); Un_Effet := Tests.Get_Effect; case Un_Effet.Kind is when Tests.Increase => Text_Io.Put_Line ("Kind: Increase"); when Tests.Decrease => Text_Io.Put_Line ("Kind: Decrease"); when Tests.Value => Text_Io.Put_Line ("Kind: Value"); when Tests.Print => Text_Io.Put_Line ("Kind: Print"); when Tests.Comment => Text_Io.Put_Line ("Kind: Comment"); when Tests.Game_Over => Text_Io.Put_Line ("Kind: Game_Over"); when Tests.Change => Text_Io.Put_Line ("Kind: Change"); when Tests.Position => Text_Io.Put_Line ("Kind: Position"); end case; Text_Io.Put_Line ("Name: " & Tests.Identifier.Image (Un_Effet.Name)); Text_Io.Put_Line ("State: " & Tests.Identifier.Image (Un_Effet.State)); Text_Io.Put_Line ("Other_State: " & Tests.Identifier.Image (Un_Effet.Other_State)); Text_Io.Put_Line ("Position: " & Tests.Identifier.Image (Un_Effet.Position)); Text_Io.Put_Line ("Value: " & Integer'Image (Un_Effet.Value)); Tests.Next_Effect; end loop; Tests.Next; end loop; Text_Io.Put_Line ("Erreurs syntaxiques survenues: " & Integer'Image (Syntax_Error.Nb_Erreurs_Syntaxiques)); Text_Io.Put_Line ("Erreurs semantiques survenues: " & Integer'Image (Syntax_Error.Nb_Erreurs_Semantiques)); Text_Io.Close (The_File); File.Close_Error_Report; Text_Io.Put_Line (Ascii.Lf & "-- Fin d'execution --"); end Main_Syntaxe;
nblk1=e nid=a hdr6=1a [0x00] rec0=2a rec1=00 rec2=01 rec3=058 [0x01] rec0=02 rec1=00 rec2=04 rec3=010 [0x02] rec0=15 rec1=00 rec2=08 rec3=05c [0x03] rec0=17 rec1=00 rec2=03 rec3=074 [0x04] rec0=16 rec1=00 rec2=02 rec3=026 [0x05] rec0=0b rec1=00 rec2=05 rec3=058 [0x06] rec0=1d rec1=00 rec2=06 rec3=006 [0x07] rec0=19 rec1=00 rec2=07 rec3=01e [0x08] rec0=13 rec1=00 rec2=0c rec3=024 [0x09] rec0=02 rec1=00 rec2=0b rec3=010 [0x0a] rec0=17 rec1=00 rec2=0e rec3=036 [0x0b] rec0=16 rec1=00 rec2=09 rec3=072 [0x0c] rec0=07 rec1=00 rec2=0d rec3=000 [0x0d] rec0=c0 rec1=00 rec2=00 rec3=002 tail 0x2154597ca86597101d9f2 0x42a00088462060003 Free Block Chain: 0xa: 0000 00 00 03 fc 80 12 5f 49 6f 2e 50 75 74 5f 4c 69 ┆ _Io.Put_Li┆