|
|
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 - metrics - downloadIndex: B T
Length: 2615 (0xa37)
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⟧
separate (Lexical.Simulated_Automate)
package body Keywords is
type P_String is access String;
type One_Keyword is
record
The_Name : P_String;
The_Token : Token;
end record;
type Keywords is array (Positive range <>) of One_Keyword;
All_Keywords : constant Keywords :=
((new String'("ACTIVER"), L_Activer), (new String'("ALORS"), L_Alors),
(new String'("AUTEMPS"), L_Autemps),
(new String'("ATTENDRE"), L_Attendre),
(new String'("BINAIRE"), L_Binaire),
(new String'("CATEGORIE"), L_Categorie),
(new String'("DANS"), L_Dans), (new String'("DEBUT"), L_Debut),
(new String'("DESACTIVER"), L_Desactiver),
(new String'("DISCRET"), L_Discret), (new String'("EFFET"), L_Effet),
(new String'("ELEMENT"), L_Element), (new String'("EN"), L_En),
(new String'("ENSEQUENCE"), L_Ensequence), (new String'("EST"), L_Est),
(new String'("EVOLUER"), L_Evoluer),
(new String'("EXPERIENCE"), L_Experience),
(new String'("FAIRE"), L_Faire), (new String'("FIN"), L_Fin),
(new String'("FOIS"), L_Fois), (new String'("FUGITIF"), L_Fugitif),
(new String'("IMPLANTATION"), L_Implantation),
(new String'("JUSQUA"), L_Jusqua),
(new String'("MATERIEL"), L_Materiel), (new String'("MOD"), L_Mod),
(new String'("MODIFIER"), L_Modifier),
(new String'("PENDANT"), L_Pendant),
(new String'("POURTOUS"), L_Pourtous),
(new String'("REPETER"), L_Repeter), (new String'("SCENE"), L_Scene),
(new String'("SI"), L_Si), (new String'("SINON"), L_Sinon),
(new String'("SPECTACLE"), L_Spectacle),
(new String'("TEMPOREL"), L_Temporel));
function Is_Keyword (The_Lexeme : Lexeme) return Boolean is
Word : constant String := String_Utilities.Upper_Case
(Bounded_String.Image (The_Lexeme));
begin
for I in All_Keywords'Range loop
if All_Keywords (I).The_Name.all = Word then
return True;
end if;
end loop;
return False;
end Is_Keyword;
function Lexeme_To_Token (From : Lexeme) return Token is
Word : constant String := String_Utilities.Upper_Case
(Bounded_String.Image (From));
begin
for I in All_Keywords'Range loop
if All_Keywords (I).The_Name.all = Word then
return All_Keywords (I).The_Token;
end if;
end loop;
return L_Id;
end Lexeme_To_Token;
end Keywords;