DataMuseum.dk

Presents historical artifacts from the history of:

Rational R1000/400

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

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download

⟦779fcdd6c⟧ Ada Source

    Length: 10240 (0x2800)
    Types: Ada Source
    Notes: 03_class, FILE, R1k_Segment, e3_tag, package body Suite, seg_047827, seg_048c43, seg_048cb1, seg_048de2

Derivation

└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
    └─ ⟦5a81ac88f⟧ »Space Info Vol 1« 
        └─⟦this⟧ 
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
    └─ ⟦cfc2e13cd⟧ »Space Info Vol 2« 
        └─⟦this⟧ 

E3 Source Code



with Lex;  
with Expression_Fonction;
with Traduction_Scenario;
package body Suite is


    procedure Cas_Vcc (Ok : out Boolean) is
        use Lex;
    begin
        if (Lex.Get_Token = L_Id) then
            Traduction_Scenario.Add_Condition_Parameter
               (P => Lex.Get_Value, Is_Number => False);
            Lex.Next;
            if Lex.Get_Token = L_Id then
                Traduction_Scenario.Add_Condition_Parameter
                   (P => Lex.Get_Value, Is_Number => False);
                Lex.Next;
            end if;
        end if;
        Ok := True;
    end Cas_Vcc;


    procedure Champ (Ok : out Boolean) is
        use Lex;
        Correct : Boolean;
    begin
        case Lex.Get_Token is

            when L_Id | L_Objet =>
                Correct := True;
                Traduction_Scenario.Add_Condition_Parameter
                   (P => Lex.Get_Value, Is_Number => False);
                Lex.Next;

            when L_Equal =>
                Traduction_Scenario.Add_Condition_Parameter
                   (P => Lex.Get_Value, Is_Number => False);
                case Lex.Next_Token is
                    when L_Id =>
                        Traduction_Scenario.Add_Condition_Parameter
                           (P => Lex.Get_Value, Is_Number => False);
                        case Lex.Next_Token is
                            when L_Etat | L_Possession |
                                 L_Contenu | L_Position =>
                                Correct := True;
                                Traduction_Scenario.Add_Condition_Parameter
                                   (P => Lex.Get_Value, Is_Number => False);
                                Lex.Next;

                            when others =>
                                Correct := False;
                        end case;
                    when L_Joueur =>
                        Traduction_Scenario.Add_Condition_Parameter
                           (P => Lex.Get_Value, Is_Number => False);
                        if Lex.Next_Token = L_Position then
                            Traduction_Scenario.Add_Condition_Parameter
                               (P => Lex.Get_Value, Is_Number => False);
                            Lex.Next;
                            Correct := True;
                        else
                            Correct := False;
                        end if;
                    when L_Positioncourante =>
                        Traduction_Scenario.Add_Condition_Parameter
                           (P => Lex.Get_Value, Is_Number => False);
                        Lex.Next;
                        Correct := True;

                    when others =>
                        Correct := False;
                end case;

            when others =>
                Correct := False;

        end case;
        Ok := Correct;
    end Champ;


    procedure Communication (Ok : out Boolean) is
        use Lex;
        Correct : Boolean;
    begin
        case Lex.Get_Token is

            when L_Est =>
                Traduction_Scenario.Add_Condition_Parameter
                   (P => Lex.Get_Value, Is_Number => False);
                if (Lex.Next_Token = L_Dans) then
                    Traduction_Scenario.Add_Condition_Parameter
                       (P => Lex.Get_Value, Is_Number => False);
                    case Lex.Next_Token is
                        when L_Id | L_Positioncourante | L_Lieu =>
                            Correct := True;
                            Traduction_Scenario.Add_Condition_Parameter
                               (P => Lex.Get_Value, Is_Number => False);
                            Lex.Next;
                        when others =>
                            Correct := False;
                    end case;
                end if;

            when L_Etat =>
                Traduction_Scenario.Add_Condition_Parameter
                   (P => Lex.Get_Value, Is_Number => False);
                if (Lex.Next_Token = L_Id) then
                    Correct := True;
                    Traduction_Scenario.Add_Condition_Parameter
                       (P => Lex.Get_Value, Is_Number => False);
                    Lex.Next;
                else
                    Correct := False;
                end if;


            when others =>
                Correct := False;

        end case;
        Ok := Correct;
    end Communication;

    procedure Lieu (Ok : out Boolean) is
        use Lex;
        Correct : Boolean;
    begin
        case Lex.Get_Token is

            when L_Equal | L_Etat =>
                Traduction_Scenario.Add_Condition_Parameter
                   (P => Lex.Get_Value, Is_Number => False);
                if (Lex.Next_Token = L_Id) then
                    Correct := True;
                    Traduction_Scenario.Add_Condition_Parameter
                       (P => Lex.Get_Value, Is_Number => False);
                    Lex.Next;
                else
                    Correct := False;
                end if;

            when L_Reliea =>
                Traduction_Scenario.Add_Condition_Parameter
                   (P => Lex.Get_Value, Is_Number => False);
                case Lex.Next_Token is
                    when L_Id | L_Positioncourante =>
                        Correct := True;
                        Traduction_Scenario.Add_Condition_Parameter
                           (P => Lex.Get_Value, Is_Number => False);
                        Lex.Next;
                    when others =>
                        Correct := False;
                end case;


            when others =>
                Correct := False;

        end case;
        Ok := Correct;
    end Lieu;

    procedure Position_Courante (Ok : out Boolean) is
        use Lex;
        Correct : Boolean;
    begin
        case Lex.Get_Token is

            when L_Equal =>
                Traduction_Scenario.Add_Condition_Parameter
                   (P => Lex.Get_Value, Is_Number => False);
                if (Lex.Next_Token = L_Id) then
                    Correct := True;
                    Traduction_Scenario.Add_Condition_Parameter
                       (P => Lex.Get_Value, Is_Number => False);
                    Lex.Next;
                else
                    Correct := False;
                end if;

            when L_Sortie =>
                Traduction_Scenario.Add_Condition_Parameter
                   (P => Lex.Get_Value, Is_Number => False);
                if (Lex.Next_Token = L_Vers) then
                    Traduction_Scenario.Add_Condition_Parameter
                       (P => Lex.Get_Value, Is_Number => False);
                    case Lex.Next_Token is
                        when L_Id | L_Direction =>
                            Correct := True;
                            Traduction_Scenario.Add_Condition_Parameter
                               (P => Lex.Get_Value, Is_Number => False);
                            Lex.Next;
                        when others =>
                            Correct := False;
                    end case;
                else
                    Correct := False;
                end if;

            when others =>
                Correct := False;

        end case;
        Ok := Correct;
    end Position_Courante;
end Suite;

E3 Meta Data

    nblk1=9
    nid=0
    hdr6=12
        [0x00] rec0=25 rec1=00 rec2=01 rec3=00a
        [0x01] rec0=01 rec1=00 rec2=04 rec3=01a
        [0x02] rec0=13 rec1=00 rec2=03 rec3=02c
        [0x03] rec0=1b rec1=00 rec2=09 rec3=04a
        [0x04] rec0=18 rec1=00 rec2=02 rec3=050
        [0x05] rec0=1e rec1=00 rec2=07 rec3=066
        [0x06] rec0=1e rec1=00 rec2=06 rec3=020
        [0x07] rec0=18 rec1=00 rec2=08 rec3=022
        [0x08] rec0=12 rec1=00 rec2=05 rec3=000
    tail 0x2174b04f48654655ba22e 0x42a00088462060003