|
|
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: 1869 (0x74d)
Types: TextFile
Names: »B«
└─⟦180fe333a⟧ Bits:30000405 8mm tape, Rational 1000, SW CATALOG, 10_20_0
└─⟦180fe333a⟧ Bits:30000537 8mm tape, Rational 1000, SW Catalog 10_20_0
└─⟦5cb1d1d7f⟧ »DATA«
└─⟦3b1ee7bd8⟧
└─⟦this⟧
with Io;
with Mapping_Context;
with Directory_Tools;
procedure Form_Abbreviation (Abbreviation : in String := "";
Full_Name : in String := "") is
--
Abbrev_File : Io.File_Type;
--
Object : Directory_Tools.Object.Handle :=
Directory_Tools.Naming.Resolution (Full_Name);
--
Simple_Chars : array (Character) of Boolean := (Ascii.Nul .. '/' => False,
'0' .. '9' => True,
':' .. '@' => False,
'A' .. 'Z' => True,
'[' .. '`' => False,
'a' .. 'z' => True,
'{' .. Ascii.Del => False);
--
function Is_Simple (This_Name : in String) return Boolean is
--
Result : Boolean := True;
--
begin
for Current_Character in This_Name'First .. This_Name'Last loop
if (not Simple_Chars (This_Name (Current_Character))) then
Result := False;
exit;
end if;
end loop;
return (Result);
end Is_Simple;
--
begin
if (Directory_Tools.Object.Is_Bad (Object)) then
Io.Put_Line (Io.Current_Error,
"Unable to resolve '" & Full_Name & "'.");
elsif (not Is_Simple (Abbreviation)) then
Io.Put_Line (Io.Current_Error, "Abbreviation is not simple name.");
else
Io.Create (Abbrev_File, Io.Out_File, Mapping_Context & Abbreviation);
Io.Put_Line (Abbrev_File, Directory_Tools.Naming.Full_Name (Object));
Io.Close (Abbrev_File);
Io.Put_Line (Io.Current_Error, "Abbreviation formed successfully.");
end if;
end Form_Abbreviation;