DataMuseum.dk

Presents historical artifacts from the history of:

Rational R1000/400

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about Rational R1000/400

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download

⟦7a2838a42⟧ TextFile

    Length: 23463 (0x5ba7)
    Types: TextFile
    Notes: R1k Text-file segment

Derivation

└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
    └─ ⟦5a81ac88f⟧ »Space Info Vol 1« 
        └─⟦7cca7a95d⟧ 
            └─⟦this⟧ 

TextFile

   
   
   
   
                               DOCUMENTATION
                                  FOR THE
                          ADA_ANALYSIS SUBSYSTEM
   
   


  1  General Description

text inserted from file !TOOLKIT.ANALYSIS.ADA_ANALYSIS.A_SUMMARY:
ada_analysis => 
This is a collection of tools for performing various kinds of static 
analysis upon Rational-resident Ada compilation units.  Examples include 
programs to: 
     - find all allocators, find all generics, find all tasks, etc. 
     - count up the number of each type of Ada construct used. 
     - explode a type declaration down to its primitive types. 
     - display the call tree of a given procedure 
      
Each program produces an abstract document (electric table) as output 
which allows quick browsing and review of the gathered data. 
 
Also included is a find_template which is to aid in the construction of 
additional 'find' analysis programs. 



  2  Exported Units
  The following units are exported from the spec view of this subsystem:  
  From subdirectory !TOOLKIT.ANALYSIS.ADA_ANALYSIS.REV1_1_SPEC.UNITS:
      * Package spec ADA_CONSTRUCTS
          The analyze procedures of this package count up the number of
          various Ada constructs that exist within the set of given Ada
          units.  The nested package instantiations are used to construct
          tables of the results for the different Ada constructs.  

      * Package spec ADA_CONSTRUCT_ANALYSIS
          These procedures are used to generate tables (in an abstract
          document) showing counts of various Ada constructs in the set of
          units given.  

      * Procedure spec ANALYZE_RECORD_TYPES
          This procedure finds all record type declarations, focusing on
          the component structure of the record.  The intent is to find
          records with like structure.  This analysis may be especially
          useful with message oriented systems.  

      * Procedure spec ANALYZE_TYPES
          Creates a preview object  containing all type declarations in
          the specfified units and their component type declarations.
          There are several types of sorts available via parameter.  

      * Package spec FIND_ALLOCATORS
          These procedures find all allocators.  They are displayed in an
          abstract document showing the allocators along with type being
          allocated.  

      * Package spec FIND_EXCEPTIONS
          This procedures in this package will find all exception
          declarations within the specified units.  They will also locate
          and display all handlers and explicit raises for these
          exceptions.  

      * Package spec FIND_GENERICS
          This does something.  

      * Package spec FIND_INLINE_CANDIDATES
          This procedure display all subprograms the meet the following
          criteria:  

      * Package spec FIND_LITERALS
          These procedures display all string literals found within the
          specified units along with their type name.  

      * Package spec FIND_OBJECTS
          These procedures find all object declarations and provide the
          following information for each object:  

      * Package spec FIND_OTHERS_CLAUSES
          These procedures find all others clauses within the specfied
          units and displays the unit name and line number in an abstract
          document.  

      * Package spec FIND_OVERHEAD_FUNCTIONS
          These procedures find all functions within the specified units
          whose only statment returns the value of a variable.  

      * Package spec FIND_PRAGMAS
          These procedures find all pragmas within the specified Ada units.
            This information is  then displayed in an abstract document.  

      * Package spec FIND_RENAMES
          These procedures find all renaming declarations and displays
          both the new name and the name of the object that was renamed.  

      * Package spec FIND_TASKS
          These procedures display all tasks, each entry of the task, and
          all calls on those entrys in an abstract document.  

      * Package spec FIND_UNUSED_DECLARATIONS
          These procedures find all declarations that have no dependents.
          They display the parent unit, the unused declaration, and the
          kind of declaration in an abstract document.  

      * Package spec FIND_UNUSED_WITHS
          These procedure find all unreferenced with clauses and displays
          this information in an abstract document.  

      * Package spec FIND_USE_CLAUSES
          These procedures find all units that contain "use" clauses and
          list the number of "withs", "uses", and internal "uses" within
          each unit.  This is displayed in an abstract document.  

      * Package spec FIND_VARIABLE_REFERENCES
          These procedures list all variable references and whether the
          variable is set or used with that reference.  This information
          is displayed in an abstract document.  

      * Package spec FIND_VISIBLE_TYPES
          These procedures find all types declared in Ada package
          specifications (i.e. visible) and displays these in an abstract
          document.  

      * Procedure spec GLANCE
          *** I don't know ***.  

      * Package spec RECORD_ANALYSIS
          *** analyzes record structures ***  

      * Package spec TYPE_ANALYSIS
          This package collects and sorts information about type
          declarations that are added to its database.  

      * Package spec TYPE_DISPLAY
          This package provides two interfaces (one programmatic, another
          working off a selected type declaration.  The preview object
          generated will contain a completely exploaded display of a
          components of that type.  Composite types are expanded to
          display each component.  The size of all static components is
          also displayed.  
   
  From subdirectory !TOOLKIT.ANALYSIS.ADA_ANALYSIS.REV1_1_SPEC.UNITS.CALL_TREE_ANALYSIS:
      * Package spec CALL_TREES
          Displays a hierarchical list of the subprograms called by any
          subprogram.  This display can be a batch listing, or an
          interactive hierarchy.  
   


  3  Load View (Implementation) Units
  The following units are contained by the load view of this subsystem:  


  3.1  From subdirectory !TOOLKIT.ANALYSIS.ADA_ANALYSIS.REV1_1_1.TESTING.TEST_INPUT:


  3.1.1  Procedure spec ALLOCATOR_TEST
  This is silly.  
  This unit contains no annotated constructs. 

  3.1.2  Procedure body ALLOCATOR_TEST
  No @SUMMARY annotation was specified.  
  This unit contains no annotated constructs. 

  3.1.3  Package spec EXCEPTIONS_TEST
  A simple test case for the find_exceptions analysis program.  
  This unit contains no annotated constructs. 

  3.1.4  Package body EXCEPTIONS_TEST
  No @SUMMARY annotation was specified.  
  This unit contains no annotated constructs. 

  3.1.5  Procedure spec EXCEPTIONS_TEST_PROC
  Input to test the find_execptions status analysis package.  
  This unit contains no annotated constructs. 

  3.1.6  Procedure body EXCEPTIONS_TEST_PROC
  No @SUMMARY annotation was specified.  
  This unit contains no annotated constructs. 

  3.1.7  Package spec FIND_PRAGMAS_INPUT
  This is silly.  
  This unit contains no annotated constructs. 

  3.1.8  Package body FIND_PRAGMAS_INPUT
  No @SUMMARY annotation was specified.  
  This unit contains no annotated constructs. 

  3.1.9  Package spec OBJECTS_TEST
  This is silly.  
  This unit contains no annotated constructs. 

  3.1.10  Package body OBJECTS_TEST
  No @SUMMARY annotation was specified.  
  This unit contains no annotated constructs. 

  3.1.11  Package spec OBJS
  This is silly.  
  This unit contains no annotated constructs. 

  3.1.12  Package spec OVERHEAD
  This is silly.  
  This unit contains no annotated constructs. 

  3.1.13  Package body OVERHEAD
  No @SUMMARY annotation was specified.  
  This unit contains no annotated constructs. 

  3.1.14  Procedure spec OVERHEAD_CALLS
  This is silly.  
  This unit contains no annotated constructs. 

  3.1.15  Procedure body OVERHEAD_CALLS
  No @SUMMARY annotation was specified.  
  This unit contains no annotated constructs. 

  3.1.16  Package spec RECORDS
  This is silly.  
  This unit contains no annotated constructs. 

  3.1.17  Package spec TASKS
  This is silly.  
  This unit contains no annotated constructs. 

  3.1.18  Package body TASKS
  No @SUMMARY annotation was specified.  
  This unit contains no annotated constructs. 

  3.1.19  Package spec TASKS_2
  This is silly.  
  This unit contains no annotated constructs. 

  3.1.20  Package body TASKS_2
  No @SUMMARY annotation was specified.  
  This unit contains no annotated constructs. 

  3.1.21  Package spec TEST_GENERICS
  test procedure  
  This unit contains no annotated constructs. 

  3.1.22  Package body TEST_GENERICS
  No @SUMMARY annotation was specified.  
  This unit contains no annotated constructs. 

  3.1.23  Procedure spec TEST_PARAMS
  test procedure  
  This unit contains no annotated constructs. 

  3.1.24  Procedure body TEST_PARAMS
  No @SUMMARY annotation was specified.  
  This unit contains no annotated constructs. 

  3.1.25  Package spec TYPES
  This is silly.  
  This unit contains no annotated constructs. 

  3.1.26  Package spec USE_CLAUSES
  This is silly.  
  This unit contains no annotated constructs. 

  3.1.27  Package spec USE_CLAUSE_2
  This is silly.  
  This unit contains no annotated constructs. 

  3.1.28  Procedure spec ZZZZ
  Test procedure  
  This unit contains no annotated constructs. 

  3.1.29  Procedure body ZZZZ
  No @SUMMARY annotation was specified.  
  This unit contains no annotated constructs.  


  3.2  From subdirectory !TOOLKIT.ANALYSIS.ADA_ANALYSIS.REV1_1_1.UNITS:


  3.2.1  Package spec ADA_CONSTRUCTS
  The analyze procedures of this package count up the number of various
  Ada constructs that exist within the set of given Ada units.  The nested
  package instantiations are used to construct tables of the results for
  the different Ada constructs.  
  This unit contains no annotated constructs. 

  3.2.2  Package body ADA_CONSTRUCTS
  No @SUMMARY annotation was specified.  
  This unit contains no annotated constructs. 

  3.2.3  Package spec ADA_CONSTRUCT_ANALYSIS
   
  The following major classes of constructs are counted and and analyzed:
  CONTEXT CLAUSES DECLARATIONS STATEMENTS PRAGMAS REPRESENTATION CLAUSES
  Within each major class there are subclasses of Ada constructs.  These
  procedures produce abstract document tables showing the number of these
  constructs in each of the specified units.  
  Annotated constructs:
      * Procedure spec Display_By_Unit
          This procedure produces tables with a row for each unit and
          listing the number of each construct in that unit.  
       

      * Procedure spec Display_Comparison
          This procedure produces tables for each construct type that show
          the number and average number of these constructs for all units.
           
       


  3.2.4  Package body ADA_CONSTRUCT_ANALYSIS
  No @SUMMARY annotation was specified.  
  This unit contains no annotated constructs. 

  3.2.5  Procedure spec ANALYZE_RECORD_TYPES
   
  Component types are numbered sequentially 1 through N as they are found
  Each record entry contains a list of components represented by these
  numbers.  The user may use definition to traverse to the actual
  component. Only the first ten components of the record are listed for
  space reasons.  
  This unit contains no annotated constructs. 

  3.2.6  Procedure body ANALYZE_RECORD_TYPES
  No @SUMMARY annotation was specified.  
  This unit contains no annotated constructs. 

  3.2.7  Procedure spec ANALYZE_TYPES
   
  The following sorts are available:  
  This unit contains no annotated constructs. 

  3.2.8  Procedure body ANALYZE_TYPES
  No @SUMMARY annotation was specified.  
  This unit contains no annotated constructs. 

  3.2.9  Package spec FIND_ALLOCATORS
  These procedures find all allocators.  They are displayed in an abstract
  document showing the allocators along with type being allocated.  
  This unit contains no annotated constructs. 

  3.2.10  Package body FIND_ALLOCATORS
  No @SUMMARY annotation was specified.  
  This unit contains no annotated constructs. 

  3.2.11  Package spec FIND_EXCEPTIONS
  This procedures in this package will find all exception declarations
  within the specified units.  They will also locate and display all
  handlers and explicit raises for these exceptions.  
  This unit contains no annotated constructs. 

  3.2.12  Package body FIND_EXCEPTIONS
  No @SUMMARY annotation was specified.  
  This unit contains no annotated constructs. 

  3.2.13  Package spec FIND_GENERICS
  This does something.  
  This unit contains no annotated constructs. 

  3.2.14  Package body FIND_GENERICS
  No @SUMMARY annotation was specified.  
  This unit contains no annotated constructs. 

  3.2.15  Package spec FIND_INLINE_CANDIDATES
  This procedure display all subprograms the meet the following criteria: 

  This unit contains no annotated constructs. 

  3.2.16  Package body FIND_INLINE_CANDIDATES
  No @SUMMARY annotation was specified.  
  This unit contains no annotated constructs. 

  3.2.17  Package spec FIND_LITERALS
  These procedures display all string literals found within the specified
  units along with their type name.  
  This unit contains no annotated constructs. 

  3.2.18  Package body FIND_LITERALS
  No @SUMMARY annotation was specified.  
  This unit contains no annotated constructs. 

  3.2.19  Package spec FIND_OBJECTS
  These procedures find all object declarations and provide the following
  information for each object:  
  This unit contains no annotated constructs. 

  3.2.20  Package body FIND_OBJECTS
  No @SUMMARY annotation was specified.  
  This unit contains no annotated constructs. 

  3.2.21  Package spec FIND_OTHERS_CLAUSES
  These procedures find all others clauses within the specfied units and
  displays the unit name and line number in an abstract document.  
  This unit contains no annotated constructs. 

  3.2.22  Package body FIND_OTHERS_CLAUSES
  No @SUMMARY annotation was specified.  
  This unit contains no annotated constructs. 

  3.2.23  Package spec FIND_OVERHEAD_FUNCTIONS
  These procedures find all functions within the specified units whose
  only statment returns the value of a variable.  
  This unit contains no annotated constructs. 

  3.2.24  Package body FIND_OVERHEAD_FUNCTIONS
  No @SUMMARY annotation was specified.  
  This unit contains no annotated constructs. 

  3.2.25  Package spec FIND_PRAGMAS
  These procedures find all pragmas within the specified Ada units.  This
  information is  then displayed in an abstract document.  
  This unit contains no annotated constructs. 

  3.2.26  Package body FIND_PRAGMAS
  No @SUMMARY annotation was specified.  
  This unit contains no annotated constructs. 

  3.2.27  Package spec FIND_RENAMES
  These procedures find all renaming declarations and displays both the
  new name and the name of the object that was renamed.  
  This unit contains no annotated constructs. 

  3.2.28  Package body FIND_RENAMES
  No @SUMMARY annotation was specified.  
  This unit contains no annotated constructs. 

  3.2.29  Package spec FIND_TASKS
  These procedures display all tasks, each entry of the task, and all
  calls on those entrys in an abstract document.  
  This unit contains no annotated constructs. 

  3.2.30  Package body FIND_TASKS
  No @SUMMARY annotation was specified.  
  This unit contains no annotated constructs. 

  3.2.31  Package spec FIND_TEMPLATE
  This package is merely a template to be use in starting to write
  additional static analysis "find" procedures.  
  This unit contains no annotated constructs. 

  3.2.32  Package body FIND_TEMPLATE
  No @SUMMARY annotation was specified.  
  This unit contains no annotated constructs. 

  3.2.33  Package spec FIND_UNUSED_DECLARATIONS
  These procedures find all declarations that have no dependents. They
  display the parent unit, the unused declaration, and the kind of
  declaration in an abstract document.  
  This unit contains no annotated constructs. 

  3.2.34  Package body FIND_UNUSED_DECLARATIONS
  No @SUMMARY annotation was specified.  
  This unit contains no annotated constructs. 

  3.2.35  Package spec FIND_UNUSED_WITHS
  These procedure find all unreferenced with clauses and displays this
  information in an abstract document.  
  This unit contains no annotated constructs. 

  3.2.36  Package body FIND_UNUSED_WITHS
  No @SUMMARY annotation was specified.  
  This unit contains no annotated constructs. 

  3.2.37  Package spec FIND_USE_CLAUSES
  These procedures find all units that contain "use" clauses and list the
  number of "withs", "uses", and internal "uses" within each unit.  This
  is displayed in an abstract document.  
  This unit contains no annotated constructs. 

  3.2.38  Package body FIND_USE_CLAUSES
  No @SUMMARY annotation was specified.  
  This unit contains no annotated constructs. 

  3.2.39  Package spec FIND_VARIABLE_REFERENCES
  These procedures list all variable references and whether the variable
  is set or used with that reference.  This information is displayed in an
  abstract document.  
  This unit contains no annotated constructs. 

  3.2.40  Package body FIND_VARIABLE_REFERENCES
  No @SUMMARY annotation was specified.  
  This unit contains no annotated constructs. 

  3.2.41  Package spec FIND_VISIBLE_TYPES
  These procedures find all types declared in Ada package specifications
  (i.e. visible) and displays these in an abstract document.  
  This unit contains no annotated constructs. 

  3.2.42  Package body FIND_VISIBLE_TYPES
  No @SUMMARY annotation was specified.  
  This unit contains no annotated constructs. 

  3.2.43  Procedure spec GLANCE
  Provides a filtered display of all declarations within the specified
  unit removing unwanted information such as comments, pragmas, etc.  The
  user may also specify that subprograms, types, or object declarations
  not be inluded in the list.  All information is elided to provide a
  quick "glance" of scan of a unit  
  This unit contains no annotated constructs. 

  3.2.44  Procedure body GLANCE
  No @SUMMARY annotation was specified.  
  This unit contains no annotated constructs. 

  3.2.45  Package spec HYPER_TABLE
  The add_table procedure will traverse the entire set of elements in all
  units specified by the Units parameter.  Based on the feedback from the
  formal parameter Included_Element, a row is included in a table.  For
  each column (designated by an enumeration type), an image and linkage is
  requested from the instantiator.  
  This unit contains no annotated constructs. 

  3.2.46  Package body HYPER_TABLE
  No @SUMMARY annotation was specified.  
  This unit contains no annotated constructs. 

  3.2.47  Package spec RECORD_ANALYSIS
  *** analyzes record structures ***  
  This unit contains no annotated constructs. 

  3.2.48  Package body RECORD_ANALYSIS
  No @SUMMARY annotation was specified.  
  This unit contains no annotated constructs. 

  3.2.49  Package spec TYPE_ANALYSIS
  This package collects and sorts information about type declarations that
  are added to its database.  
  This unit contains no annotated constructs. 

  3.2.50  Package body TYPE_ANALYSIS
  No @SUMMARY annotation was specified.  
  This unit contains no annotated constructs. 

  3.2.51  Package spec TYPE_DISPLAY
  This package provides two interfaces (one programmatic, another working
  off a selected type declaration.  The preview object generated will
  contain a completely exploaded display of a components of that type.
  Composite types are expanded to display each component.  The size of all
  static components is also displayed.  
  This unit contains no annotated constructs. 

  3.2.52  Package body TYPE_DISPLAY
  No @SUMMARY annotation was specified.  
  This unit contains no annotated constructs.  


  3.3  From subdirectory !TOOLKIT.ANALYSIS.ADA_ANALYSIS.REV1_1_1.UNITS.CALL_TREE_ANALYSIS:


  3.3.1  Package spec CALL_TREES
   
  This package provides a simple yet useful tool for analyzing the call
  tree for a program.  It contains two interfaces: a batch listing and an
  interactive display.  
  Special notes: Both procedures must be called with names of subprograms.
  The program does not handle package names by themselves.  
  Annotated constructs:
      * Procedure spec List
          This procedure provides a batch listing of the call tree for a
          given subprogram.  The listing indents to show levels.  If a
          subprogram is listed more than once, it will only be broken down
          the first time.  If a subprogram calls another subprogram more
          than once, the called subprogram will appear more than once in
          the listing.  
          Parameters: These_Objects => If the string resolves to more than
          one object, the listing will contain the call tree for each
          valid object.  
       

      * Procedure spec Visit
          This procedure provides an interactive browsing mechanism for
          the call tree of a subprogram.  The window that appears will
          look something like this:  
          Parameters: This_Object => Since the procedure provides an
          interactive display, it can only be called with one object at a
          time.  
       


  3.3.2  Package body CALL_TREES
  No @SUMMARY annotation was specified.  
  This unit contains no annotated constructs. 

  3.3.3  Package spec CALL_TREE_QUEUES
  This package provides the call tree in the form of a queue.  
  This unit contains no annotated constructs. 

  3.3.4  Package body CALL_TREE_QUEUES
  No @SUMMARY annotation was specified.  
  This unit contains no annotated constructs. 

  3.3.5  Package spec CT_HIERARCHY
  blah blah blah  
  Annotated constructs:
      * Function spec Get_Next
          Special notes: If the user wants to quit, the function returns
          Ada_Program.Nil_Element.  
       


  3.3.6  Package body CT_HIERARCHY
  No @SUMMARY annotation was specified.  
  This unit contains no annotated constructs. 

  3.3.7  Generic package spec HIERARCHY_GENERIC
  blah blah blah  
  This unit contains no annotated constructs. 

  3.3.8  Package body HIERARCHY_GENERIC
  No @SUMMARY annotation was specified.  
  This unit contains no annotated constructs. 

  3.3.9  Generic package spec LISTS
  This package implements a singly-linked list abstraction.  
  This unit contains no annotated constructs. 

  3.3.10  Package body LISTS
  No @SUMMARY annotation was specified.  
  This unit contains no annotated constructs. 

  3.3.11  Package instantiation UB_STRINGS
  its just a package instantiation  
  This unit contains no annotated constructs.  


  4  Clients
  No views depend on the current spec view of this subsystem. 

  5  Imports
  The following views are imported by the current load view of the subsystem:
      * !TOOLKIT.UTILITIES.LRM_UTILITIES.REV1_2_SPEC

      * !TOOLKIT.UTILITIES.DIRECTORY_UTILITIES.REV1_1_SPEC

      * !TOOLKIT.UTILITIES.MISCELLANEOUS.REV1_1_SPEC
   


  6  Model
  The current load view of the subsystem uses the !TOOLKIT.MODEL model.