|
|
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: 12319 (0x301f)
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 Dyn;
separate (Compilation_Unit.Produce_Metrics.Report_Metrics)
procedure Display_Operators (Operator_List : in Halstead_Operator_List.List) is
--=============================================================
-- This operation is used to display all the operators in the =
-- list of operators plus their frequency. The format used =
-- may be found in the User's manual. =
-- =
-- written by GER with help from Brad and JM =
--=============================================================
procedure Display_This_Operator (Item : in Halstead_Operator.Definition;
Frequency_Of_Item : in Natural) is
-- This procedure will be used to instantiate the iterate
-- procedure in the Halstead_List generic. The procedure is
-- used in the generic to display an operator and the number
-- of occurances of the operator in the compilation unit.
package Frequency_Io is new Text_Io.Integer_Io (Num => Natural);
begin
-- Display_This_Operator
Text_Io.Set_Col (To => 5);
case Item.Kind is
when Halstead_Operator.And_Then_Halstead =>
Text_Io.Put (Item => "and then");
when Halstead_Operator.Or_Else_Halstead =>
Text_Io.Put (Item => "or else");
when Halstead_Operator.Equal_Halstead =>
Text_Io.Put (Item => "=");
when Halstead_Operator.Inequality_Halstead =>
Text_Io.Put (Item => "/=");
when Halstead_Operator.Less_Than_Halstead =>
Text_Io.Put (Item => "<");
when Halstead_Operator.Less_Than_Or_Equal_Halstead =>
Text_Io.Put (Item => "<=");
when Halstead_Operator.Greater_Than_Halstead =>
Text_Io.Put (Item => ">");
when Halstead_Operator.Greater_Than_Or_Equal_Halstead =>
Text_Io.Put (Item => ">=");
when Halstead_Operator.In_Out_Halstead =>
Text_Io.Put (Item => "in out");
when Halstead_Operator.Plus_Halstead =>
Text_Io.Put (Item => "+");
when Halstead_Operator.Minus_Halstead =>
Text_Io.Put (Item => "-");
when Halstead_Operator.Concatenate_Halstead =>
Text_Io.Put (Item => "&");
when Halstead_Operator.Star_Halstead =>
Text_Io.Put (Item => "*");
when Halstead_Operator.Divide_Halstead =>
Text_Io.Put (Item => "/");
when Halstead_Operator.Double_Star_Halstead =>
Text_Io.Put (Item => "**");
when Halstead_Operator.Assignment_Halstead =>
Text_Io.Put (Item => ":=");
when Halstead_Operator.Arrow_Halstead =>
Text_Io.Put (Item => "=>");
when Halstead_Operator.Vertical_Bar_Halstead =>
Text_Io.Put (Item => "|");
when Halstead_Operator.Dot_Halstead =>
Text_Io.Put (Item => ".");
when Halstead_Operator.Colon_Halstead =>
Text_Io.Put (Item => ":");
when Halstead_Operator.Exclamation_Mark_Halstead =>
Text_Io.Put (Item => "!");
when Halstead_Operator.Box_Halstead =>
Text_Io.Put (Item => "<>");
when Halstead_Operator.Double_Dot_Halstead =>
Text_Io.Put (Item => "..");
when Halstead_Operator.Tick_Halstead =>
Text_Io.Put (Item => "'");
when Halstead_Operator.Parentheses_Halstead =>
Text_Io.Put (Item => "(...)");
when Halstead_Operator.Apostrophes_Halstead =>
Text_Io.Put (Item => "'...'");
when Halstead_Operator.Quotes_Halstead =>
Text_Io.Put (Item => """...""");
when Halstead_Operator.Percents_Halstead =>
Text_Io.Put (Item => "%...%");
when Halstead_Operator.Label_Halstead =>
Text_Io.Put (Item => "<<...>>");
when Halstead_Operator.Semicolon_Halstead =>
Text_Io.Put (Item => ";");
when Halstead_Operator.Comma_Halstead =>
Text_Io.Put (Item => ",");
when Halstead_Operator.Abort_Halstead =>
Text_Io.Put (Item => "abort");
when Halstead_Operator.Abs_Halstead =>
Text_Io.Put (Item => "abs");
when Halstead_Operator.Accept_Halstead =>
Text_Io.Put (Item => "accept");
when Halstead_Operator.Accept_Do_End_Halstead =>
Text_Io.Put (Item => "accept...do...end");
when Halstead_Operator.Access_Halstead =>
Text_Io.Put (Item => "access");
when Halstead_Operator.All_Halstead =>
Text_Io.Put (Item => "all");
when Halstead_Operator.And_Halstead =>
Text_Io.Put (Item => "and");
when Halstead_Operator.Array_Of_Halstead =>
Text_Io.Put (Item => "array...of");
when Halstead_Operator.At_Halstead =>
Text_Io.Put (Item => "at");
when Halstead_Operator.At_Mod_Halstead =>
Text_Io.Put (Item => "at...mod");
when Halstead_Operator.Begin_End_Halstead =>
Text_Io.Put (Item => "begin...end");
when Halstead_Operator.Case_Is_End_Case_Halstead =>
Text_Io.Put (Item => "case...is...end case");
when Halstead_Operator.Constant_Halstead =>
Text_Io.Put (Item => "constant");
when Halstead_Operator.Declare_Halstead =>
Text_Io.Put (Item => "declare");
when Halstead_Operator.Delay_Halstead =>
Text_Io.Put (Item => "delay");
when Halstead_Operator.Digits_Halstead =>
Text_Io.Put (Item => "digits");
when Halstead_Operator.Else_Halstead =>
Text_Io.Put (Item => "else");
when Halstead_Operator.Elsif_Then_Halstead =>
Text_Io.Put (Item => "elsif...then");
when Halstead_Operator.Entry_Halstead =>
Text_Io.Put (Item => "entry");
when Halstead_Operator.Exception_Halstead =>
Text_Io.Put (Item => "exception");
when Halstead_Operator.Exit_Halstead =>
Text_Io.Put (Item => "exit");
when Halstead_Operator.For_In_Halstead =>
Text_Io.Put (Item => "for...in");
when Halstead_Operator.For_Use_Halstead =>
Text_Io.Put (Item => "for use");
when Halstead_Operator.Function_Halstead =>
Text_Io.Put (Item => "function");
when Halstead_Operator.Function_Is_Halstead =>
Text_Io.Put (Item => "function...is");
when Halstead_Operator.Generic_Halstead =>
Text_Io.Put (Item => "generic");
when Halstead_Operator.Goto_Halstead =>
Text_Io.Put (Item => "goto");
when Halstead_Operator.If_Then_End_If_Halstead =>
Text_Io.Put (Item => "if...then...end if");
when Halstead_Operator.In_Halstead =>
Text_Io.Put (Item => "in");
when Halstead_Operator.Is_New_Halstead =>
Text_Io.Put (Item => "is new");
when Halstead_Operator.Limited_Private_Halstead =>
Text_Io.Put (Item => "limited private");
when Halstead_Operator.Loop_End_Loop_Halstead =>
Text_Io.Put (Item => "loop...end loop");
when Halstead_Operator.Mod_Halstead =>
Text_Io.Put (Item => "mod");
when Halstead_Operator.New_Halstead =>
Text_Io.Put (Item => "new");
when Halstead_Operator.Null_Halstead =>
Text_Io.Put (Item => "null");
when Halstead_Operator.Or_Halstead =>
Text_Io.Put (Item => "or");
when Halstead_Operator.Others_Halstead =>
Text_Io.Put (Item => "others");
when Halstead_Operator.Out_Halstead =>
Text_Io.Put (Item => "out");
when Halstead_Operator.Package_Halstead =>
Text_Io.Put (Item => "package");
when Halstead_Operator.Package_Is_End_Halstead =>
Text_Io.Put (Item => "package...is...end");
when Halstead_Operator.Package_Body_Is_Halstead =>
Text_Io.Put (Item => "package...body...is");
when Halstead_Operator.Package_Body_Is_End_Halstead =>
Text_Io.Put (Item => "package...body...is...end");
when Halstead_Operator.Pragma_Halstead =>
Text_Io.Put (Item => "pragma");
when Halstead_Operator.Private_Halstead =>
Text_Io.Put (Item => "private");
when Halstead_Operator.Procedure_Halstead =>
Text_Io.Put (Item => "procedure");
when Halstead_Operator.Procedure_Is_Halstead =>
Text_Io.Put (Item => "procedure...is");
when Halstead_Operator.Raise_Halstead =>
Text_Io.Put (Item => "raise");
when Halstead_Operator.Range_Halstead =>
Text_Io.Put (Item => "range");
when Halstead_Operator.Record_End_Record_Halstead =>
Text_Io.Put (Item => "record...end record");
when Halstead_Operator.Rem_Halstead =>
Text_Io.Put (Item => "rem");
when Halstead_Operator.Renames_Halstead =>
Text_Io.Put (Item => "renames");
when Halstead_Operator.Return_Halstead =>
Text_Io.Put (Item => "return");
when Halstead_Operator.Reverse_Halstead =>
Text_Io.Put (Item => "reverse");
when Halstead_Operator.Select_End_Select_Halstead =>
Text_Io.Put (Item => "select...end select");
when Halstead_Operator.Separate_Halstead =>
Text_Io.Put (Item => "separate");
when Halstead_Operator.Subtype_Is_Halstead =>
Text_Io.Put (Item => "subtype is");
when Halstead_Operator.Task_Halstead =>
Text_Io.Put (Item => "task");
when Halstead_Operator.Task_Is_End_Halstead =>
Text_Io.Put (Item => "task...is...end");
when Halstead_Operator.Task_Body_Is_Halstead =>
Text_Io.Put (Item => "task...body...is");
when Halstead_Operator.Terminate_Halstead =>
Text_Io.Put (Item => "terminate");
when Halstead_Operator.Type_Halstead =>
Text_Io.Put (Item => "type");
when Halstead_Operator.Type_Is_Halstead =>
Text_Io.Put (Item => "type...is");
when Halstead_Operator.Use_Halstead =>
Text_Io.Put (Item => "use");
when Halstead_Operator.When_Halstead =>
Text_Io.Put (Item => "when");
when Halstead_Operator.While_Halstead =>
Text_Io.Put (Item => "while");
when Halstead_Operator.With_Halstead =>
Text_Io.Put (Item => "with");
when Halstead_Operator.Xor_Halstead =>
Text_Io.Put (Item => "xor");
when Halstead_Operator.Literal =>
Text_Io.Put (Item => Dyn.Str (Item.Value));
if Dyn.Str (Item.Value)'Length >= 35 then
-- skip a line before displaying the frequency
Text_Io.New_Line (Spacing => 1);
end if;
when others =>
null;
end case;
Text_Io.Set_Col (To => 35);
Frequency_Io.Put (Item => Frequency_Of_Item);
Text_Io.New_Line (Spacing => 1);
end Display_This_Operator;
-- Instantiate the iterate procedure in the Halstead generic.
-- This will allow us to display all the operators
procedure Iterate_To_Display_Operators is
new Halstead_Operator_List.Iterate (Process => Display_This_Operator);
begin
-- Display_Operators
Iterate_To_Display_Operators (Operator_List);
end Display_Operators;