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 - downloadIndex: ┃ B T ┃
Length: 3625 (0xe29) Types: TextFile Names: »B«
└─⟦a7d1ea751⟧ Bits:30000550 8mm tape, Rational 1000, !users!projects 94_04_11 └─ ⟦129cab021⟧ »DATA« └─⟦this⟧
with Custom; with Easy_X; with Errors; with Interpreter; with Io_Exceptions; with Parser; with Statements; with Trace; with Unparser; procedure Run (Source_File : String := "tiny_talk"; Trace_Option : Boolean := False; Unparse_Option : Boolean := True; Unparse_To_File : String := "tiny_unparsed"; Terminal : String) is Syntaxic_Tree_Root : Statements.Node; Error_Number : Natural; begin if Trace_Option then Trace.On; end if; Trace.Display ("----- DEBUT D'ANALYSE SYNTAXIQUE DU FICHIER " & Source_File & "... -----", True); Parser.Go (Source_File, Syntaxic_Tree_Root, Terminal); Trace.Display (" FIN DE L'ANALYSE SYNTAXIQUE.", True); Trace.Display ("", True); if Unparse_Option then Trace.Display ("----- DEBUT DU REFORMATAGE VERS LE FICHIER " & Unparse_To_File & "... -----", True); Unparser.Start (Syntaxic_Tree_Root, Source_File, Unparse_To_File); Unparser.Go (Syntaxic_Tree_Root); Unparser.Stop; Trace.Display (" FIN DU REFORMATAGE.", True); Trace.Display ("", True); end if; Trace.Display ("----- DEBUT D'INTERPRETATION DU FICHIER " & Source_File & "... -----", True); Easy_X.Open (Terminal, " - TINY_TALK - ", Custom.Left, Custom.Right, Custom.Width, Custom.Height); loop case Easy_X.Next_Event is when Easy_X.Update => Interpreter.Go (Syntaxic_Tree_Root, Terminal); when Easy_X.Button_Down => exit; when Easy_X.Button_Up => null; end case; end loop; Easy_X.Close; Trace.Display (" FIN DE L'INTERPRETATION.", True); Trace.Display ("", True); exception when Io_Exceptions.Status_Error => Errors.Run_Log ("L'un des fichiers " & Source_File & " ou " & Unparse_To_File & " est deja ouvert !", Terminal); when Io_Exceptions.Name_Error => Errors.Run_Log ("Nom de fichier invalide pour " & Source_File & " ou " & Unparse_To_File & " ! (peut-etre n'existent-ils pas...)", Terminal); when Io_Exceptions.Use_Error => Errors.Run_Log ("L'un des fichiers " & Source_File & " ou " & Unparse_To_File & " ne peut pas etre ouvert, ou est verrouille !", Terminal); when Errors.Stop_Parsing => Errors.Run_Log (" *** ANALYSE SYNTAXIQUE STOPPEE ! ***", Terminal); when Errors.Stop_Interpreting => Errors.Run_Log (" *** INTERPRETATION STOPPEE ! ***", Terminal); when Constraint_Error => Errors.Run_Log ("Une erreur de type 'Constraint Error' a ete detectee ! ", Terminal); when Numeric_Error => Errors.Run_Log ("Une erreur de type 'Numeric Error' a ete detectee ! ", Terminal); when Program_Error => Errors.Run_Log ("Une erreur de type 'Program Error' a ete detectee ! ", Terminal); when Tasking_Error => Errors.Run_Log ("Une erreur de type 'Tasking Error' a ete detectee ! ", Terminal); when Storage_Error => Easy_X.Close; Trace.Display ("", True); Trace.Display ("", True); Trace.Display (" !!! ERREUR DE TYPE 'STORAGE ERROR' : MEMOIRE INSUFFISANTE !!!", True); when others => Errors.Run_Log (" ??? Une erreur non identifiee a ete detectee ???", Terminal); end Run;