|
DataMuseum.dkPresents historical artifacts from the history of: Rational R1000/400 |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Rational R1000/400 Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - download
Length: 3820 (0xeec) Types: TextFile Notes: R1k Text-file segment
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000 └─ ⟦5a81ac88f⟧ »Space Info Vol 1« └─⟦3f8490a7b⟧ └─⟦this⟧
with Text_Io; package body Filtre_D_Entree is Anticipation : array (1 .. 2) of Character; Compte : Natural := 0; procedure Entrer (Les_Elements : out string;len : out natural) is begin Text_Io.Get_line (Les_Elements,len); exception when others => Text_Io.Put_Line ("Erreur"); end Entrer; procedure Purger is begin Compte := 0; end Purger; procedure File_Entrer (L_Element : out Character) is begin if Compte = 0 then if Text_Io.End_Of_Line then L_Element := Termine_Ligne; if Text_Io.End_Of_Page then Anticipation (1) := Termine_Page; Compte := 1; if Text_Io.End_Of_File then Anticipation (2) := Termine_Fichier; Compte := 2; else Text_Io.Skip_Page; end if; else Text_Io.Skip_Line; end if; else Text_Io.Get (L_Element); end if; else L_Element := Anticipation (1); if Anticipation (1) /= Termine_Fichier then Anticipation (1) := Anticipation (2); Compte := Compte - 1; end if; end if; end File_Entrer; end Filtre_D_Entree; with librairy_constants; package Mots is Max_Mots : constant := librairy_constants.Max_Id; type Mot is private; type tableau is private; procedure Creer (Le_Mot : out Mot; Avec_La_Valeur : in String); procedure Creer (Les_Mots : out tableau; Avec_La_Valeur : in String); function Valeur (Du_Mot : in Mot) return String; function Valeur (Du_Mot : in tableau;index : in natural) return String; procedure creer_table (Table_Mots : in out tableau; Avec_La_Valeur : in String;nombre_mots : in out natural); private type Mot is access String; type tableau is array(1..Max_Mots) of Mot; end Mots; procedure Main; package Numeros_De_Lignes is type Numero is range 1 .. Integer'Last; end Numeros_De_Lignes; with Mots, Numeros_De_Lignes; package Document is procedure File_Get (Le_Mot : out Mots.Mot; Le_Numero : out Numeros_De_Lignes.Numero); function En_Fin_De_Fichier return Boolean; procedure Fopen (File_Name : in String); procedure Fclose; procedure Open; procedure Close; procedure Get (Les_Mots : in out Mots.tableau; tab_len : out natural); Mot_Trop_Long : exception; Fin_De_Fichier : exception; end Document; package Filtre_D_Entree is Termine_Ligne : constant Character := Ascii.Cr; Termine_Page : constant Character := Ascii.Ff; Termine_Fichier : constant Character := Ascii.Eot; procedure Entrer (Les_Elements : out string;len : out natural); procedure Purger; procedure File_Entrer (L_Element : out Character); end Filtre_D_Entree; with Mots; package Gestion_De_Tables is subtype Taille_Table is Integer range 1 .. 80; type P_String is access String; type Tableau is array (Taille_Table) of P_String; function Chercher_Dans_Table (Un_Tableau : Tableau; Le_Mot_Lu : Mots.tableau;index : natural) return Boolean; end Gestion_De_Tables; package Interpreteur is procedure Interprete; procedure File_Interprete (File_Name : in String); Out_Of_Words : exception; End_Of_Play : exception; end Interpreteur; package Nombre_De_Mots is subtype Numero is Natural; Nombre_Max_Mots : constant Numero := 4; end Nombre_De_Mots; package librairy_constants is Max_Id : constant := 80; end librairy_constants