package body Schema is

    E_And_V_Criterion_Code :
       constant array (E_And_V_Criterion_Abbreviation_Type'First ..
                          E_And_V_Criterion_Abbreviation_Type'Last) of
                   E_And_V_Criterion_Type :=
       (Effcy01 => "Speed of object code generation     ",
        Effcy06 => "Pragma impact on compilation speed  ",
        Effcy13 => "Idle task effect on performance     ",
        Effcy18 => "Parameter size effect on performance",
        Effcy21 => "Object code size                    ",
        Effcy22 => "Execution time                      ",
        Effcy26 => "Execution time, arith. & logic opers",
        Effcy29 => "Pragma SUPPRESS effect on space/time",
        Effcy32 => "Calling overhead for subprograms    ");

    Language_Feature_Code :
       constant array (Language_Feature_Abbreviation_Type'First ..
                          Language_Feature_Abbreviation_Type'Last) of
                   Language_Feature_Type :=
       (Identifiers => "Identifiers                                        ",
        Literals => "Literals                                           ",
        Derived_Types => "Derived Types                                      ",
        Scalar_Types => "Scalar Types, Declarations, and Object Declarations",
        Array_Types => "Array Types,  Declarations, and Object Declarations",
        Record_Types => "Record Types, Declarations, and Object Declarations",
        Access_Types => "Access Types, Declarations, and Object Declarations",
        Local_Names => "Local Names and References to Objects              ",
        Non_Local_Names =>
           "Non-Local Names and References to Objects          ",
        Indexed_Comps => "Indexed Components                                 ",
        Slices => "Slices                                             ",
        Selected_Comps => "Selected Components                                ",
        Attributes => "Attributes                                         ",
        Aggregates => "Aggregates                                         ",
        Record_Aggs => "Record Aggregates                                  ",
        Array_Aggs => "Array Aggregates                                   ",
        Expressions => "Operators and Expression Evaluation                ",
        Logical_Operators =>
           "Logical Operators and Short-Circuit Control Forms  ",
        Relational_Operators =>
           "Relational Operators and Membership Tests          ",
        Binary_Adds => "Binary Adding Operators                            ",
        Unary_Adds => "Unary Adding Operators                             ",
        Multiplying_Ops =>
           "Multiplying Operators                              ",
        Hi_Precedence_Ops =>
           "Highest Precedence Operators                       ",
        Type_Conversions =>
           "Type Conversions                                   ",
        Qualified_Expressions =>
           "Qualified Expressions                              ",
        Allocators => "Allocators                                         ",
        Static_Exprs_Subtypes =>
           "Static Expressions and Static Subtypes             ",
        Assignment => "Assignment Statement                               ",
        Array_Assign => "Array Assignments                                  ",
        If_Stmts => "If Statements                                      ",
        Case_Stmts => "Case Statements                                    ",
        Loop_Stmts => "Loop Statements                                    ",
        Block_Stmts => "Block Statements                                   ",
        Exit_Stmts => "Exit Statements                                    ",
        Return_Stmts => "Return Statements                                  ",
        Goto_Stmts => "Goto Statements                                    ",
        Subprogram_Decls =>
           "Subprogram Declarations                            ",
        Subprogram_Calls =>
           "Subprogram Calls                                   ",
        Parameter_Assns =>
           "Parameter Associations                             ",
        Default_Parms => "Default Parameters                                 ",
        Overloading => "Overloading (of Operators and Subprograms)         ",
        Package_Specs_Decls =>
           "Package Specifications and Declarations            ",
        Package_Bodies => "Package Bodies                                     ",
        Private_Types => "Private Types and Deferred Constants               ",
        References_To_Objects =>
           "References to Local and Non-Local Objects          ",
        Use_Clauses => "Use Clauses                                        ",
        Renaming_Decls => "Renaming Declarations                              ",
        Task_Types_Objects =>
           "Task Types and Task Objects                        ",
        Task_Execution => "Task Execution - Task Activation                   ",
        Task_Dependence =>
           "Task Dependence - Termination of Tasks             ",
        Entries_Accepts =>
           "Entries, Entry Calls, and Accept Statements        ",
        Delay_Stmts => "Delay Statements, Duration, and Time               ",
        Select_Stmts => "Select Statements                                  ",
        Selective_Waits =>
           "Selective Waits                                    ",
        Conditional_Entries =>
           "Conditional Entry Calls                            ",
        Timed_Entries => "Timed Entry Calls                                  ",
        Task_Entry_Attribs =>
           "Task and Entry Attributes                          ",
        Abort_Stmts => "Abort Statements                                   ",
        Context_Clauses =>
           "Context Clauses - With Clauses                     ",
        Subunits => "Subunits of Compiler Units                         ",
        Exception_Decls =>
           "Exception Declarations                             ",
        Exception_Handlers =>
           "Exception Handlers                                 ",
        Raise_Stmts => "Raise Statements                                   ",
        Exception_Propagation =>
           "Exception Handling and Propagation                 ",
        Generic_Decls => "Generic Declarations                               ",
        Generic_Bodies => "Generic Bodies                                     ",
        Generic_Insts => "Generic Instantiations                             ",
        Uses_Of_Generic_Insts =>
           "Uses of Generic Instances                          ",
        Representation_Clauses =>
           "Representation Clauses                             ",
        Length_Clauses => "Length Clauses                                     ",
        Enum_Rep_Clauses =>
           "Enumeration Representation Clauses                 ",
        Record_Rep_Clauses =>
           "record Representation Clauses                      ",
        Address_Clauses =>
           "address Clauses                                    ",
        Change_Of_Rep => "Change of Representation                           ",
        Machine_Code_Inserts =>
           "Machine Code Insertions                            ",
        Unchecked_Pgming =>
           "Unchecked Programming                              ",
        Seq_Dir_Files => "Sequential and Direct Files                        ",
        Text_Input_Output =>
           "Text Input-Output                                  ",
        Pragma_Inline => "Pragma Inline                                      ",
        Pragma_Optimize =>
           "Pragma Optimize                                    ",
        Pragma_Pack => "Pragma Pack                                        ",
        Pragma_Shared => "Pragma Shared                                      ",
        Pragma_Suppress =>
           "Pragma Suppress                                    ");
    ---------------------------------------------------------------------
    function Expand (Key : E_And_V_Criterion_Abbreviation_Type)
                    return E_And_V_Criterion_Type is
    begin
        return E_And_V_Criterion_Code (Key);
    end Expand;
    --
    function Expand (Key : Language_Feature_Abbreviation_Type)
                    return Language_Feature_Type is
    begin
        return Language_Feature_Code (Key);
    end Expand;

end Schema;