|
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: 7168 (0x1c00) Types: Ada Source Notes: 03_class, FILE, R1k_Segment, e3_tag, package body Error, seg_03eafc
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000 └─⟦cfc2e13cd⟧ »Space Info Vol 2« └─⟦this⟧
with Text_Io, Lex; use Text_Io, Lex; package body Error is type Token_To_Boolean_Array is array (Token) of Boolean; subtype Keyword_Token is Token range Entier .. Fin; procedure Objet (An_Error : in Token) is Follow_Objet : constant Token_To_Boolean_Array := Token_To_Boolean_Array' (Identifier | Et .. Alors | Scenario .. Fin | Substract .. Less_Equal | End_Of_Text => True, others => False); begin if An_Error in Keyword_Token then Put ("Un 'identificateur' est attendu a la ligne " & Integer'Image (Lex.Get_Line)); Put (" colonne " & Integer'Image (Lex.Get_Column)); Put_Line (", ceci est un mot reserve"); else Put ("Un 'identificateur', 'Heros' ou 'Lieu' est attendu a la ligne " & Integer'Image (Lex.Get_Line)); Put (" colonne " & Integer'Image (Lex.Get_Column)); Put_Line (", ceci est un mot reserve"); end if; while not Follow_Objet (Lex.Get_Token) loop Lex.Next; end loop; end Objet; procedure Affectation (An_Error : in Token) is Follow_Affectation : constant Token_To_Boolean_Array := Token_To_Boolean_Array' (Identifier | Scenario .. Fin | End_Of_Text => True, others => False); begin if An_Error = De then Put ("Un 'de' est attendu a la ligne " & Integer'Image (Lex.Get_Line)); Put_Line (" colonne " & Integer'Image (Lex.Get_Column)); elsif An_Error = Equal then Put ("Un '=' est attendu a la ligne " & Integer'Image (Lex.Get_Line)); Put_Line (" colonne " & Integer'Image (Lex.Get_Column)); elsif An_Error in Keyword_Token then Put ("Un 'identificateur' est attendu a la ligne " & Integer'Image (Lex.Get_Line)); Put (" colonne " & Integer'Image (Lex.Get_Column)); Put_Line (", ceci est un mot reserve"); else Put ("Un 'identificateur' est attendu a la ligne " & Integer'Image (Lex.Get_Line)); Put_Line (" colonne " & Integer'Image (Lex.Get_Column)); end if; while not Follow_Affectation (Lex.Get_Token) loop Lex.Next; end loop; end Affectation; procedure Facteur (An_Error : in Token) is Follow_Facteur : constant Token_To_Boolean_Array := Token_To_Boolean_Array' (Substract .. Divide | Identifier | End_Of_Text => True, others => False); begin if An_Error = Closing_Bracket then Put ("Une ')' est attendu a la ligne " & Integer'Image (Lex.Get_Line)); Put_Line (" colonne " & Integer'Image (Lex.Get_Column)); elsif An_Error in Keyword_Token then Put ("Un 'identificateur', un 'nombre' ou une '(' est attendu a la ligne " & Integer'Image (Lex.Get_Line)); Put (" colonne " & Integer'Image (Lex.Get_Column)); Put_Line (", ceci est un mot reserve"); else Put ("Un 'identificateur', un 'nombre' ou une '(' est attendu a la ligne " & Integer'Image (Lex.Get_Line)); Put_Line (" colonne " & Integer'Image (Lex.Get_Column)); end if; while not Follow_Facteur (Lex.Get_Token) loop Lex.Next; end loop; end Facteur; end Error;
nblk1=6 nid=6 hdr6=a [0x00] rec0=1c rec1=00 rec2=01 rec3=058 [0x01] rec0=19 rec1=00 rec2=02 rec3=06e [0x02] rec0=01 rec1=00 rec2=03 rec3=02e [0x03] rec0=19 rec1=00 rec2=05 rec3=02c [0x04] rec0=13 rec1=00 rec2=04 rec3=000 [0x05] rec0=01 rec1=00 rec2=04 rec3=001 tail 0x2173e4d2886045bfc4b2d 0x42a00088462060003 Free Block Chain: 0x6: 0000 00 00 02 cf 80 27 20 20 20 20 20 20 20 20 20 49 ┆ ' I┆