|
|
DataMuseum.dkPresents historical artifacts from the history of: Rational R1000/400 |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Rational R1000/400 Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 23463 (0x5ba7)
Types: TextFile
Notes: R1k Text-file segment
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
└─⟦5a81ac88f⟧ »Space Info Vol 1«
└─⟦7cca7a95d⟧
└─⟦this⟧
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.