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_Stream5Must_Be_Byte_Al" &
"igned" &
"#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%Reason" &
"#Condition%Reason" &
"#Condition%Reason" &
"#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&End_Label" &
"#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 => 1120,
N_Conditional_Expression => 1128,
N_Explicit_Dereference => 1166,
N_Function_Call => 1189,
N_In => 1310,
N_Indexed_Component => 1310,
N_Integer_Literal => 1345,
N_Not_In => 1365,
N_Null => 1365,
N_Or_Else => 1365,
N_Procedure_Call_Statement => 1373,
N_Qualified_Expression => 1494,
N_Raise_Constraint_Error => 1518,
N_Raise_Program_Error => 1535,
N_Raise_Storage_Error => 1552,
N_Aggregate => 1569,
N_Allocator => 1725,
N_Extension_Aggregate => 1802,
N_Range => 1905,
N_Real_Literal => 1946,
N_Reference => 2000,
N_Selected_Component => 2007,
N_Slice => 2082,
N_String_Literal => 2120,
N_Subprogram_Info => 2146,
N_Type_Conversion => 2157,
N_Unchecked_Expression => 2272,
N_Unchecked_Type_Conversion => 2283,
N_Subtype_Indication => 2324,
N_Component_Declaration => 2364,
N_Entry_Declaration => 2448,
N_Formal_Object_Declaration => 2521,
N_Formal_Type_Declaration => 2606,
N_Full_Type_Declaration => 2707,
N_Incomplete_Type_Declaration => 2795,
N_Loop_Parameter_Specification => 2873,
N_Object_Declaration => 2937,
N_Protected_Type_Declaration => 3184,
N_Private_Extension_Declaration => 3272,
N_Private_Type_Declaration => 3386,
N_Subtype_Declaration => 3512,
N_Function_Specification => 3586,
N_Procedure_Specification => 3678,
N_Entry_Index_Specification => 3757,
N_Freeze_Entity => 3805,
N_Access_Function_Definition => 3873,
N_Access_Procedure_Definition => 3929,
N_Task_Type_Declaration => 3972,
N_Package_Body_Stub => 4075,
N_Protected_Body_Stub => 4127,
N_Subprogram_Body_Stub => 4179,
N_Task_Body_Stub => 4225,
N_Function_Instantiation => 4277,
N_Package_Instantiation => 4363,
N_Procedure_Instantiation => 4449,
N_Package_Body => 4535,
N_Subprogram_Body => 4633,
N_Protected_Body => 4860,
N_Task_Body => 4942,
N_Implicit_Label_Declaration => 5080,
N_Package_Declaration => 5116,
N_Single_Task_Declaration => 5185,
N_Subprogram_Declaration => 5221,
N_Use_Package_Clause => 5281,
N_Generic_Package_Declaration => 5324,
N_Generic_Subprogram_Declaration => 5421,
N_Constrained_Array_Definition => 5494,
N_Unconstrained_Array_Definition => 5558,
N_Exception_Renaming_Declaration => 5607,
N_Object_Renaming_Declaration => 5632,
N_Package_Renaming_Declaration => 5704,
N_Subprogram_Renaming_Declaration => 5740,
N_Generic_Function_Renaming_Declaration => 5790,
N_Generic_Package_Renaming_Declaration => 5826,
N_Generic_Procedure_Renaming_Declaration => 5862,
N_Abort_Statement => 5898,
N_Accept_Statement => 5904,
N_Assignment_Statement => 5999,
N_Asynchronous_Select => 6085,
N_Block_Statement => 6123,
N_Case_Statement => 6288,
N_Code_Statement => 6321,
N_Conditional_Entry_Call => 6332,
N_Delay_Relative_Statement => 6371,
N_Delay_Until_Statement => 6382,
N_Entry_Call_Statement => 6393,
N_Free_Statement => 6440,
N_Goto_Statement => 6482,
N_Loop_Statement => 6502,
N_Null_Statement => 6574,
N_Raise_Statement => 6574,
N_Requeue_Statement => 6579,
N_Return_Statement => 6598,
N_Selective_Accept => 6672,
N_Timed_Entry_Call => 6708,
N_Exit_Statement => 6749,
N_If_Statement => 6764,
N_Accept_Alternative => 6827,
N_Delay_Alternative => 6903,
N_Elsif_Part => 6955,
N_Entry_Body_Formal_Part => 6999,
N_Iteration_Scheme => 7060,
N_Terminate_Alternative => 7117,
N_Abortable_Part => 7156,
N_Abstract_Subprogram_Declaration => 7167,
N_Access_Definition => 7181,
N_Access_To_Object_Definition => 7194,
N_Case_Statement_Alternative => 7242,
N_Compilation_Unit => 7270,
N_Compilation_Unit_Aux => 7409,
N_Component_Association => 7444,
N_Component_List => 7476,
N_Derived_Type_Definition => 7518,
N_Decimal_Fixed_Point_Definition => 7576,
N_Defining_Program_Unit_Name => 7636,
N_Delta_Constraint => 7661,
N_Designator => 7695,
N_Digits_Constraint => 7711,
N_Discriminant_Association => 7746,
N_Discriminant_Specification => 7772,
N_Enumeration_Type_Definition => 7839,
N_Entry_Body => 7858,
N_Entry_Call_Alternative => 7965,
N_Exception_Declaration => 8012,
N_Exception_Handler => 8061,
N_Floating_Point_Definition => 8126,
N_Formal_Decimal_Fixed_Point_Definition => 8169,
N_Formal_Derived_Type_Definition => 8169,
N_Formal_Discrete_Type_Definition => 8215,
N_Formal_Floating_Point_Definition => 8215,
N_Formal_Modular_Type_Definition => 8215,
N_Formal_Ordinary_Fixed_Point_Definition => 8215,
N_Formal_Package_Declaration => 8215,
N_Formal_Private_Type_Definition => 8302,
N_Formal_Signed_Integer_Type_Definition => 8350,
N_Formal_Subprogram_Declaration => 8350,
N_Generic_Association => 8389,
N_Handled_Sequence_Of_Statements => 8437,
N_Index_Or_Discriminant_Constraint => 8529,
N_Itype_Reference => 8541,
N_Label => 8547,
N_Modular_Type_Definition => 8573,
N_Number_Declaration => 8584,
N_Ordinary_Fixed_Point_Definition => 8633,
N_Others_Choice => 8675,
N_Package_Specification => 8710,
N_Parameter_Association => 8796,
N_Parameter_Specification => 8854,
N_Protected_Definition => 8983,
N_Range_Constraint => 9055,
N_Real_Range_Specification => 9072,
N_Record_Definition => 9093,
N_Signed_Integer_Type_Definition => 9179,
N_Single_Protected_Declaration => 9200,
N_Subunit => 9241,
N_Task_Definition => 9277,
N_Triggering_Alternative => 9415,
N_Use_Type_Clause => 9462,
N_Validate_Unchecked_Conversion => 9513,
N_Variant => 9537,
N_Variant_Part => 9616,
N_With_Clause => 9630,
N_With_Type_Clause => 9805,
N_Unused_At_End => 9825);
end Treeprs;