DataMuseum.dkPresents historical artifacts from the history of: Rational R1000/400 Tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Rational R1000/400 Tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - downloadIndex: ┃ B T ┃
Length: 3151 (0xc4f) Types: TextFile Names: »B«
└─⟦a7d1ea751⟧ Bits:30000550 8mm tape, Rational 1000, !users!projects 94_04_11 └─ ⟦129cab021⟧ »DATA« └─⟦this⟧ └─⟦2f6cfab89⟧ Bits:30000547 8mm tape, Rational 1000, !projects 94-01-04 └─ ⟦d65440be7⟧ »DATA« └─⟦this⟧
with Scanner; with Text_Io; with Bounded_String; with Object; with Table; with Text_Io; with Table; with Object; with Message; use Scanner; procedure Test_Scanner is The_Object : Object.Reference := Object.Void_Reference; Ma_Table : Table.Symbol_Kind; The_Token : Scanner.Token; Trouve : Boolean := False; String_Lu : Message.Tiny_String; begin Table.Initialize (Ma_Table); Scanner.Open ("New_File"); while not Scanner.At_End loop Scanner.Next; Bounded_String.Free (String_Lu); Text_Io.Put ("Chaine Lexeme Lu : "); Text_Io.Put_Line (Bounded_String.Image (Scanner.Get_Value)); The_Token := Scanner.Get_Token; case The_Token is when T_Identifier => Text_Io.Put_Line ("c'est_un identifier,je le met dans la table si je peu "); The_Object := Scanner.Get_Value; Bounded_String.Append (String_Lu, Bounded_String.Image (Scanner.Get_Value)); Table.Insert (Ma_Table, String_Lu, The_Object); Object.En_Texte (The_Object); when T_Integer => Text_Io.Put_Line ("c'est_un integer,je cree l'objet"); when T_Dot => Text_Io.Put_Line ("c'est_un point j'imprime la table des symboles"); Table.En_Texte (Ma_Table); Text_Io.Put ("j'e recherche tata "); Text_Io.Put (Bounded_String.Image (String_Lu)); Bounded_String.Append (String_Lu, "tata"); Table.Find (Ma_Table, String_Lu, The_Object, Trouve); if Trouve then Text_Io.Put_Line (" ===> je l'ai trouve dans la table"); else Text_Io.Put_Line (" ===> !!! PAS trouve dans la table"); end if; when T_String => Text_Io.Put_Line ("c'est une string ,je cree l'objet "); The_Object := Scanner.Get_Value; Text_Io.Put ("ID_object:"); Text_Io.Put_Line (Integer'Image (Object.Get_Value (The_Object))); when T_Pour => Text_Io.Put_Line ("c'est un pour "); when T_Avec => Text_Io.Put_Line ("c'est un avec "); when T_Prendre => Text_Io.Put_Line ("c'est un prendre "); Text_Io.Put_Line ("!!!je detruit tata dans la table "); Bounded_String.Append (String_Lu, "tata"); Table.Remove (Ma_Table, String_Lu); when T_Renvoyer => Text_Io.Put_Line ("c'est un renvoyer : je reinsere tata dans la table pour voir"); Bounded_String.Append (String_Lu, "tata"); Table.Insert (Ma_Table, String_Lu, The_Object); when T_Keyword => Text_Io.Put_Line ("c'est un keyword "); when others => Text_Io.Put_Line ("je ne comprend pas "); end case; end loop; end Test_Scanner;