|
|
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: 6185 (0x1829)
Types: TextFile
Names: »B«
└─⟦a7d1ea751⟧ Bits:30000550 8mm tape, Rational 1000, !users!projects 94_04_11
└─⟦129cab021⟧ »DATA«
└─⟦this⟧
with Abstract_Tree;
with Element;
with Follow;
with Lex;
with Symbol_Table;
with Station_Identifier;
with Text_Io;
with Token;
with Trame_Product;
use Token;
use Follow;
package body Parse is
package Error is
procedure Found;
function Get return Boolean;
end Error;
package body Error is separate;
package Num_Station is
function Get_New return Station_Identifier.Object;
function Get_Max return Station_Identifier.Object;
end Num_Station;
package body Num_Station is separate;
procedure Parse_Les_Ordres
(Ok : out Boolean;
The_List : in out Abstract_Tree.P_Instruction_List);
procedure Parse_Facteur (Ok : out Boolean;
The_Node : out Abstract_Tree.P_Node);
procedure Parse_Expression (Ok : out Boolean;
The_Node : out Abstract_Tree.P_Node);
procedure Parse_Error (Ensemble : Token_Set.Set) is separate;
procedure Parse_Variable (Ok : out Boolean;
The_Node : out Abstract_Tree.P_Node) is separate;
procedure Parse_Dans_Suite
(Ok : out Boolean;
The_List : in out Abstract_Tree.
P_Instruction_List) is separate;
procedure Parse_Attendre (Ok : out Boolean;
The_Node : out Abstract_Tree.P_Node) is separate;
procedure Parse_Relation (Ok : out Boolean;
The_Node : out Abstract_Tree.P_Node) is separate;
procedure Parse_Condition (Ok : out Boolean;
Cond1_Node, Relation_Node, Cond2_Node : out
Abstract_Tree.P_Node) is separate;
procedure Parse_Tant_Que (Ok : out Boolean;
The_Node : out Abstract_Tree.P_Node) is separate;
procedure Parse_Repeter (Ok : out Boolean;
The_Node : out Abstract_Tree.P_Node) is separate;
procedure Parse_Debut (Ok : out Boolean;
The_Node : out Abstract_Tree.P_Node) is separate;
procedure Parse_Activer (Ok : out Boolean;
The_Node : out Abstract_Tree.P_Node) is separate;
procedure Parse_Desactiver
(Ok : out Boolean;
The_Node : out Abstract_Tree.P_Node) is separate;
procedure Parse_Changer (Ok : out Boolean;
The_Node : out Abstract_Tree.P_Node) is separate;
procedure Parse_Evoluer (Ok : out Boolean;
The_Node : out Abstract_Tree.P_Node) is separate;
procedure Parse_Affectation
(Ok : out Boolean;
The_Node : out Abstract_Tree.P_Node) is separate;
procedure Parse_Facteur (Ok : out Boolean;
The_Node : out Abstract_Tree.P_Node) is separate;
procedure Parse_Terme (Ok : out Boolean;
The_Node : out Abstract_Tree.P_Node) is separate;
procedure Parse_Expression
(Ok : out Boolean;
The_Node : out Abstract_Tree.P_Node) is separate;
procedure Parse_Dans (Ok : out Boolean;
The_Node : out Abstract_Tree.P_Node) is separate;
procedure Parse_Un_Parametre_Reel (Ok : out Boolean) is separate;
procedure Parse_Autre_Parametre_Reel
(Ok : out Boolean;
The_List : in out Abstract_Tree.
P_Instruction_List) is separate;
procedure Parse_Parametres_Reels
(Ok : out Boolean;
The_List : in out Abstract_Tree.
P_Instruction_List) is separate;
procedure Parse_Appel_Effet
(Ok : out Boolean;
The_Node : out Abstract_Tree.P_Node) is separate;
procedure Parse_Appel_Scene
(Ok : out Boolean;
The_Node : out Abstract_Tree.P_Node) is separate;
procedure Parse_Les_Ordres
(Ok : out Boolean;
The_List : in out Abstract_Tree.
P_Instruction_List) is separate;
procedure Parse_Scenes (Ok : out Boolean) is separate;
procedure Parse_Spectacle (Ok : out Boolean) is separate;
procedure Parse_Autre_Parametre (Ok : out Boolean) is separate;
procedure Parse_Parametres (Ok : out Boolean) is separate;
procedure Parse_Les_Experiences (Ok : out Boolean) is separate;
procedure Parse_Experience (Ok : out Boolean) is separate;
procedure Parse_Stations (Ok : out Boolean) is separate;
procedure Parse_Theatre (Ok : out Boolean) is separate;
procedure Parse_Type_Actor
(Ok : out Boolean;
The_Type : out Element.Element_Type) is separate;
procedure Parse_Acteurs (Ok : out Boolean) is separate;
procedure Parse_Corps_Materiel (Ok : out Boolean) is separate;
procedure Parse_Materiel (Ok : out Boolean) is separate;
procedure Parse_Start (Ok : out Boolean) is separate;
procedure Go (The_Fichier : String) is
Fichier : constant String := The_Fichier;
Ok : Boolean := True;
Success : Boolean;
The_List : Abstract_Tree.P_Instruction_List;
begin
Trame_Product.Choose_The_Destination;
Abstract_Tree.Create_List (The_List);
Lex.Open (Fichier);
Init_Set;
loop
Lex.Next;
Parse_Start (Ok);
if not Ok then
Parse_Error (Start_Follow);
end if;
exit when Lex.At_End;
end loop;
Lex.Close;
if not Error.Get then
Symbol_Table.Get_Instr_List ("_spectacle", The_List, Success);
if Success then
Text_Io.Put_Line ("Execution du code : ");
Abstract_Tree.Execute_Code (The_List);
else
Text_Io.Put_Line ("Unable to execute code sorry");
end if;
else
Text_Io.Put_Line ("Erreur trouvee");
end if;
Trame_Product.Done;
end Go;
end Parse;