DataMuseum.dk

Presents historical artifacts from the history of:

Rational R1000/400 Tapes

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about Rational R1000/400 Tapes

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download
Index: ┃ B T

⟦8cb0449b3⟧ TextFile

    Length: 2615 (0xa37)
    Types: TextFile
    Names: »B«

Derivation

└─⟦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⟧ 

TextFile

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;