with Sinfo; use Sinfo;
package Treeprs is
subtype Fchar is Character range '#' .. '9';
F_Field1 : constant Fchar := '#'; F_Field2 : constant Fchar := '$'; F_Field3 : constant Fchar := '%'; F_Field4 : constant Fchar := '&'; F_Field5 : constant Fchar := '''; F_Flag1 : constant Fchar := '('; F_Flag2 : constant Fchar := ')'; F_Flag3 : constant Fchar := '*'; F_Flag4 : constant Fchar := '+'; F_Flag5 : constant Fchar := ','; F_Flag6 : constant Fchar := '-'; F_Flag7 : constant Fchar := '.'; F_Flag8 : constant Fchar := '/'; F_Flag9 : constant Fchar := '0'; F_Flag10 : constant Fchar := '1'; F_Flag11 : constant Fchar := '2'; F_Flag12 : constant Fchar := '3'; F_Flag13 : constant Fchar := '4'; F_Flag14 : constant Fchar := '5'; F_Flag15 : constant Fchar := '6'; F_Flag16 : constant Fchar := '7'; F_Flag17 : constant Fchar := '8'; F_Flag18 : constant Fchar := '9';
Pchars : constant String :=
"" &
"#Identifier%Expression" &
"#Component_Name$Position%First_Bit&Last_Bit" &
"#Identifier%Array_Aggregate&Next_Rep_Item" &
"%Expression&Pragmas_Before" &
"#Identifier$Mod_Clause%Component_Clauses&Next_Rep_Item" &
"$Name%Expression&Next_Rep_Item+From_At_Mod" &
"" &
"$Pragma_Argument_Associations%Debug_Statement&Next_Rep_Item" &
"%Expression" &
"" &
"$Next_Entity%Scope" &
"$Next_Entity%Scope" &
"$Next_Entity%Scope" &
"%Prefix$Selector_Name&Entity&Associated_Node4Redundant_Use2Has_Privat" &
"e_View" &
"&Entity&Associated_Node$Original_Discriminant4Redundant_Use2Has_Priva" &
"te_View" &
"%Strval&Entity&Associated_Node2Has_Private_View" &
"$Char_Literal_Value&Entity&Associated_Node2Has_Private_View" &
"" &
"4Is_Component_Left_Opnd5Is_Component_Right_Opnd" &
"5Treat_Fixed_As_Integer4Do_Division_Check9Rounded_Result" &
"4Is_Power_Of_2_For_Shift" &
"5Treat_Fixed_As_Integer4Do_Division_Check" &
"5Treat_Fixed_As_Integer9Rounded_Result" &
"5Treat_Fixed_As_Integer4Do_Division_Check" &
"" &
"+Do_Length_Check" &
"" &
"" &
"" &
"" &
"" &
"" &
"+Do_Length_Check" &
"+Do_Length_Check" &
"+Shift_Count_OK" &
"+Shift_Count_OK" &
"+Shift_Count_OK" &
"+Shift_Count_OK" &
"+Shift_Count_OK" &
"" &
"" &
"" &
"" &
"%Prefix$Attribute_Name#Expressions&Entity&Associated_Node2Do_Access_C" &
"heck8Do_Overflow_Check4Redundant_Use+OK_For_Stream" &
"#Actions" &
"#Expressions$Then_Actions%Else_Actions" &
"%Prefix2Do_Access_Check" &
"$Name%Parameter_Associations&First_Named_Actual#Controlling_Argument4" &
"Do_Tag_Check8Parameter_List_Truncated9ABE_Is_Certain" &
"" &
"%Prefix#Expressions2Do_Access_Check" &
"%Intval4Print_In_Hex" &
"" &
"" &
"#Actions" &
"$Name%Parameter_Associations&First_Named_Actual#Controlling_Argument4" &
"Do_Tag_Check8Parameter_List_Truncated9ABE_Is_Certain" &
"&Subtype_Mark%Expression" &
"#Condition" &
"#Condition" &
"#Condition" &
"#Expressions$Component_Associations8Null_Record_Present%Aggregate_Bou" &
"nds&Associated_Node+Static_Processing_OK9Compile_Time_Known_Aggreg" &
"ate2Expansion_Delayed" &
"%Expression#Storage_Pool&Procedure_To_Call4No_Initialization8Do_Stora" &
"ge_Check" &
"%Ancestor_Part&Associated_Node#Expressions$Component_Associations8Nul" &
"l_Record_Present2Expansion_Delayed" &
"#Low_Bound$High_Bound2Includes_Infinities" &
"%Realval&Corresponding_Integer_Value2Is_Machine_Number" &
"%Prefix" &
"%Prefix$Selector_Name&Associated_Node2Do_Access_Check4Do_Discriminant" &
"_Check" &
"%Prefix&Discrete_Range2Do_Access_Check" &
"%Strval2Has_Wide_Character" &
"#Identifier" &
"&Subtype_Mark%Expression8Do_Overflow_Check4Do_Tag_Check+Do_Length_Che" &
"ck2Float_Truncate9Rounded_Result5Conversion_OK" &
"%Expression" &
"&Subtype_Mark%Expression2Kill_Range_Check" &
"&Subtype_Mark%Constraint/Must_Not_Freeze" &
"#Defining_Identifier+Aliased_Present'Subtype_Indication%Expression,Mo" &
"re_Ids-Prev_Ids" &
"#Defining_Identifier&Discrete_Subtype_Definition%Parameter_Specificat" &
"ions" &
"#Defining_Identifier6In_Present8Out_Present&Subtype_Mark%Expression,M" &
"ore_Ids-Prev_Ids" &
"#Defining_Identifier%Formal_Type_Definition&Discriminant_Specificatio" &
"ns4Unknown_Discriminants_Present" &
"#Defining_Identifier&Discriminant_Specifications%Type_Definition2Disc" &
"r_Check_Funcs_Built" &
"#Defining_Identifier&Discriminant_Specifications4Unknown_Discriminant" &
"s_Present" &
"#Defining_Identifier6Reverse_Present&Discrete_Subtype_Definition" &
"#Defining_Identifier+Aliased_Present8Constant_Present&Object_Definiti" &
"on%Expression$Handler_List_Entry'Corresponding_Generic_Association" &
",More_Ids-Prev_Ids4No_Initialization6Assignment_OK2Exception_Junk5" &
"Delay_Finalize_Attach7Is_Subprogram_Descriptor" &
"#Defining_Identifier&Discriminant_Specifications%Protected_Definition" &
"'Corresponding_Body" &
"#Defining_Identifier&Discriminant_Specifications4Unknown_Discriminant" &
"s_Present+Abstract_Present'Subtype_Indication" &
"#Defining_Identifier&Discriminant_Specifications4Unknown_Discriminant" &
"s_Present+Abstract_Present6Tagged_Present8Limited_Present" &
"#Defining_Identifier'Subtype_Indication&Generic_Parent_Type2Exception" &
"_Junk" &
"#Defining_Unit_Name$Elaboration_Boolean%Parameter_Specifications&Subt" &
"ype_Mark'Generic_Parent" &
"#Defining_Unit_Name$Elaboration_Boolean%Parameter_Specifications'Gene" &
"ric_Parent" &
"#Defining_Identifier&Discrete_Subtype_Definition" &
"&Entity$Access_Types_To_Process%TSS_Elist#Actions'First_Subtype_Link" &
"6Protected_Present%Parameter_Specifications&Subtype_Mark" &
"6Protected_Present%Parameter_Specifications" &
"#Defining_Identifier$Task_Body_Procedure&Discriminant_Specifications%" &
"Task_Definition'Corresponding_Body" &
"#Defining_Identifier&Library_Unit'Corresponding_Body" &
"#Defining_Identifier&Library_Unit'Corresponding_Body" &
"#Specification&Library_Unit'Corresponding_Body" &
"#Defining_Identifier&Library_Unit'Corresponding_Body" &
"#Defining_Unit_Name$Name%Generic_Associations&Parent_Spec'Instance_Sp" &
"ec9ABE_Is_Certain" &
"#Defining_Unit_Name$Name%Generic_Associations&Parent_Spec'Instance_Sp" &
"ec9ABE_Is_Certain" &
"#Defining_Unit_Name$Name&Parent_Spec%Generic_Associations'Instance_Sp" &
"ec9ABE_Is_Certain" &
"#Defining_Unit_Name$Declarations&Handled_Statement_Sequence'Correspon" &
"ding_Spec4Was_Originally_Stub" &
"#Specification$Declarations&Handled_Statement_Sequence%Activation_Cha" &
"in_Entity'Corresponding_Spec+Acts_As_Spec6Bad_Is_Detected8Do_Stora" &
"ge_Check-Has_Priority_Pragma.Is_Protected_Subprogram_Body,Is_Task_" &
"Master4Was_Originally_Stub" &
"#Defining_Identifier$Declarations&End_Label'Corresponding_Spec4Was_Or" &
"iginally_Stub" &
"#Defining_Identifier$Declarations&Handled_Statement_Sequence,Is_Task_" &
"Master%Activation_Chain_Entity'Corresponding_Spec4Was_Originally_S" &
"tub" &
"#Defining_Identifier$Label_Construct" &
"#Specification'Corresponding_Body&Parent_Spec%Activation_Chain_Entity" &
"#Defining_Identifier%Task_Definition" &
"#Specification%Body_To_Inline'Corresponding_Body&Parent_Spec" &
"$Names%Next_Use_Clause&Hidden_By_Use_Clause" &
"#Specification'Corresponding_Body$Generic_Formal_Declarations&Parent_" &
"Spec%Activation_Chain_Entity" &
"#Specification'Corresponding_Body$Generic_Formal_Declarations&Parent_" &
"Spec" &
"$Discrete_Subtype_Definitions+Aliased_Present'Subtype_Indication" &
"$Subtype_Marks+Aliased_Present'Subtype_Indication" &
"#Defining_Identifier$Name" &
"#Defining_Identifier&Subtype_Mark$Name'Corresponding_Generic_Associat" &
"ion" &
"#Defining_Unit_Name$Name&Parent_Spec" &
"#Specification$Name&Parent_Spec'Corresponding_Spec" &
"#Defining_Unit_Name$Name&Parent_Spec" &
"#Defining_Unit_Name$Name&Parent_Spec" &
"#Defining_Unit_Name$Name&Parent_Spec" &
"$Names" &
"#Entry_Direct_Name'Entry_Index%Parameter_Specifications&Handled_State" &
"ment_Sequence$Declarations" &
"$Name%Expression4Do_Tag_Check+Do_Length_Check,Forwards_OK-Backwards_O" &
"K.No_Ctrl_Actions" &
"#Triggering_Alternative$Abortable_Part" &
"#Identifier$Declarations&Handled_Statement_Sequence,Is_Task_Master%Ac" &
"tivation_Chain_Entity6Has_Created_Identifier-Is_Task_Allocation_Bl" &
"ock.Is_Asynchronous_Call_Block" &
"%Expression&Alternatives'End_Span" &
"%Expression" &
"#Entry_Call_Alternative&Else_Statements" &
"%Expression" &
"%Expression" &
"$Name%Parameter_Associations&First_Named_Actual" &
"%Expression#Storage_Pool&Procedure_To_Call" &
"$Name2Exception_Junk" &
"#Identifier$Iteration_Scheme%Statements&End_Label6Has_Created_Identif" &
"ier" &
"" &
"$Name" &
"$Name6Abort_Present" &
"%Expression#Storage_Pool&Procedure_To_Call4Do_Tag_Check$Return_Type,B" &
"y_Ref" &
"#Select_Alternatives&Else_Statements" &
"#Entry_Call_Alternative&Delay_Alternative" &
"$Name#Condition" &
"#Condition$Then_Statements%Elsif_Parts&Else_Statements'End_Span" &
"$Accept_Statement#Condition%Statements&Pragmas_Before'Accept_Handler_" &
"Records" &
"$Delay_Statement#Condition%Statements&Pragmas_Before" &
"#Condition$Then_Statements%Condition_Actions" &
"&Entry_Index_Specification%Parameter_Specifications#Condition" &
"#Condition%Condition_Actions&Loop_Parameter_Specification" &
"#Condition&Pragmas_Before'Pragmas_After" &
"%Statements" &
"#Specification" &
"&Subtype_Mark" &
"6All_Present'Subtype_Indication8Constant_Present" &
"&Discrete_Choices%Statements" &
"&Library_Unit#Context_Items6Private_Present$Unit'Aux_Decls_Node8Has_N" &
"o_Elaboration_Code4Body_Required+Acts_As_Spec%First_Inlined_Subpro" &
"gram" &
"$Declarations#Actions'Pragmas_After" &
"#Choices$Loop_Actions%Expression" &
"%Component_Items&Variant_Part4Null_Present" &
"+Abstract_Present'Subtype_Indication%Record_Extension_Part" &
"%Delta_Expression$Digits_Expression&Real_Range_Specification" &
"$Name#Defining_Identifier" &
"%Delta_Expression&Range_Constraint" &
"$Name#Identifier" &
"$Digits_Expression&Range_Constraint" &
"#Selector_Names%Expression" &
"#Defining_Identifier'Discriminant_Type%Expression,More_Ids-Prev_Ids" &
"#Literals" &
"#Defining_Identifier'Entry_Body_Formal_Part$Declarations&Handled_Stat" &
"ement_Sequence%Activation_Chain_Entity" &
"#Entry_Call_Statement%Statements&Pragmas_Before" &
"#Defining_Identifier%Expression,More_Ids-Prev_Ids" &
"$Choice_Parameter&Exception_Choices%Statements,Zero_Cost_Handling" &
"$Digits_Expression&Real_Range_Specification" &
"" &
"&Subtype_Mark6Private_Present+Abstract_Present" &
"" &
"" &
"" &
"" &
"#Defining_Identifier$Name%Generic_Associations6Box_Present'Instance_S" &
"pec9ABE_Is_Certain" &
"+Abstract_Present6Tagged_Present8Limited_Present" &
"" &
"#Specification$Default_Name6Box_Present" &
"$Selector_Name#Explicit_Generic_Actual_Parameter" &
"%Statements&End_Label'Exception_Handlers#At_End_Proc$First_Real_State" &
"ment,Zero_Cost_Handling" &
"#Constraints" &
"#Itype" &
"#Identifier2Exception_Junk" &
"%Expression" &
"#Defining_Identifier%Expression,More_Ids-Prev_Ids" &
"%Delta_Expression&Real_Range_Specification" &
"#Others_Discrete_Choices2All_Others" &
"#Defining_Unit_Name$Visible_Declarations%Private_Declarations&End_Lab" &
"el'Generic_Parent" &
"$Selector_Name%Explicit_Actual_Parameter&Next_Named_Actual" &
"#Defining_Identifier6In_Present8Out_Present$Parameter_Type%Expression" &
"4Do_Accessibility_Check,More_Ids-Prev_Ids'Default_Expression" &
"$Visible_Declarations%Private_Declarations&End_Label-Has_Priority_Pra" &
"gma" &
"&Range_Expression" &
"#Low_Bound$High_Bound" &
"&End_Label+Abstract_Present6Tagged_Present8Limited_Present#Component_" &
"List4Null_Present" &
"#Low_Bound$High_Bound" &
"#Defining_Identifier%Protected_Definition" &
"$Name#Proper_Body%Corresponding_Stub" &
"$Visible_Declarations%Private_Declarations&End_Label-Has_Priority_Pra" &
"gma,Has_Storage_Size_Pragma.Has_Task_Info_Pragma/Has_Task_Name_Pra" &
"gma" &
"#Triggering_Statement%Statements&Pragmas_Before" &
"$Subtype_Marks%Next_Use_Clause&Hidden_By_Use_Clause" &
"#Source_Type$Target_Type" &
"&Discrete_Choices#Component_List$Enclosing_Variant%Present_Expr'Dchec" &
"k_Function" &
"$Name#Variants" &
"$Name&Library_Unit'Corresponding_Spec,First_Name-Last_Name4Context_In" &
"stalled+Elaborate_Present6Elaborate_All_Present8Implicit_With.Unre" &
"ferenced_In_Spec/No_Entities_Ref_In_Spec" &
"$Name6Tagged_Present" &
"";
type Pchar_Pos_Array is array (Node_Kind) of Positive;
Pchar_Pos : constant Pchar_Pos_Array := Pchar_Pos_Array'(
N_Unused_At_Start => 1,
N_At_Clause => 1,
N_Component_Clause => 23,
N_Enumeration_Representation_Clause => 66,
N_Mod_Clause => 107,
N_Record_Representation_Clause => 133,
N_Attribute_Definition_Clause => 187,
N_Empty => 229,
N_Pragma => 229,
N_Pragma_Argument_Association => 288,
N_Error => 299,
N_Defining_Character_Literal => 299,
N_Defining_Identifier => 317,
N_Defining_Operator_Symbol => 335,
N_Expanded_Name => 353,
N_Identifier => 428,
N_Operator_Symbol => 504,
N_Character_Literal => 551,
N_Op_Add => 610,
N_Op_Concat => 610,
N_Op_Divide => 657,
N_Op_Expon => 713,
N_Op_Mod => 737,
N_Op_Multiply => 778,
N_Op_Rem => 816,
N_Op_Subtract => 857,
N_Op_And => 857,
N_Op_Eq => 873,
N_Op_Ge => 873,
N_Op_Gt => 873,
N_Op_Le => 873,
N_Op_Lt => 873,
N_Op_Ne => 873,
N_Op_Or => 873,
N_Op_Xor => 889,
N_Op_Rotate_Left => 905,
N_Op_Rotate_Right => 920,
N_Op_Shift_Left => 935,
N_Op_Shift_Right => 950,
N_Op_Shift_Right_Arithmetic => 965,
N_Op_Abs => 980,
N_Op_Minus => 980,
N_Op_Not => 980,
N_Op_Plus => 980,
N_Attribute_Reference => 980,
N_And_Then => 1099,
N_Conditional_Expression => 1107,
N_Explicit_Dereference => 1145,
N_Function_Call => 1168,
N_In => 1289,
N_Indexed_Component => 1289,
N_Integer_Literal => 1324,
N_Not_In => 1344,
N_Null => 1344,
N_Or_Else => 1344,
N_Procedure_Call_Statement => 1352,
N_Qualified_Expression => 1473,
N_Raise_Constraint_Error => 1497,
N_Raise_Program_Error => 1507,
N_Raise_Storage_Error => 1517,
N_Aggregate => 1527,
N_Allocator => 1683,
N_Extension_Aggregate => 1760,
N_Range => 1863,
N_Real_Literal => 1904,
N_Reference => 1958,
N_Selected_Component => 1965,
N_Slice => 2040,
N_String_Literal => 2078,
N_Subprogram_Info => 2104,
N_Type_Conversion => 2115,
N_Unchecked_Expression => 2230,
N_Unchecked_Type_Conversion => 2241,
N_Subtype_Indication => 2282,
N_Component_Declaration => 2322,
N_Entry_Declaration => 2406,
N_Formal_Object_Declaration => 2479,
N_Formal_Type_Declaration => 2564,
N_Full_Type_Declaration => 2665,
N_Incomplete_Type_Declaration => 2753,
N_Loop_Parameter_Specification => 2831,
N_Object_Declaration => 2895,
N_Protected_Type_Declaration => 3142,
N_Private_Extension_Declaration => 3230,
N_Private_Type_Declaration => 3344,
N_Subtype_Declaration => 3470,
N_Function_Specification => 3544,
N_Procedure_Specification => 3636,
N_Entry_Index_Specification => 3715,
N_Freeze_Entity => 3763,
N_Access_Function_Definition => 3831,
N_Access_Procedure_Definition => 3887,
N_Task_Type_Declaration => 3930,
N_Package_Body_Stub => 4033,
N_Protected_Body_Stub => 4085,
N_Subprogram_Body_Stub => 4137,
N_Task_Body_Stub => 4183,
N_Function_Instantiation => 4235,
N_Package_Instantiation => 4321,
N_Procedure_Instantiation => 4407,
N_Package_Body => 4493,
N_Subprogram_Body => 4591,
N_Protected_Body => 4818,
N_Task_Body => 4900,
N_Implicit_Label_Declaration => 5038,
N_Package_Declaration => 5074,
N_Single_Task_Declaration => 5143,
N_Subprogram_Declaration => 5179,
N_Use_Package_Clause => 5239,
N_Generic_Package_Declaration => 5282,
N_Generic_Subprogram_Declaration => 5379,
N_Constrained_Array_Definition => 5452,
N_Unconstrained_Array_Definition => 5516,
N_Exception_Renaming_Declaration => 5565,
N_Object_Renaming_Declaration => 5590,
N_Package_Renaming_Declaration => 5662,
N_Subprogram_Renaming_Declaration => 5698,
N_Generic_Function_Renaming_Declaration => 5748,
N_Generic_Package_Renaming_Declaration => 5784,
N_Generic_Procedure_Renaming_Declaration => 5820,
N_Abort_Statement => 5856,
N_Accept_Statement => 5862,
N_Assignment_Statement => 5957,
N_Asynchronous_Select => 6043,
N_Block_Statement => 6081,
N_Case_Statement => 6246,
N_Code_Statement => 6279,
N_Conditional_Entry_Call => 6290,
N_Delay_Relative_Statement => 6329,
N_Delay_Until_Statement => 6340,
N_Entry_Call_Statement => 6351,
N_Free_Statement => 6398,
N_Goto_Statement => 6440,
N_Loop_Statement => 6460,
N_Null_Statement => 6532,
N_Raise_Statement => 6532,
N_Requeue_Statement => 6537,
N_Return_Statement => 6556,
N_Selective_Accept => 6630,
N_Timed_Entry_Call => 6666,
N_Exit_Statement => 6707,
N_If_Statement => 6722,
N_Accept_Alternative => 6785,
N_Delay_Alternative => 6861,
N_Elsif_Part => 6913,
N_Entry_Body_Formal_Part => 6957,
N_Iteration_Scheme => 7018,
N_Terminate_Alternative => 7075,
N_Abortable_Part => 7114,
N_Abstract_Subprogram_Declaration => 7125,
N_Access_Definition => 7139,
N_Access_To_Object_Definition => 7152,
N_Case_Statement_Alternative => 7200,
N_Compilation_Unit => 7228,
N_Compilation_Unit_Aux => 7367,
N_Component_Association => 7402,
N_Component_List => 7434,
N_Derived_Type_Definition => 7476,
N_Decimal_Fixed_Point_Definition => 7534,
N_Defining_Program_Unit_Name => 7594,
N_Delta_Constraint => 7619,
N_Designator => 7653,
N_Digits_Constraint => 7669,
N_Discriminant_Association => 7704,
N_Discriminant_Specification => 7730,
N_Enumeration_Type_Definition => 7797,
N_Entry_Body => 7806,
N_Entry_Call_Alternative => 7913,
N_Exception_Declaration => 7960,
N_Exception_Handler => 8009,
N_Floating_Point_Definition => 8074,
N_Formal_Decimal_Fixed_Point_Definition => 8117,
N_Formal_Derived_Type_Definition => 8117,
N_Formal_Discrete_Type_Definition => 8163,
N_Formal_Floating_Point_Definition => 8163,
N_Formal_Modular_Type_Definition => 8163,
N_Formal_Ordinary_Fixed_Point_Definition => 8163,
N_Formal_Package_Declaration => 8163,
N_Formal_Private_Type_Definition => 8250,
N_Formal_Signed_Integer_Type_Definition => 8298,
N_Formal_Subprogram_Declaration => 8298,
N_Generic_Association => 8337,
N_Handled_Sequence_Of_Statements => 8385,
N_Index_Or_Discriminant_Constraint => 8477,
N_Itype_Reference => 8489,
N_Label => 8495,
N_Modular_Type_Definition => 8521,
N_Number_Declaration => 8532,
N_Ordinary_Fixed_Point_Definition => 8581,
N_Others_Choice => 8623,
N_Package_Specification => 8658,
N_Parameter_Association => 8744,
N_Parameter_Specification => 8802,
N_Protected_Definition => 8931,
N_Range_Constraint => 9003,
N_Real_Range_Specification => 9020,
N_Record_Definition => 9041,
N_Signed_Integer_Type_Definition => 9127,
N_Single_Protected_Declaration => 9148,
N_Subunit => 9189,
N_Task_Definition => 9225,
N_Triggering_Alternative => 9363,
N_Use_Type_Clause => 9410,
N_Validate_Unchecked_Conversion => 9461,
N_Variant => 9485,
N_Variant_Part => 9564,
N_With_Clause => 9578,
N_With_Type_Clause => 9753,
N_Unused_At_End => 9773);
end Treeprs;