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

⟦33803c55c⟧ Ada Source

    Length: 5120 (0x1400)
    Types: Ada Source
    Notes: 03_class, FILE, R1k_Segment, e3_tag, package body Les_Clauses_Initiales, seg_047310, seg_048ddf

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 Joueur_Est;
with Instruction;
with Lex;
with Follow;
with Synchro;
with Error;
with Blocs_Du_Scenario;
with Traduction_Scenario;
with Text_Io;

package body Les_Clauses_Initiales is

    procedure Liste_De_Clauses_Initiales (Ok : out Boolean) is
        use Lex;
        Correct : Boolean;
    begin
        Instruction.Parse (Correct);
        if Correct then
            Liste_De_Clauses_Initiales (Correct);
        end if;

        case (Lex.Get_Token) is
            when L_Generales | L_Locales | L_Finjeu | L_Eof =>
                Correct := True;
            when others =>
                Synchro.Is_On (Error.Liste_De_Clauses_Initiales,
                               Follow.Liste_De_Clauses_Initiales);
                Liste_De_Clauses_Initiales (Correct);
        end case;
        Ok := Correct;
    end Liste_De_Clauses_Initiales;


    procedure Parse (Ok : out Boolean) is  
        use Lex;
        Correct : Boolean := True;
    begin
        Text_Io.Put_Line ("j'entre dans les_clauses_initiales.parse");
        if not (Lex.Get_Token = L_Initiales) then  
            Synchro.Is_On (Error.Les_Clauses_Initiales,
                           Follow.Les_Clauses_Initiales);
            Correct := True;
        else
            Blocs_Du_Scenario.Make_New_Bloc (Nom => Lex.Get_Value);

            if not (Lex.Next_Token = L_Joueur) then
                Synchro.Is_On (Error.Joueur_Est_Dans_Initiales_1,
                               Follow.Joueur_Est_Dans_Initiales_1);
                Correct := True;
            else
                Traduction_Scenario.Make_Instruction;
                Traduction_Scenario.Name_Of_Function (Nom => Lex.Get_Value);

                Lex.Next;
                Joueur_Est.Parse (Correct);
                Traduction_Scenario.End_Of_Function;
                if not Correct then
                    Synchro.Is_On (Error.Joueur_Est_Dans_Initiales_2,
                                   Follow.Joueur_Est_Dans_Initiales_2);
                    Correct := True;
                else
                    Liste_De_Clauses_Initiales (Correct);
                end if;
                Blocs_Du_Scenario.End_Of_Bloc;
            end if;
        end if;
        Ok := Correct;
    end Parse;

end Les_Clauses_Initiales;

E3 Meta Data

    nblk1=4
    nid=4
    hdr6=6
        [0x00] rec0=25 rec1=00 rec2=01 rec3=03c
        [0x01] rec0=17 rec1=00 rec2=02 rec3=016
        [0x02] rec0=0c rec1=00 rec2=03 rec3=000
        [0x03] rec0=0b rec1=00 rec2=04 rec3=000
    tail 0x2174a6d6286536b49decc 0x42a00088462060003
Free Block Chain:
  0x4: 0000  00 00 01 26 80 10 43 6f 72 72 65 63 74 20 3a 3d  ┆   &  Correct :=┆