|
|
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: 94673 (0x171d1)
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 Text_Io; -- to output error messages
with Halstead_Operator;
with Halstead_Operand;
with Halstead_Vocabulary_Size;
with Halstead_Program_Length;
with Halstead_Program_Volume;
with Halstead_Potential_Operator;
with Halstead_Potential_Operand;
with Halstead_Potential_Program_Volume;
with Halstead_Program_Level;
with Halstead_Difficulty_Level;
with Halstead_Effort;
with Halstead_Delivered_Bugs;
with Halstead_Error_Proneness;
with Halstead_Time;
with Halstead_Fault_Rate;
with Halstead_List;
with Loc_Blank_Lines;
with Loc_Comments;
with Loc_Executable_Statements;
with Loc_Physical_Lines;
with Loc_Data_Declarations;
with Mccabe_Predicates;
with Mccabe_Cyclomatic_Complexity;
separate (Compilation_Unit)
procedure Produce_Metrics
(This_Compilation_Unit : in out Ada_Compilation_Unit) is
--================================================================
-- Produce_Metrics calculates the complexity of a given Ada ==
-- compilation unit and reports the results to the user. It ==
-- parses the given compilation unit and changes various ==
-- metrics based to one or more tokens. Once this is completed, ==
-- the results will be reported. Exception SYNTAX_ERROR will be ==
-- raised if a syntax error occurred. ==
--================================================================
package Halstead_Operator_List is
new Halstead_List (Item => Halstead_Operator.Definition,
"<" => Halstead_Operator."<",
Is_Equal => Halstead_Operator.Is_Equal);
package Halstead_Operand_List is
new Halstead_List (Item => Halstead_Operand.Definition,
"<" => Halstead_Operand."<",
Is_Equal => Halstead_Operand."=");
package Halstead_Lower_Case_N is new Halstead_Vocabulary_Size
(Unique_Operand_Count => Natural,
Unique_Operator_Count => Natural);
package Halstead_Upper_Case_N is
new Halstead_Program_Length (Total_Operands => Natural,
Total_Operators => Natural);
package Halstead_V is
new Halstead_Program_Volume
(Vocabulary_Size => Halstead_Lower_Case_N.Result,
Program_Length => Halstead_Upper_Case_N.Result);
package Halstead_V_Star is
new Halstead_Potential_Program_Volume
(Potential_Operator_Count => Halstead_Potential_Operator.Count,
Potential_Operand_Count => Halstead_Potential_Operand.Count);
package Halstead_L is new Halstead_Program_Level
(Program_Volume => Halstead_V.Result,
Potential_Program_Volume =>
Halstead_V_Star.Result);
package Halstead_D is new Halstead_Difficulty_Level
(Program_Level => Halstead_L.Result);
package Halstead_E is new Halstead_Effort
(Program_Volume => Halstead_V.Result,
Program_Level => Halstead_L.Result);
package Halstead_B_Hat is new Halstead_Delivered_Bugs
(Effort => Halstead_E.Result);
package Halstead_D_Hat is
new Halstead_Error_Proneness
(Unique_Operator_Count => Halstead_Potential_Operator.Count,
Unique_Operand_Count => Halstead_Potential_Operand.Count,
Total_Operands => Natural);
package Halstead_T is new Halstead_Time (Effort => Halstead_E.Result);
package Halstead_B_Over_P is
new Halstead_Fault_Rate (Physical_Lines_Count =>
Loc_Physical_Lines.Count);
package Mccabe_Vg is new Mccabe_Cyclomatic_Complexity
(Predicates_Count => Mccabe_Predicates.Count);
--
type Program_Unit_Kind is
(Procedure_Specification, Procedure_Body, Procedure_Body_Stub,
Function_Specification, Function_Body, Function_Body_Stub,
Package_Specification, Package_Body, Package_Body_Stub,
Task_Specification, Task_Type_Specification, Task_Body, Task_Body_Stub,
Generic_Procedure_Specification,
Generic_Function_Specification, Generic_Package_Specification,
Generic_Procedure_Instantiation,
Generic_Function_Instantiation, Generic_Package_Instantiation,
Named_Block, Unnamed_Block,
Undefined);
task type Program_Unit_State_Machine is
--=============================================================
-- This task type gives the user the ability to either modify =
-- or find out the present state of the program unit abstract =
-- state machine. Entries are provided to change the present =
-- values of each type of program unit object located in the =
-- body of this task. Entries are also provided to give back =
-- each present value. The type and name of the program unit =
-- are stored in the body. =
-- =
-- written by GER with help from Brad and JM =
--=============================================================
-- Store the name of the program unit
entry Store_Program_Unit_Name
(The_Program_Unit_Name : in Program_Unit_Name);
-- Store the type of program unit (e.g., PACKAGE_BODY, etc.)
entry Store_Kind_Of_Program_Unit
(The_Kind_Of_Program_Unit : in Program_Unit_Kind);
-- Return the present program unit name
entry Get_Program_Unit_Name
(The_Program_Unit_Name : out Program_Unit_Name);
-- Return the present type of program unit
entry Get_Kind_Of_Program_Unit
(The_Kind_Of_Program_Unit : out Program_Unit_Kind);
end Program_Unit_State_Machine;
--
task type Halstead_State_Machine is
--=============================================================
-- This task type gives the user the ability to either modify =
-- or find out the present state of the Hastead abstract =
-- state machine. Entries are provided to change the present =
-- values of each type of Halstead object located in the =
-- body of this task. Entries are also provided to give back =
-- each present value. =
-- =
-- written by GER with help from Brad and JM =
--=============================================================
-- Store this operator in the list of operators
entry Store_Operator (The_Operator : in Halstead_Operator.Definition);
-- Store this operand in the list of operands
entry Store_Operand (The_Operand : in Halstead_Operand.Definition);
-- Change the count of compilation unit parameters
entry Change_Parameters_Count (The_Amount_To_Change : in Positive := 1);
-- Calculate the number of unique operators (n1)
-- for this compilation unit
entry Calculate_Number_Of_Unique_Operators;
-- Calculate the number of unique operands (n2)
-- for this compilation unit
entry Calculate_Number_Of_Unique_Operands;
-- Calculate the total operators (N1) for
-- this compilation unit
entry Calculate_Total_Number_Of_Operators;
-- Calculate the total operands (N2) for
-- this compilation unit
entry Calculate_Total_Number_Of_Operands;
-- Calculate the size of vocabulary (n) for
-- this compilation unit
entry Calculate_Size_Of_Vocabulary;
-- Calculate the program length (N) for this
-- compilation unit
entry Calculate_Program_Length;
-- Calculate the program volume (V) for
-- this compilation unit
entry Calculate_Program_Volume;
-- Calculate the potential operator (n1*) for
-- this compilation unit
entry Calculate_Potential_Operator;
-- Calculate the potential operand (n2*) for
-- this compilation unit
entry Calculate_Potential_Operand;
-- Make a running total of the potential program volume (V*)
entry Calculate_Entry_Potential_Program_Volume;
-- Calculate the potential program volume (V*)
-- for this compilation unit
entry Calculate_Potential_Program_Volume;
-- Calculate the language level (L) for this compilation unit
entry Calculate_Language_Level;
-- Calculate the Difficulty level for this compilation unit
entry Calculate_Difficulty_Level;
-- Calculate the effort to implement for this compilation unit
entry Calculate_Effort_To_Implement;
-- Calculate the delivered bugs for this compilation unit
entry Calculate_Delivered_Bugs;
-- Calculate the error proneness for this compilation unit
entry Calculate_Error_Proneness;
-- Calculate the time to understand this compilation unit
entry Calculate_Time_To_Understand;
-- Calculate the fault rate for this compilation unit
entry Calculate_Fault_Rate;
-- Return the Number of unique operators for
-- this compilation unit
entry Get_Number_Of_Unique_Operators (Lower_Case_N_1 : out Natural);
-- Return the Number of unique operands for
-- this compilation unit
entry Get_Number_Of_Unique_Operands (Lower_Case_N_2 : out Natural);
-- Return the total Number of operators for
-- this compilation unit
entry Get_Total_Number_Of_Operators (Upper_Case_N_1 : out Natural);
-- Return the total Number of operands for
-- this compilation unit
entry Get_Total_Number_Of_Operands (Upper_Case_N_2 : out Natural);
-- Return the size of vocabulary for this compilation unit
entry Get_Size_Of_Vocabulary (Lower_Case_N : out
Halstead_Lower_Case_N.Result);
-- Return the program length for this compilation unit
entry Get_Program_Length (Upper_Case_N : out
Halstead_Upper_Case_N.Result);
-- Return the program volume for this compilation unit
entry Get_Program_Volume (The_Program_Volume : out Halstead_V.Result);
-- Return the potential program volume for
-- this compilation unit
entry Get_Potential_Program_Volume
(V_Star : out Halstead_V_Star.Result);
-- Return the language level for this compilation unit
entry Get_Language_Level (The_Language_Level : out Halstead_L.Result);
-- Return the Difficulty level for this compilation unit
entry Get_Difficulty_Level
(The_Difficulty_Level : out Halstead_D.Result);
-- Return the effort to implement this compilation unit
entry Get_Effort_To_Implement (The_Effort : out Halstead_E.Result);
-- Return the delivered bugs for this compilation unit
entry Get_Delivered_Bugs (B_Hat : out Halstead_B_Hat.Result);
-- Return the error proneness for this compilation unit
entry Get_Error_Proneness (D_Hat : out Halstead_D_Hat.Result);
-- Return the Time To Understand for this compilation unit
entry Get_Time_To_Understand (The_Time : out Halstead_T.Result);
-- Return the fault rate for this compilation unit
entry Get_Fault_Rate (B_Over_P : out Halstead_B_Over_P.Result);
-- Return the list of operators
entry Get_The_Operator_List (Operator_List : in out
Halstead_Operator_List.List);
-- Return the list of operands
entry Get_The_Operand_List (Operand_List : in out
Halstead_Operand_List.List);
end Halstead_State_Machine;
--
task type Loc_State_Machine is
--==============================================================
-- This task type gives the user the ability to either modify =
-- or find out the present state of the lines of code abstract =
-- state machine. Entries are provided to change the present =
-- values of each type of lines of code object located in the =
-- body of this task. Entries are also provided to give back =
-- the present value amount of each line of code. =
-- =
-- written by GER with help from Brad and JM =
--==============================================================
-- Modify the number of blank lines in this compilation unit
entry Change_Blank_Lines_Count
(The_Amount_To_Change : in Positive := 1);
-- Modify the number of comments in this compilation unit
entry Change_Comments_Count (The_Amount_To_Change : in Positive := 1);
-- Modify the number of physical lines in this compilation unit
entry Change_Physical_Lines_Count
(The_Amount_To_Change : in Positive := 1);
-- Modify the data declarations in this compilation unit
entry Change_Data_Declarations_Count
(The_Amount_To_Change : in Positive := 1);
-- Modify the executable lines in this compilation unit
entry Change_Executable_Statements_Count
(The_Amount_To_Change : in Positive := 1);
-- Return the present number of blank lines
-- in this compilation unit
entry Get_Blank_Lines_Count
(Blank_Line_Count : out Loc_Blank_Lines.Count);
-- Return the present number of comments in
-- this compilation unit
entry Get_Comments_Count (Comments : out Loc_Comments.Count);
-- Return the present number of physical lines in this
-- compilation unit
entry Get_Physical_Lines_Count
(Physical_Lines : out Loc_Physical_Lines.Count);
-- Return the present number of data declarations in this
-- compilation unit
entry Get_Data_Declarations_Count
(Data_Declarations : out Loc_Data_Declarations.Count);
-- Return the present number of executable statements in this
-- compilation unit
entry Get_Executable_Statements_Count
(Executable_Statements : out Loc_Executable_Statements.Count);
end Loc_State_Machine;
--
task type Mccabe_State_Machine is
--=============================================================
-- This task type gives the user the ability to either modify =
-- or find out the present state of McCabe's abstract =
-- state machine. Entries are provided to change the present =
-- value of the PI object (Used to calculate McCabe's =
-- cyclomatic complexity number) located in the body of this =
-- task. Entries are also provided to give back the present =
-- values of v(G) and PI. =
-- =
-- written by GER with help from Brad and JM =
--=============================================================
-- Modify the present value of the cyclomatic complexity
entry Change_Pi (The_Amount_To_Change : in Integer := 1);
-- Calculate McCabe's cyclomatic complexity number
entry Calculate_Vg;
-- Return the present value of PI
entry Get_Pi (Pi : out Mccabe_Predicates.Count);
-- Return the present value of the cyclomatic complexity
entry Get_Cyclomatic_Complexity
(Cyclomatic_Complexity : out Mccabe_Vg.Number);
end Mccabe_State_Machine;
procedure Get_Next_Token (Out_Token : out Token_Package.Token;
From : in out Ada_Compilation_Unit;
Current_Loc : in Loc_State_Machine);
-- This procedure gets the next SIGNIFICANT token from a given
-- Ada_Compilation_Unit. It will update LOC blank-lines,
-- comments, and new-lines counts. SIGNIFICANT tokens are
-- those other than BLANK_LINEs, COMMENTs, or NEW_LINEs
-- the following four variables function as state machines
-- which keep track of various metric variables
Halstead : Halstead_State_Machine;
Loc : Loc_State_Machine;
Mccabe : Mccabe_State_Machine;
Program_Unit : Program_Unit_State_Machine;
--** -- copy of This_Compilation_Unit
--** Current_Compilation_Unit : Ada_Compilation_Unit ;
-- The following is the implementation of the Ada grammar
-- defined in the USERS MANUAL and in the OOD documents of
-- PRODUCE_METRICS.
-- NAME_KIND is used by productions whose one or more of their
-- right sentential forms contain production ATTRIBUTE,
-- INDEXED_COMPONENT, SLICE or SELECTED_COMPONENT. Instead of
-- defining the above productions, we define a superset of
-- all the above productions named NAME which will return
-- SIMPLE_NAME, ATTRIBUTE, INDEXED_COMPONENT_OR_SLICE, or
-- SELECTED_COMPONENT upon completion.
type Name_Kind is (Attribute, Indexed_Component_Or_Slice,
Selected_Component, Simple_Name);
-- SET_OF_TOKENS is used in production EXPRESSION and in
-- productions that use EXPRESSION. EXPRESSION will continue
-- reading tokens from a given Ada compilation unit until
-- the next token is a member of SET_OF_TOKENS.
type Set_Of_Tokens is array (Positive range <>) of
Token_Package.Token_Value;
procedure Compilation_Unit
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine);
procedure Context_Clause
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine);
procedure With_Clause
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine);
procedure Use_Clause (Current_Compilation_Unit : in out
Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine);
procedure Pragma_Clause
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine);
procedure Extended_Program_Unit
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine);
procedure Procedure_Unit
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine);
procedure Procedure_Specification
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine;
Unit_Name : out Program_Unit_Name;
Formal_Parameters_Count : out Natural);
-- Unit_Name is the IDENTIFIER after the word "PROCEDURE".
-- Formal_Paratemers_Count is the number of procedure formal
-- parameters (ZERO if the procedure has no parameter).
procedure Common_Body
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine);
procedure Begin_End_Block
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine);
procedure Exception_Handler
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine);
procedure Exception_Choice
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine);
procedure Last_Exception_Choice
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine);
procedure Declarative_Part
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine);
procedure Id_Declaration
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine);
procedure Id_Type_Declaration
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine);
procedure Constant_Declaration
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine);
procedure Renaming_Or_Range_Constraint
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine);
procedure Id_List_Type_Declaration
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine);
procedure Type_Declaration
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine);
procedure Type_Definition
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine);
procedure Enumeration_Type_Definition
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine);
procedure Enumeration_Literal
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine);
procedure Real_Type_Definition
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine);
procedure Record_Type_Definition
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine);
procedure Component_List
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine);
procedure Component_Declaration
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine);
procedure Variant_Part
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine);
procedure Variant (Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine);
procedure Derived_Type_Definition
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine);
procedure Subtype_Indication
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine);
procedure Constraint (Current_Compilation_Unit : in out
Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine);
procedure Range_Constraint
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine);
procedure Floating_Point_Constraint
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine);
procedure Fixed_Point_Constraint
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine);
procedure Aggregate (Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine;
Number_Of_Components : out Positive);
-- Number_Of_Components is the number of aggregate components
-- (which are separated by commas).
procedure Integer_Type_Definition
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine);
procedure Array_Type_Definition
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine);
procedure Access_Type_Definition
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine);
procedure Private_Type_Definition
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine);
procedure Subtype_Declaration
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine);
procedure Renaming_Declaration
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine);
procedure Renaming_Prefix
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine);
procedure Representation_Clause
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine);
procedure Simple_Or_Length_Clause
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine);
procedure Simple_Clause
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine);
procedure Simple_Clause_Continued
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine);
procedure Alignment_Clause
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine);
procedure Component_Clause
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine);
procedure Length_Clause
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine);
procedure Attribute (Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine);
procedure Sequence_Of_Statements
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine);
procedure Statement (Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine);
procedure Label (Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine);
procedure Abort_Statement
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine);
procedure Delay_Statement
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine);
procedure Exit_Statement
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine);
procedure Goto_Statement
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine);
procedure Name_Statement
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine);
procedure Null_Statement
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine);
procedure Raise_Statement
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine);
procedure Return_Statement
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine);
procedure Accept_Statement
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine);
procedure Accept_Statement_Continued
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine);
procedure Case_Statement
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine);
procedure Case_Statement_Alternative
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine);
procedure If_Statement
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine);
procedure Loop_Statement
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine);
procedure Basic_Loop_Statement
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine);
procedure Select_Statement
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine);
procedure Selective_Wait
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine);
procedure Select_Alternative
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine);
procedure Selective_Wait_Alternative
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine);
procedure Conditional_Or_Timed_Entry_Call
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine);
procedure Accept_Alternative
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine);
procedure Delay_Alternative
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine);
procedure Function_Unit
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine);
procedure Function_Specification
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine;
Unit_Name : out Program_Unit_Name;
Formal_Parameters_Count : out Natural);
-- Unit_Name is the IDENTIFIER or OPERATOR SYMBOL after the
-- word "FUNCTION".
-- Formal_Parameters_Count is the number of function formal
-- parameters (ZERO if function has no parameter).
procedure Designator (Current_Compilation_Unit : in out
Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine;
Unit_Name : out Program_Unit_Name);
-- Unit_Name is the IDENTIFIER or OPERATOR SYMBOL after the
-- word "FUNCTION" or "END".
procedure Package_Unit
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine);
procedure Package_Body
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine);
procedure Package_Specification
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine);
procedure Generic_Instantiation
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine);
procedure Generic_Specification
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine);
procedure Generic_Parameter_Declaration
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine);
procedure Subprogram_Generic_Parameter
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine;
Subprogram_Kind : out Program_Unit_Kind);
-- The value of Subprogram_Kind will either be
-- PROCEDURE_SPECIFICATION or FUNCTION_SPECIFICATION.
procedure Box_Or_Name
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine);
procedure Generic_Type_Definition
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine);
procedure Generic_Subprogram_Or_Package_Specification
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine);
procedure Task_Unit (Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine);
procedure Task_Body (Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine);
procedure Task_Specification
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine);
procedure Entry_Declaration
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine);
procedure Entry_Declaration_Continued
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine);
procedure Proper_Body
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine);
procedure Named_Block
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine);
procedure Formal_Part
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine;
Formal_Parameters_Count : out Natural);
-- Formal_Parameters_Count is the number of parameters in the
-- formal part.
procedure Parameter_Specification
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine;
Parameters_Count : out Natural);
-- Parameters_Count is the number of IDENTIFIERs in this
-- Parameter_Spefication.
procedure Id_List (Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine;
Number_Of_Identifiers : out Natural);
-- Number_Of_Identifiers is the number of IDENTIFIERs in an
-- identifier list.
procedure Name (Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine;
Out_Name_Kind : out Name_Kind);
-- The value of Out_Name_Kind will be SIMPLE_NAME, ATTRIBUTE,
-- INDEXED_COMPONENT_OR_SLICE, or SELECTED_COMPONENT.
procedure Name_Prefix
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine);
procedure Name_Suffix
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine);
procedure Selector (Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine);
procedure Expanded_Name
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine);
procedure Expression (Current_Compilation_Unit : in out
Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine;
Terminate_Tokens : in Set_Of_Tokens);
-- When the next token is a member of Terminate_Tokens,
-- Expression will transfer control back to the invoking
-- program unit.
procedure Expression_Token
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine);
-- declare body stubs
procedure Compilation_Unit
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine) is separate;
procedure Context_Clause
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine) is separate;
procedure With_Clause
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine) is separate;
procedure Use_Clause (Current_Compilation_Unit : in out
Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine) is separate;
procedure Pragma_Clause
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine) is separate;
procedure Extended_Program_Unit
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine) is separate;
procedure Procedure_Unit
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine) is separate;
procedure Procedure_Specification
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine;
Unit_Name : out Program_Unit_Name;
Formal_Parameters_Count : out Natural) is separate;
-- Unit_Name is the IDENTIFIER after the word "PROCEDURE".
-- Formal_Paratemers_Count is the number of procedure formal
-- parameters (ZERO if the procedure has no parameter).
procedure Common_Body
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine) is separate;
procedure Begin_End_Block
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine) is separate;
procedure Exception_Handler
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine) is separate;
procedure Exception_Choice
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine) is separate;
procedure Last_Exception_Choice
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine) is separate;
procedure Declarative_Part
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine) is separate;
procedure Id_Declaration
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine) is separate;
procedure Id_Type_Declaration
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine) is separate;
procedure Constant_Declaration
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine) is separate;
procedure Renaming_Or_Range_Constraint
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine) is separate;
procedure Id_List_Type_Declaration
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine) is separate;
procedure Type_Declaration
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine) is separate;
procedure Type_Definition
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine) is separate;
procedure Enumeration_Type_Definition
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine) is separate;
procedure Enumeration_Literal
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine) is separate;
procedure Real_Type_Definition
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine) is separate;
procedure Record_Type_Definition
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine) is separate;
procedure Component_List
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine) is separate;
procedure Component_Declaration
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine) is separate;
procedure Variant_Part
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine) is separate;
procedure Variant (Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine) is separate;
procedure Derived_Type_Definition
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine) is separate;
procedure Subtype_Indication
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine) is separate;
procedure Constraint (Current_Compilation_Unit : in out
Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine) is separate;
procedure Range_Constraint
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine) is separate;
procedure Floating_Point_Constraint
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine) is separate;
procedure Fixed_Point_Constraint
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine) is separate;
procedure Aggregate (Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine;
Number_Of_Components : out Positive) is separate;
-- Number_Of_Components is the number of aggregate components
-- (which are separated by commas).
procedure Integer_Type_Definition
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine) is separate;
procedure Array_Type_Definition
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine) is separate;
procedure Access_Type_Definition
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine) is separate;
procedure Private_Type_Definition
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine) is separate;
procedure Subtype_Declaration
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine) is separate;
procedure Renaming_Declaration
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine) is separate;
procedure Renaming_Prefix
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine) is separate;
procedure Representation_Clause
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine) is separate;
procedure Simple_Or_Length_Clause
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine) is separate;
procedure Simple_Clause
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine) is separate;
procedure Simple_Clause_Continued
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine) is separate;
procedure Alignment_Clause
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine) is separate;
procedure Component_Clause
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine) is separate;
procedure Length_Clause
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine) is separate;
procedure Attribute (Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine) is separate;
procedure Sequence_Of_Statements
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine) is separate;
procedure Statement (Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine) is separate;
procedure Label (Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine) is separate;
procedure Abort_Statement
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine) is separate;
procedure Delay_Statement
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine) is separate;
procedure Exit_Statement
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine) is separate;
procedure Goto_Statement
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine) is separate;
procedure Name_Statement
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine) is separate;
procedure Null_Statement
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine) is separate;
procedure Raise_Statement
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine) is separate;
procedure Return_Statement
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine) is separate;
procedure Accept_Statement
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine) is separate;
procedure Accept_Statement_Continued
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine) is separate;
procedure Case_Statement
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine) is separate;
procedure Case_Statement_Alternative
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine) is separate;
procedure If_Statement
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine) is separate;
procedure Loop_Statement
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine) is separate;
procedure Basic_Loop_Statement
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine) is separate;
procedure Select_Statement
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine) is separate;
procedure Selective_Wait
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine) is separate;
procedure Select_Alternative
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine) is separate;
procedure Selective_Wait_Alternative
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine) is separate;
procedure Conditional_Or_Timed_Entry_Call
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine) is separate;
procedure Accept_Alternative
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine) is separate;
procedure Delay_Alternative
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine) is separate;
procedure Function_Unit
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine) is separate;
procedure Function_Specification
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine;
Unit_Name : out Program_Unit_Name;
Formal_Parameters_Count : out Natural) is separate;
-- Unit_Name is the IDENTIFIER or OPERATOR SYMBOL after the
-- word "FUNCTION".
-- Formal_Parameters_Count is the number of function formal
-- parameters (ZERO if function has no parameter).
procedure Designator (Current_Compilation_Unit : in out
Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine;
Unit_Name : out Program_Unit_Name) is separate;
-- Unit_Name is the IDENTIFIER or OPERATOR SYMBOL after the
-- word "FUNCTION" or "END".
procedure Package_Unit
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine) is separate;
procedure Package_Body
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine) is separate;
procedure Package_Specification
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine) is separate;
procedure Generic_Instantiation
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine) is separate;
procedure Generic_Specification
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine) is separate;
procedure Generic_Parameter_Declaration
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine) is separate;
procedure Subprogram_Generic_Parameter
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine;
Subprogram_Kind : out Program_Unit_Kind) is separate;
-- The value of Subprogram_Kind will either be
-- PROCEDURE_SPECIFICATION or FUNCTION_SPECIFICATION.
procedure Box_Or_Name
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine) is separate;
procedure Generic_Type_Definition
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine) is separate;
procedure Generic_Subprogram_Or_Package_Specification
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine) is separate;
procedure Task_Unit (Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine) is separate;
procedure Task_Body (Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine) is separate;
procedure Task_Specification
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine) is separate;
procedure Entry_Declaration
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine) is separate;
procedure Entry_Declaration_Continued
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine) is separate;
procedure Proper_Body
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine) is separate;
procedure Named_Block
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine) is separate;
procedure Formal_Part
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine;
Formal_Parameters_Count : out Natural) is separate;
-- Formal_Parameters_Count is the number of parameters in the
-- formal part.
procedure Parameter_Specification
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine;
Parameters_Count : out Natural) is separate;
-- Parameters_Count is the number of IDENTIFIERs in this
-- Parameter_Spefication.
procedure Id_List (Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine;
Number_Of_Identifiers : out Natural) is separate;
-- Number_Of_Identifiers is the number of IDENTIFIERs in an
-- identifier list.
procedure Name (Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine;
Out_Name_Kind : out Name_Kind) is separate;
-- The value of Out_Name_Kind will be SIMPLE_NAME, ATTRIBUTE,
-- INDEXED_COMPONENT_OR_SLICE, or SELECTED_COMPONENT.
procedure Name_Prefix
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine) is separate;
procedure Name_Suffix
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine) is separate;
procedure Selector (Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine) is separate;
procedure Expanded_Name
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine) is separate;
procedure Expression (Current_Compilation_Unit : in out
Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine;
Terminate_Tokens : in Set_Of_Tokens) is separate;
-- Terminate_Tokens contains a set of tokens which
-- will prevent Expression from continuosly looping.
procedure Expression_Token
(Current_Compilation_Unit : in out Ada_Compilation_Unit;
Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine) is separate;
procedure Report_Metrics (Program_Unit : in Program_Unit_State_Machine;
Halstead : in Halstead_State_Machine;
Loc : in Loc_State_Machine;
Mccabe : in Mccabe_State_Machine) is separate;
procedure Get_Next_Token (Out_Token : out Token_Package.Token;
From : in out Ada_Compilation_Unit;
Current_Loc : in Loc_State_Machine) is separate;
task body Halstead_State_Machine is separate;
task body Loc_State_Machine is separate;
task body Mccabe_State_Machine is separate;
task body Program_Unit_State_Machine is separate;
begin
-- Produce_Metrics
--** -- make copy of This_Compilation_Unit
--** New_List.Share
--** (The_List => New_List.List(This_Compilation_Unit),
--** With_The_List => New_List.List(Current_Compilation_Unit)) ;
-- change metrics, invoke highest level production
Compilation_Unit
--**
(Current_Compilation_Unit => This_Compilation_Unit,
Program_Unit => Program_Unit,
Halstead => Halstead,
Loc => Loc,
Mccabe => Mccabe);
-- report metrics
Report_Metrics (Program_Unit => Program_Unit,
Halstead => Halstead,
Loc => Loc,
Mccabe => Mccabe);
--exception
-- when Syntax_Error =>
-- Text_IO.New_Line ;
-- Text_IO.Put ("********** ") ;
-- Text_IO.Put_Line
-- ("Syntax or semantic error in input compilation unit") ;
-- Text_IO.New_Line ;
--
-- -- report metrics
-- Report_Metrics
-- (Program_Unit => Program_Unit,
-- Halstead => Halstead,
-- LOC => LOC,
-- McCabe => McCabe) ;
--
-- -- propagate Syntax_Error
-- raise ;
end Produce_Metrics;