|
|
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: 3503 (0xdaf)
Types: TextFile
Names: »B«
└─⟦a7d1ea751⟧ Bits:30000550 8mm tape, Rational 1000, !users!projects 94_04_11
└─⟦129cab021⟧ »DATA«
└─⟦this⟧
separate (Syntaxe_1)
procedure Parse_Action (Validation_Bloc : in out Boolean; Ok : out Boolean) is
function Parse_Action_5 return Boolean is
begin
if Token.Object'Pos (Lex.Lex_Get_Token) =
Token.Object'Pos (Token.L_En) then
Lex.Lex_Next;
return Parse_Operande;
else
return True;
end if;
end Parse_Action_5;
function Parse_Action_4 return Boolean is
begin
if Token.Object'Pos (Lex.Lex_Get_Token) =
Token.Object'Pos (Token.L_Egal) then
Lex.Lex_Next;
if Parse_Operande then
return Parse_Action_5;
else
return False;
end if;
else
return True;
end if;
end Parse_Action_4;
function Parse_Action_3 return Boolean is
begin
if Parse_Operation then
return True;
else
if Token.Object'Pos (Lex.Lex_Get_Token) =
Token.Object'Pos (Token.L_Crochetg) then
Lex.Lex_Next;
if Parse_Liste_Groupe then
if Token.Object'Pos (Lex.Lex_Get_Token) =
Token.Object'Pos (Token.L_Crochetd) then
Lex.Lex_Next;
return True;
else
return False;
end if;
else
return False;
end if;
else
return False;
end if;
end if;
end Parse_Action_3;
function Parse_Action_2 return Boolean is
begin
if Token.Object'Pos (Lex.Lex_Get_Token) =
Token.Object'Pos (Token.L_Id) then
Lex.Lex_Next;
if Token.Object'Pos (Lex.Lex_Get_Token) =
Token.Object'Pos (Token.L_Point) then
Lex.Lex_Next;
if Token.Object'Pos (Lex.Lex_Get_Token) =
Token.Object'Pos (Token.L_Id) then
Lex.Lex_Next;
return True;
else
return False;
end if;
else
return False;
end if;
else
return False;
end if;
end Parse_Action_2;
function Parse_Action_1 return Boolean is
begin
case Lex.Lex_Get_Token is
when Token.L_Egal =>
Lex.Lex_Next;
return Parse_Action_3;
when Token.L_Point =>
Lex.Lex_Next;
if Token.Object'Pos (Lex.Lex_Get_Token) =
Token.Object'Pos (Token.L_Id) then
Lex.Lex_Next;
return Parse_Action_4;
else
return False;
end if;
when others =>
return Parse_Liste_Param_Appel;
end case;
end Parse_Action_1;
-- CORPS DE LA FONCTION PARSE ACTION
begin
case Lex.Lex_Get_Token is
when Token.L_Id =>
Lex.Lex_Next;
Ok := Parse_Action_1;
when Token.L_Activer =>
Lex.Lex_Next;
Ok := Parse_Action_2;
when Token.L_Desactiver =>
Lex.Lex_Next;
Ok := Parse_Action_2;
when Token.L_Attendre =>
Lex.Lex_Next;
Ok := Parse_Operande;
when others =>
Validation_Bloc := False;
Ok := False;
end case;
end Parse_Action;