HAL/S

HAL / S ( high -order assembly language / shuttle) is a programming language that was developed for real-time applications in spacecraft Inter Metrics on behalf of NASA.

The development began in the late 1960s under the name HAL. With the beginning of the Space Shuttle project, the addition / S was founded in 1972 added, as a large part of the software of the shuttles written in this language wurde.HAL / S was also used in other space projects, for example for position control of the Galileo probe.

HAL / S was in XPL, written a dialect of PL / I,.

Basic principles

The three objectives in the design of the language were reliability, efficiency and platform independence. Air - and space- typical tasks (such as vector and matrix calculation) can be executed in a way that is easy to understand for people with aerospace knowledge, do not have deep knowledge of programming.

HAL / S dispensed constructs which are known to be sources of error. For example, there is no support for dynamic memory management. The language offers special support for real- time applications. Some elements, such as " GOTO " were therefore mainly provided to facilitate machine translations of other languages ​​.

Syntax

HAL / S operates largely free format: For instructions can start at any point on a line and extend over the following lines, and multiple statements can, if desired, be placed in a single line. However, have a special meaning individual characters at the beginning of a line. For example, a line is recognized as a comment and is ignored when compiling if it begins with the letter "C".

A special feature of the HAL / S- syntax is the support of an optional three-line entry format in the three source lines represent a statement. The first and third row are for superscripts ( exponents ) and subscripts (indices ) is used, which enables a type of mathematical notation in the code.

For example, the equation can be written as:

E 2 2 M X = A B S I Otherwise exponent as in Fortran and PL / I are marked with two asterisks; Indices are inserted in brackets preceded by the dollar sign. The above example could be as follows as a one-liner shown:

X = A ** 2 B $ (I) ** 2 naming

The name HAL was chosen by Ed Copps, the founding director of the Inter Metrics that developed the language for NASA, in honor of the MIT colleague Hal Laning. But HAL was also the name of the speaking -board computer of the spaceship from one of the famous science - fiction films, 2001: A Space Odyssey 1968 and is therefore a particularly appropriate name for a space -savvy programming language.

371119
de