Glossary of Terms
A
ANDF: Architecture Neutral Distribution format
The format standardised by the Open Group (formerly OSF), for which TDF was selected.
bmake
A portable version of NetBSD's make(1). See http://www.crufty.net/help/sjg/bmake.html.
B
Building
C
Calculus
calculus is an algebraic type system tool, for managing complex C type systems. It uses the TenDRA API checking techniques to enforce strong type checking and type encapsulation, and provides generic container types for lists, vectors etc.
Capability Architecture
An architecture whereby programs do not exist in flat memory ranges, but must request a hierarchy of allocated memory ranges from the operating system. The pointers to these ranges are called capabilities.
This design makes it impossible for a program to access memory that is not pointed to by one of the capabilities granted to the program.
Capsule
Compiling
CRT: C runtime.
D
DERA: Defence Research and Evaluation Agency (previously DRA, now DSTL and QinetiQ)
disp
disp is the TDF pretty printer. It translates the bitstream comprising a TDF capsule into a human readable form.
This functionality is provided by tcc, but disp may be called directly.
F
Flex
A capability architecture and operating system developed at DERA during the 1980s.
I
Installer
IRC
LALR: Left-Associative Left-to-right, Rightmost-derivation parser
A subset of LR parsers.
L
Lexer
lexi
Lexical Generation
Linking
LL(1): Left-to-right, Leftmost-derivation parser
with lookahead of 1 token.
Low-level Ten15
The format that later became known as TDF.
To make porting the Ten15 System easier, after type checking had succeeded and machine-independent optimisations made, the untyped output of the Ten15 compiler was provided: this became defined as Low-level Ten15.
Low-level Ten15, being untyped, was a viable target for weakly-typed languages, including C.
At the OSF's request for technologies for ANDF, Low-level Ten15 was renamed to TDF (Ten15 Distribution Format), and put forward as a (successful) proposal.
M
Machine
make_err
make_tdf
make_tdf is a tool for generating TDF decoders and encoders. It takes a compact description of the TDF specification and a template file, and generates code to read, write or transform a TDF capsule.
O
Object
Open Software Foundation
Optimisation
R
RTTI: Run-Time Type Identification
The standard C++ mechanism for class objects to identify their dynamic or run-time types.
P
Parser
Parser Generation
Parsing
Porting
PL_TDF
Producer
S
SID: Syntax Improving Device
SID is an LL(1) parser generator with a long history (the original version dates back to the mid-sixties!). As well as the normal rule transformations it provides powerful techniques for call-outs in circumstances where a non-trivial look-ahead is required (essential for languages like C++), and for error recovery.
Sort
Start-up File
Strong typing
Structured TDF
svn: Subversion
T
tcc
TDF: TenDRA Distribution Format
TDF Capsule
TDF Notation
TDF Notation Compiler
Ten15
Ten15 refers to several things:
- The Ten15 system.
- The Ten15 language.
- The Ten15 intermediate representation.
- Ten15.org.
The Ten15 language
The Ten15 language (usually called Ten15 Notation) was the main language used to program the Ten15 system; it was created to provide all of the virtual machine's abilities.
Ten15 Notation
See The Ten15 language.
The Ten15 system
This was a capability architecture which was created as an equivalent to the Flex capability architecture for the microcomputer, intended to make the work on Flex available to modern machines lacking a microcode facility.
Ten15 provided this by way of a strongly typed virtual machine. This differed from other virtual machines of the time by making use of JIT (then yet to be named).
This machine acted as an abstract superset of several high-level languages, and was intended to express these (in much the same way as Microsoft's .Net virtual machine expresses several languages today).
Conspicuously, C was not supported as it is not strongly typed. This was eventually provided for by TDF, instead.
Ten15.org
The Ten15 intermediate representation
TenDRA
TenDRA.org
Ticket
tld
tld is the TDF linker. It combines a number of TDF capsules into a single capsule. It also can be used to create and manipulate libraries of TDF capsules.
This functionality is provided by tcc, but tld may be called directly.
tpl
tpl is the PL_TDF compiler. It is a TDF 'structured assembler' in the lineage of PL360. tpl provides a more user-friendly way of generating TDF capsules from scratch than that offered by tnc.
This functionality is provided by tcc, but tpl may be called directly.
Trac
tspec
The API checking facilities of the TenDRA compiler are implemented by means of abstract interface specifications generated using the tspec tool.
This tool and specifications for a number of common APIs are included with the release. Part of the installation process consists of pre-compiling the implementations of those APIs implemented on the target machine into TDF libraries. This is performed automatically using tcc to combine the tspec specification with the implementation given in the system headers.
Type
Type checking
Type system
U
Unstructured TDF
Unit
V
Virtual Machine
Usually this term is used to imply that there is no physical implementation of this machine.
W
Weak typing
Wiki