SHANIT Menu

Information Technology

since 1973


Technical Business Analysis
Software Engineering
Workflow Consulting
Software Integration
Project Management
Web Design


Defects are not so much a technological problem as a sociological problem.

It's the system for building systems that we should be correcting.

The only unforgivable failure is the failure to learn from past failure.

Tom DeMarco: "Controlling Software Projects - Management Measurement & Estimation"



The lamp of experience... I know of no way of judging the future but by the past.

Patrick Henry


English Your limited size screen also limits the details and functionality that are otherwise provided by this website.

Use a larger screen to better explore shanit.com


Francais Voir plus de détails en utilisant la version grand écran du ce site, or contactez nous pour en avoir plus des details.

Veuillez utiliser un écran plus grand afin de mieux explorer shanit.com

SHANIT - Consulting, Design, Workflow, Development

RTL/2 - Real Time Language



Real Time Language is a small real-time language based on {ALGOL 68}, with separate compilation designed by J.G.P. Barnes of ICI in 1972 as a successor to RTL/1. A program is composed of separately compilable modules called "bricks" which may be datablocks, procedures or stack. A stack is a storage area for use as a workspace by a task. The language is block-structured and weakly typed. Simple types are byte, int, frac and real. There are no Booleans. Compound types may be formed from arrays, records and {ref}s pointers. There are no user-defined types. Control statements are if-then-elseif-else-end, for-to-by-do-rep, block-endblock, switch, goto, and label variables.

The language is a combination of C and Pascal, is well structured and easy to use. The compiler compiles the code into Macro-11 source which is then compiled with the "MAC" command and the task is built with the "TKB" command.

One major feature of this language is its ability to drop into Macro-11 assembler code, just like in the C language, by using the statement "CODE". One could then write code in Macro-11 and return to RTL/2 by using the statement "*RTL;" Importantly, one had to ensure that the stack is returned to its appropriate state, before going back to RTL/2. This feature gave enormous benefits as one could use the entire set of "low level" MACROS that were supplied by DEC, as well as write higher level "code" within the same development module.

This was a major benefit over FORTRAN and other higher level languages that were written for the PDP, which where all restricted to the functions provided in that particular language. RTL/2 also had a very large functions libraries, of its own.

ICI also developed a series of real-time operating systems (MTS) which were largely written in RTL/2. The language definition became a British Standard, and the compiler front-end was itself written in RTL/2, ensuring common syntax across all platforms.

The compiler was licenced to a number of companies, such as SPL (Systems Programmimg Ltd) and Software Sciences and compilers were developed for the DEC (now Compaq) PDP/11 and VAX, the Motorola 68xx and the IBM 360. The early compilers ran on the IBM mainframe and cross-compiled code for the mini systems.

Unfortunately, the language never really took off commercially, and latterly was supported by RTC - Real-Time Consultants - and Natron. An RTL/2 to C translator was developed and marketed by Natron.
©2005-2017 Shanit
Unmute
Valid HTML5
English
Francais