[Up]
[SIGAda]
[ACM]
ASIS Glossary
- Ancestor.
- Ancestors of a library unit are itself, its parent, its
parent's parent, and so on. (Standard is an ancestor of every library
unit).
- ASIS application.
- Any programming system or any set of software
components making use of ASIS queries to obtain information about any
set of Ada components.
- ASIS implementation.
- All the hardware and software that implement the
ASIS specification for a given Ada implementation and that provide the
functionality required by the ASIS specification.
- ASIS queries.
- Those subprogram interfaces (and only those) defined in
the ASIS standard; these are supported by types, subtypes, and
exceptions also defined in the ASIS standard. Thus, ASIS queries and
supporting entities are together the ASIS interface. The following
informal query classification is used by the ASIS community:
"black-box" queries are those ASIS queries which produce information
about compilation units and "white-box" queries are those ASIS queries
which produce information about Elements; semantic queries are those
ASIS queries which express semantic properties of ASIS Elements in
terms of other Elements; structural queries are those ASIS queries
which provide the top-down decomposition and reverse bottom-up
composition of the compilation unit according to its syntax
structure. (Note that semantic queries are generally named
"Corresponding_..." or "Implicit_..." in the ASIS specification.)
- Closure.
- A term commonly used instead of needed units.
- Compilation unit.
- "The term compilation unit is used to refer to a
compilation_unit. When the meaning is clear from context, the term is
also used to refer to the library_item of a compilation_unit or to the
proper_body of a subunit". [ISO/IEC 8652:1995, 10.1.1(9)]. ASIS says
"ASIS compilation unit" when the intent is to stress, that the ASIS
viewpoint on an Ada compilation unit is described in the ASIS
standard. Note, that the term "compilation unit" can refer to either
syntactical category "compilation_unit" or to the library_item of a
compilation_unit or to the proper_body of a subunit (that is, the
compilation_unit without the context_clause and the separate
(parent_unit_name)).
- Compilation_Unit [type].
- An ASIS private type for which values denote
an Ada compilation unit or configuration pragma from the environment
denoted by some open ASIS context. A non-nil value of the
Compilation_Unit type also contains information about some physical
object from the "external world" treated by the underlying Ada
implementation as the corresponding Ada compilation unit or as a
result of compiling a configuration pragma.
- Container.
- Logical collection of ASIS compilation units. For
example, some container can hold compilation units which include Ada
predefined types, another container can hold implementation-defined
packages. Containers provide the implementation-defined way of
grouping the compilation units accessible for an ASIS application
through the ASIS queries.
- Container [type].
- An ASIS private type for which values denote a set
of compilation units being a subset of the set of compilation units
making up a context.
- Context.
- Defines a set of compilation units and configuration pragmas
processed by an ASIS application. ASIS provides any information from a
context by treating this set as if its elements make up an environment
declarative part by modeling some view (most likely one of the views
of the underlying Ada implementation) on the environment. ASIS may
process several different contexts at a time.
- Context [type].
- An ASIS private type for which values denote a set of
compilation units considered by ASIS as making up an Ada environment
declarative part from which to provide information.
- Dependent.
- Dependents of a compilation unit are all the compilation
units that depend semantically on it, either directly or indirectly. A
is a dependent of B, if B is a supporter of A.
- Descendants.
- Descendants of a library unit relation are the inverse
of the ancestor relation.
- Element.
- A common abstraction used by ASIS to denote the syntax
components (both explicit and implicit) of ASIS compilation units.
The term Element is also used as the synonym for "the value of the
ASIS Element type". See also "Explicit element" and "Implicit
element".
- Element [type].
- An ASIS private type, whose values represent the
syntax components (both explicit and implicit) of ASIS compilation
units.
- Environment.
- "Each compilation unit submitted to the compiler is
compiled in the context of an environment declarative_part (or simply
environment), which is a conceptual declarative_part that forms the
outermost declarative region of the context of any compilation. At run
time, an environment forms the declarative_part of the body of the
environment task of a partition." [ISO/IEC 8652:1995(E),
10.1.4(1)]. Note that the mechanisms for creating an environment and
for adding and replacing compilation units within an environment are
implementation-defined.
- Explicit element.
- An ASIS Element, representing a language construct
that appears explicitly in the program text for the compilation unit
(e.g., an explicit declaration).
- Extension.
- Non-standard facilities (other library units, non-standard
children of standard ASIS library units, subprograms, etc.) which
provide additional information from ASIS types, or modify the behavior
of otherwise standard ASIS facilities to provide alternative or
additional functionality.
- Family.
- The family of a given unit is defined as the set of
compilation units that comprise the given unit's declaration, body,
descendants, and subunits (and subunits of subunits and descendants,
etc.).
- Id.
- A way of identifying a particular element, from a particular
compilation unit, from a particular context.
- Id [type].
- An ASIS private type implementing the Id abstraction. The
values of this type can be written to files. These values can be read
back from files and converted into values of the Element type with the
use of a suitable open context.
- Implementor.
- A company, institution, or other group (such as a
vendor) who develops an ASIS implementation; thus an ASIS implementor.
There are also Ada implementors, who provide Ada compilation systems;
and there are ASIS-based tool (or, ASIS Application) implementors, who
develop tools which are based upon the ASIS standard.
- Implicit element.
- An ASIS Element, representing a language construct
that does not exist in the program text for the compilation unit, but
could occur at a given place in the program text as a consequence of
the semantics of another construct, (e.g., an implicit declaration, a
generic instantiation).
- Line.
- The logical representation of a line of text from the source
code of the external representation of a compilation unit.
- Line [type].
- An ASIS private type for the ASIS Line abstraction. The
values of the Line type represent the lines of text from the source
code of the external representation of compilation units.
- Needed Units.
- The needed units of a given compilation unit is a set
of compilation units ultimately needed by the given compilation unit
to make up or to be included in a completed partition.
- Optional functionality.
- The subset of ASIS facilities that are
explicitly identified in the ASIS standard as optional which may
legitimately be omitted from a Basic Conforming ASIS implementation,
but shall be included in any Fully Conforming ASIS implementation,
unless stated otherwise in the ASIS specification.
- Queries.
- See ASIS queries.
- Relation (between ASIS Compilation Units).
- Semantic relationships
between compilation units (as discussed in chapter 10 of ISO/IEC
8652:1995). The Relation_Kinds type enumerates the kinds of relations
that can exist between compilation units. See also Dependent,
Extended Family, and Supporter.
- Required functionality.
- The subset of ASIS facilities which are not
explicitly identified in the ASIS standard as optional which shall be
included in a Basic or Fully Conforming ASIS implementation, unless
stated otherwise in the ASIS specification.
- Semantic queries.
- See ASIS queries.
- Structural queries.
- See ASIS queries.
- Supporter.
- Supporters of a compilation unit are units on which it
semantically depends, either directly or indirectly. B is a supporter
of A, if A is a dependent of B.
[Up]
[SIGAda]
[ACM]
Last update 17 August 1998.
Questions, comments to
Clyde Roby (CRoby@IDA.Org)