|
|
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: 2889 (0xb49)
Types: TextFile
Names: »B«
└─⟦a7d1ea751⟧ Bits:30000550 8mm tape, Rational 1000, !users!projects 94_04_11
└─⟦129cab021⟧ »DATA«
└─⟦this⟧
separate (Syntaxe_1)
function Parse_Liste_Scene return Boolean is
Ok : Boolean := True;
function Semantique_Temps return Boolean is
begin
if Token.Object'Pos (Lex.Lex_Get_Token) =
Token.Object'Pos (Token.L_Time) then
if Tds.Mknode_Au_Temps (Lex.Lex_Get_Value, Lex.Lex_Get_Token) then
Lex.Lex_Next;
return True;
else
return False; -- Erreur dans la valeur de temps
end if;
else
return False; -- Erreur : parametre temps oublie
end if;
end Semantique_Temps;
function Parse_Instruction_Temporelle return Boolean is
begin
case Lex.Lex_Get_Token is
when Token.L_Au =>
Lex.Lex_Next;
if Token.Object'Pos (Lex.Lex_Get_Token) =
Token.Object'Pos (Token.L_Temps) then
Lex.Lex_Next;
return Semantique_Temps;
else
return False;
end if;
when Token.L_Puis =>
Lex.Lex_Next;
if Token.Object'Pos (Lex.Lex_Get_Token) =
Token.Object'Pos (Token.L_Attendre) then
Lex.Lex_Next;
return Semantique_Temps;
else
return True;
end if;
when Token.L_Attendre =>
Lex.Lex_Next;
return Semantique_Temps;
when others =>
return False;
end case;
end Parse_Instruction_Temporelle;
--DEBUT DU CORPS PRINCIPAL
begin
while (Token.Object'Pos (Lex.Lex_Get_Token) /=
Token.Object'Pos (Token.L_Fin)) and Ok = True loop
case Lex.Lex_Get_Token is
when Token.L_Id =>
if Tds.Mknode_Scene (Lex.Lex_Get_Value) then
Lex.Lex_Next;
else
Ok := False; -- Erreur d'identificateur de scene
end if;
when others =>
if Parse_Instruction_Temporelle then
if Token.Object'Pos (Lex.Lex_Get_Token) =
Token.Object'Pos (Token.L_Id) then
if Tds.Mknode_Scene (Lex.Lex_Get_Value) then
Lex.Lex_Next;
else
Ok := False; -- Erreur d'identificateur de scene
end if;
else
Text_Io.Put_Line ("Oubli d'identificateur de scene");
Ok := False;
end if;
else
Text_Io.Put_Line ("erreur dans instruction temporelle ");
Ok := False;
end if;
end case;
end loop;
return Ok;
end Parse_Liste_Scene;