abstract class
<programming> In object-oriented programming, a class
designed only as a parent from which sub-classes may be
derived, but which is not itself suitable for instantiation.
Often used to "abstract out" incomplete sets of features which
may then be shared by a group of sibling sub-classes which add
different variations of the missing pieces.
(1994-11-08)
Try this search on OneLook / Google
Nearby terms:
ABSET « absolute path « absolute pathname « abstract class » abstract data type » abstract interpretation » abstraction
abstract data type
<programming> (ADT) A kind of data abstraction where a
type's internal form is hidden behind a set of access
functions. Values of the type are created and inspected only
by calls to the access functions. This allows the
implementation of the type to be changed without requiring any
changes outside the module in which it is defined.
Objects and ADTs are both forms of data abstraction, but
objects are not ADTs. Objects use procedural abstraction
(methods), not type abstraction.
A classic example of an ADT is a stack data type for which
functions might be provided to create an empty stack, to
push values onto a stack and to pop values from a stack.
Reynolds paper.
Cook paper "OOP vs ADTs".
(2003-07-03)
Try this search on OneLook / Google
Nearby terms:
absolute path « absolute pathname « abstract class « abstract data type » abstract interpretation » abstraction » abstract machine
abstract interpretation
<theory> A partial execution of a program which gains
information about its semantics (e.g. control structure,
flow of information) without performing all the calculations.
Abstract interpretation is typically used by compilers to
analyse programs in order to decide whether certain
optimisations or transformations are applicable.
The objects manipulated by the program (typically values and
functions) are represented by points in some domain. Each
abstract domain point represents some set of real
("concrete") values.
For example, we may take the abstract points "+", "0" and "-"
to represent positive, zero and negative numbers and then
define an abstract version of the multiplication operator, *#,
which operates on abstract values:
*# | + 0 -
---|------
+ | + 0 -
0 | 0 0 0
- | - 0 +
An interpretation is "safe" if the result of the abstract
operation is a safe approximation to the abstraction of the
concrete result. The meaning of "a safe approximation"
depends on how we are using the results of the analysis.
If, in our example, we assume that smaller values are safer
then the "safety condition" for our interpretation (#) is
a# *# b# <= (a * b)#
where a# is the abstract version of a etc.
In general an interpretation is characterised by the domains
used to represent the basic types and the abstract values it
assigns to constants (where the constants of a language
include primitive functions such as *). The interpretation of
constructed types (such as user defined functions, sum types
and product types) and expressions can be derived
systematically from these basic domains and values.
A common use of abstract interpretation is strictness
analysis.
See also standard interpretation.
(1994-11-08)
Try this search on OneLook / Google
Nearby terms:
absolute pathname « abstract class « abstract data type « abstract interpretation » abstraction » abstract machine » Abstract Machine Notation
abstraction
1. Generalisation; ignoring or hiding details to capture some
kind of commonality between different instances. Examples are
abstract data types (the representation details are hidden),
abstract syntax (the details of the concrete syntax are
ignored), abstract interpretation (details are ignored to
analyse specific properties).
2. <programming> Parameterisation, making something a function
of something else. Examples are lambda abstractions (making
a term into a function of some variable), higher-order
functions (parameters are functions), bracket abstraction
(making a term into a function of a variable).
Opposite of concretisation.
(1998-06-04)
Try this search on OneLook / Google
Nearby terms:
abstract class « abstract data type « abstract interpretation « abstraction » abstract machine » Abstract Machine Notation » abstract syntax
abstract machine
1. <language> A processor design which is not intended to be
implemented as hardware, but which is the notional executor
of a particular intermediate language (abstract machine
language) used in a compiler or interpreter. An abstract
machine has an instruction set, a register set and a model
of memory. It may provide instructions which are closer to
the language being compiled than any physical computer or it
may be used to make the language implementation easier to
port to other platforms.
A virtual machine is an abstract machine for which an
interpreter exists.
Examples: ABC, Abstract Machine Notation, ALF, CAML,
F-code, FP/M, Hermes, LOWL,
Christmas, SDL, S-K reduction machine, SECD, Tbl,
Tcode, TL0, WAM.
2. <theory> A procedure for executing a set of instructions in
some formal language, possibly also taking in input data and
producing output. Such abstract machines are not intended to
be constructed as hardware but are used in thought
experiments about computability.
Examples: Finite State Machine, Turing Machine.
(1995-03-13)
Try this search on OneLook / Google
Nearby terms:
abstract data type « abstract interpretation « abstraction « abstract machine » Abstract Machine Notation » abstract syntax » Abstract Syntax Notation 1
Abstract Machine Notation
<language> (AMN) A language for specifying abstract machines
in the B-Method, based on the mathematical theory of
Generalised Substitutions.
(1995-03-13)
Try this search on OneLook / Google
Nearby terms:
abstract interpretation « abstraction « abstract machine « Abstract Machine Notation » abstract syntax » Abstract Syntax Notation 1 » abstract syntax tree
abstract syntax
<language, data> A representation of data (typically either a
message passing over a communications link or a program being
compiled) which is independent of machine-oriented structures
and encodings and also of the physical representation of the
data (called "concrete syntax" in the case of compilation or
"transfer syntax" in communications).
A compiler's internal representation of a program will
typically be specified by an abstract syntax in terms of
categories such as "statement", "expression" and "identifier".
This is independent of the source syntax (concrete syntax)
of the language being compiled (though it will often be very
similar). A parse tree is similar to an abstract syntax
tree but it will typically also contain features such as
parentheses which are syntactically significant but which are
implicit in the structure of the abstract syntax tree.
(1998-05-26)
Try this search on OneLook / Google
Nearby terms:
abstraction « abstract machine « Abstract Machine Notation « abstract syntax » Abstract Syntax Notation 1 » abstract syntax tree » Abstract-Type and Scheme-Definition Language
Abstract Syntax Notation 1
<language, standard, protocol> (ASN.1, X.208, X.680) An
ISO/ITU-T standard for transmitting structured data on
networks, originally defined in 1984 as part of CCITT
X.409 '84. ASN.1 moved to its own standard, X.208, in 1998
due to wide applicability. The substantially revised 1995
version is covered by the X.680 series.
ASN.1 defines the abstract syntax of information but does
not restrict the way the information is encoded. Various
ASN.1 encoding rules provide the transfer syntax (a
concrete representation) of the data values whose abstract
syntax is described in ASN.1. The standard ASN.1 encoding
rules include BER (Basic Encoding Rules - X.209), CER
(Canonical Encoding Rules), DER (Distinguished Encoding
Rules), and PER (Packed Encoding Rules).
ASN.1 together with specific ASN.1 encoding rules facilitates
the exchange of structured data especially between
application programs over networks by describing data
structures in a way that is independent of machine
architecture and implementation language.
OSI Application layer protocols such as X.400 MHS
electronic mail, X.500 directory services and SNMP use
ASN.1 to describe the PDUs they exchange.
Documents describing the ASN.1 notations: ITU-T Rec. X.680,
ISO 8824-1; ITU-T Rec. X.681, ISO 8824-2; ITU-T
Rec. X.682, ISO 8824-3; ITU-T Rec. X.683, ISO 8824-4
Documents describing the ASN.1 encoding rules: ITU-T
Rec. X.690, ISO 8825-1; ITU-T Rec. X.691, ISO 8825-2.
[M. Sample et al, "Implementing Efficient Encoders and
Decoders for Network Data Representations", IEEE Infocom 93
Proc, v.3, pp. 1143-1153, Mar 1993. Available from Logica,
UK].
See also snacc.
(2000-10-20)
Try this search on OneLook / Google
Nearby terms:
abstract machine « Abstract Machine Notation « abstract syntax « Abstract Syntax Notation 1 » abstract syntax tree » Abstract-Type and Scheme-Definition Language » Abstract Windowing Toolkit
abstract syntax tree
<compiler> (AST) A data structure representing something which
has been parsed, often used as a compiler or interpreter's
internal representation of a program while it is being
optimised and from which code generation is performed. The
range of all possible such structures is described by the
abstract syntax.
(1994-11-08)
Try this search on OneLook / Google
Nearby terms:
Abstract Machine Notation « abstract syntax « Abstract Syntax Notation 1 « abstract syntax tree » Abstract-Type and Scheme-Definition Language » Abstract Windowing Toolkit » Abstract Window Toolkit
Abstract-Type and Scheme-Definition Language
<language> (ASDL) A language developed as part of Esprit
project GRASPIN, as a basis for generating language-based
editors and environments. It combines an object-oriented
type system, syntax-directed translation schemes and a
target-language interface.
["ASDL - An Object-Oriented Specification Language for
Syntax-Directed Environments", M.L. Christ-Neumann et al,
European Software Eng Conf, Strasbourg, Sept 1987, pp.77-85].
(1996-02-19)
Try this search on OneLook / Google
Nearby terms:
abstract syntax « Abstract Syntax Notation 1 « abstract syntax tree « Abstract-Type and Scheme-Definition Language » Abstract Windowing Toolkit » Abstract Window Toolkit » ABSYS
Abstract Windowing Toolkit
Abstract Window Toolkit
Try this search on OneLook / Google
Nearby terms:
Abstract Syntax Notation 1 « abstract syntax tree « Abstract-Type and Scheme-Definition Language « Abstract Windowing Toolkit » Abstract Window Toolkit » ABSYS » AC2
Abstract Window Toolkit
<graphics> (AWT) Java's platform-independent windowing,
graphics, and user-interface toolkit. The AWT is part of
the Java Foundation Classes (JFC) - the standard API for
providing a graphical user interface (GUI) for a Java
program.
Compare: SWING.
["Java in a Nutshell", O'Reilly].
Home.
(2000-07-26)
Try this search on OneLook / Google
Nearby terms:
abstract syntax tree « Abstract-Type and Scheme-Definition Language « Abstract Windowing Toolkit « Abstract Window Toolkit » ABSYS » AC2 » AC3
This article was derived from the Free Online Dictionary of Computers and is available under ther terms of the GNU Free Documentation License.
Intel Celeron 1GHz 100MHz 256KB Socket 370 CPUIntel Celeron 1GHz 100MHz 256KB Socket 370 CPU ** Intel Celeron 1000MHz (1GHz) **- 1000/256/100/1.75v- FCPGA / ''Flip Chip''- CPU Only Compatibility/Requirements/Disclosures:* Motherboard that supports a Celeron 1000MHz Flip Chip CPU* Heatsink/Fan More ...
Euro to US Plug Socket AdapterEuro to US Plug Socket Adapter ** Euro to US Plug Adapter **General Features:- Converts 2 prong Euro plug to 2 prong US style plug- Euro Side: 6A 250V- US side: 6A 125V - 250V More ...
Backyard BasketballBackyard Basketball It's action-packed fun with kid versions of real-life pros. You get to pick the teams, call plays, compete in single games or a whole season. Real full-court action - even slam dunk! Ages 7+. Windows 95/98/ME/2000/XP More ...
52x 700MB 80-Minute CD-R Media 100-Piece Spindle52x 700MB 80-Minute CD-R Media 100-Piece Spindle 52x 700MB 80-Minute CD-R Media 100-Piece SpindleThis 100-piece CD-R media makes burning discs easy! Featuring 700 MB data storage, 80 minutes of digital audio and a maximum 52x recording speed, disc creationonly takes minutes! General Features- 80-minute audio capacity- 700 MB data capacity- Rated for use with 52x speeds Notes:- Media Only Compatibility/Requirements/Disclosures:** Requirements *** CD-R/RW drive More ...
12-in-1 USB 2.0 Card Reader and Writer12-in-1 USB 2.0 Card Reader and Writer ** 12-in-1 USB 2.0 Card Reader and Writer **Transfer files from digital cameras, video camcorders, PDAs, or MP3 players with this 12-in-1 USB 2.0 Card Reader and Writer. Its compact size and USB connectivity make it convenient to carry wherever you go. It supports a variety of flash cards and is compatible with Windows and Macintosh systems!General Features:- USB 2.0 interface (Backwards compatible)- Slot read and write function- Power/Activity/Card LED indicators- Plug and Play- Hot Swappable- USB bus powered- Windows and Macintosh compatible- Compact and portableSupported Media:- CompactFlash I- CompactFlash II- Microdrive- MultiMedia card- Mini SD card- Secure Digital- Smart Media- xD-picture card- Memory Stick- Memory Stick Pro- Memory Stick Duo- Memory Stick Pro DuoUnit Dimensions:- 0.5 x 4 x 2.25-inches (H x W x D)Regulatory Approvals:- CERetail Blister Pack Includes:- 12-in-1 USB 2.0 Card Reader and Writer- Driver CD (3-inch type)- USB cable Compatibility/Requirements/Disclosures:** Requirements *** PCRequirements:* Windows 98/98SE/ME/2000/XP* Supported media* CD-ROM drive* Available USB port* Macintosh Requirements:* Mac OS 8.6 or higher* Supported media* CD-ROM drive* Available USB port More ...
3-Button PS/2 Optical Scroll Mouse (Blue)3-Button PS/2 Optical Scroll Mouse (Blue) ** 3-Button PS/2 Optical Scroll Mouse **Navigate with ease with this high quality 3-Button PS/2 Optical Mouse! It features optical technology which means no more ball to clean. The scroll wheel provides convenient and easy navigation and also functions as a third button. This mouse works on most surfaces and is ideal for both desktop and notebook computers. Packaged in a metal gift box, this mouse comes in a stylish blue color and a PS/2 interface!General Features:- Blue design- PS/2 interface- 3-button design- Scroll Wheel acts as third mouse button- Precise Optical Technology- Synthetic shaped can be used for either left or right hand- Compact designRetail Package Includes:- 3-Button PS/2 Optical Scroll Mouse Compatibility/Requirements/Disclosures: ** Requirements *** Pentium 233 MHz processor or higher* Windows 95/98/98SE/ME/2000/XP* Available PS/2 port More ...
|