Frequently Asked Questions
What languages are supported?
ISO C90 (a superset of ANSI C89), C++96 (draft) and the C++ ARM. Some older dialects are also supported, with features individually selectable. We call these frontends "producers".
What platforms does it run on?
See the Platform Support list. We call these code-generating backends "installers".
For details of what TenDRA itself is written in, see the Target Platforms.
What's happening for C99?
Not much, currently. We've other things to get out of the way, first; C99 will follow afterwards.
Why was TenDRA written?
To showcase TDF. The whole point behind TenDRA is to produce portable code, both in terms of generating architecture-independent binaries, and for API use. These are features quite unique to TenDRA. [TODO: elaborate]
What are ANDF and TDF?
TDF is the Intermediate Representation which sits between Producers and Installers.
TDF is an Architecture Neutral Distribution Format (ANDF). It is similar to a machine-independent intermediate representation in a compiler. The idea is that software vendors can sell a single shrink-wrapped ANDF version (made by a "producer", similar to a compiler front-end) of their stuff and anyone with an ANDF "installer" (back end) on their machine can buy it and run it. It is a bit like UNCOL in the breadth of its aims but seems to actually work.
Only a subset of TDF was chosen by the OSF for its ANDF. This subset is sufficient for ANSI C, but TDF as a whole was designed to support (at least) FORTRAN, COBOL, C++, Ada, ML, and LISP also.
Is the STL provided for C++?
I try to compile the following simple C++ program:
#include <iostream> int main() { cout << "hello world\n"; return 0; }
and the compiler is giving me errors.
TenDRA only contains the bare minimum language support library, not the fully standard C++ library. See the C++ producer documentation for more details.
Can I use TenDRA instead of gcc?
TenDRA isn't intended to be a direct competitor to gcc (they do not have the same goals, especially with respect to portability). It is not a drop-in replacement. However, it is a generic C compiler, and can be used for day-to-day development on the supported platforms.
Historical and Legal
What is/was QinetiQ/Dstl/DERA/DRA?
According to the National Archives of the United Kingdom:
The Royal Armament Research and Development Establishment (RARDE) had its origins in the Research Department Woolwich, and its Design Department which was established in 1922 and was concerned with the engineering design and development of weapons.
At the end of 1942 the Design Department moved to Fort Halstead, Kent, followed later by the Research Department. They were designated the Armament Design Department and the Armament Research Department (ARD) respectively. In 1948 the ARD's name was changed to Armament Research Establishment (ARE).
The two departments were amalgamated in 1955 to form the Armament Research and Development Establishment (ARDE), to integrate all stages of research, design and development. On 8 February 1962 the title of Royal Armament Research and Development Establishment was granted.
RARDE moved from MOD (Army) to become part of the new MOD/CER (Controllerate of Research and Development Establishments and Research) in 1971, its primary concern continuing in the research, design and development of conventional armaments for the Royal Navy, Army and Royal Air Force, whilst also providing help for the Home Office on the hazards of explosives, dangerous chemicals and the forensic aspects of explosives.
During the 1980s RARDE amalgamated with the Military Vehicle Engineering Establishment (MVEE), whose main sites were located at Chertsey and Christchurch, and the Propellants, Explosives and Rocket Motor Establishment which was based at Waltham Abbey and Westcott.
Further according to the National Archives of the United Kingdom:
On 1 April 1991 the Defence Research Agency (DRA) was set up incorporating in one organisation the Royal Aerospace Establishment (RAE), the Admiralty Research Establishment (ARE), the Royal Armament Research and Development Establishment (RARDE), and the Royal Signals and Radar Establishment (RSRE). The DRA was established as an executive Agency of the Ministry of Defence under the Government's Next Steps Initiative.
The purpose of DRA was to "provide a more efficient research organisation within the MoD." (Source: United Kingdom Parliament's House of Commons' Select Committee on Defence's Ninth Report, section 'The Future of DERA' and onward).
Having thus brought together its four non-nuclear research establishments, MOD then brought together various elements concerned with testing and evaluation, creating on 1 April 1992 the Directorate General of Test and Evaluation. DGT&E, the responsibility of the Deputy Under Secretary of State (Defence Procurement), was an amalgamation of various range and test facilities. These included the Proof and Experimental Establishments hitherto under the control of the Master General of the Ordnance (MGO), the Armament and Aircraft Experimental Establishment (A&AEE) at Boscombe Down (which was already under DUS(DP)), DRA Pyestock (previously the National Gas Turbine Establishment (NGTE), RAE Propulsion Department from 1983), and various ranges that had been incorporated into DRA only a year earlier.
Then on 1st April 1995 a further major amalgamation occurred, creating the Defence Evaluation and Research Agency (DERA). DERA incorporated DRA and DGT&E, along with the Chemical and Biological Defence Establishment (CBDE), the Defence Operational Analysis Centre (DOAC), the Centre for Human Sciences (CHS), and the British Underwater Test and Evaluation Centre (BUTEC). DERA's initial structure comprised four operating divisions: CBDE, DRA, CDA (Centre for Defence Analysis), and DTEO (Defence Test and Evaluation Organisation).
In 1998, the Strategic Defence Review recommended a Public Private Partnership (PPP) arrangement as the best means of maximising the strategic value and operational cost effectiveness of the United Kingdom's defence research capabilities. Accordingly, during 2000/2001 DERA was split into two organisations. The business areas to be retained by MOD were grouped as R-DERA (i.e. Retained), while those considered appropriate for operation in a fully commercial environment became New-DERA.
New-DERA was re-structured to facilitate involvement by the private sector and, comprising the greater part of DERA, was re-created as the QinetiQ Group, a wholly government-owned UK plc, in July 2001. R-DERA was meanwhile re-named as the Defence Science and Technology Laboratory (Dstl) and continued as an MOD agency, handling certain areas of research which it had been decided should remain within the public sector.
What is Ten15?
Who owns the Intellectual Property Behind TenDRA?
TODO: Trademark, copyright. We think not the Dstl. We have no plans to ask QinetiQ to re-licence the 4.1.2 release. See here and here.