HAL/S

HAL/S (Zusammenbau-Sprache/Pendelbus der Hohen Ordnung) ist eine Echtzeitraumfahrtprogrammiersprache, die für seinen Gebrauch im Raumfähre-Programm am besten bekannt ist. Es wurde durch die Zwischenmetrik in den 1970er Jahren für NASA entworfen. HAL/S wird in XPL, einem Dialekt von PL/I geschrieben.

Absichten und Grundsätze

Die drei Schlüsselgrundsätze im Entwerfen der Sprache waren Zuverlässigkeit, Leistungsfähigkeit und Maschinenunabhängigkeit. Die Sprache wird entworfen, um raumfahrtzusammenhängenden Aufgaben (wie Arithmetik des Vektoren/Matrix) zu erlauben, in einem Weg vollbracht zu werden, der durch Leute leicht verständlich ist, die spaceflight Kenntnisse haben, aber Kenntnisse mit der Computerprogrammierung nicht notwendigerweise haben können.

HAL/S wurde entworfen, um einige Konstruktionen nicht einzuschließen, die, wie man denkt, die Ursache von Fehlern sind. Zum Beispiel gibt es keine Unterstützung für die dynamische Speicherzuteilung. Die Sprache stellt spezielle Unterstützung für Echtzeitausführungsumgebungen zur Verfügung.

Einige Eigenschaften, wie "GOTO" wurden hauptsächlich zur Verfügung gestellt, um mechanische Übersetzungen aus anderen Sprachen zu erleichtern.

Auf der Einleitungsseite der HAL/S Sprachspezifizierung sagt es,

:fundamental-Beiträge zum Konzept und Durchführung von MAC wurden von Dr J. Halcombe Laning vom Tuchhändler-Laboratorium gemacht.

"HAL" wurde als der Name der neuen Sprache von Ed Copps, einem Gründungsdirektor der Zwischenmetrik angedeutet, Hal Laning, einen Kollegen an MIT zu ehren.

Ein Vorschlag für einen Standard von NASA die Boden-basierte Version von HAL genannt HAL/G für "den Boden" wurde vorgeschlagen, aber das kommende Erscheinen bald, um Programmiersprache von Ada genannt zu werden, hat zum Mangel von Interesse der Zwischenmetrik im Fortsetzen dieser Arbeit beigetragen. Statt dessen würde Zwischenmetrik das betonen, was der "Rote" Finalist sein würde, der nicht ausgewählt würde.

Syntax

HAL/S ist größtenteils Sprache der freien Form: Behauptungen können überall auf einer Linie beginnen und können sich die folgenden Linien ergießen, und vielfache Behauptungen können auf dieselbe Linie auf Anfrage passend sein. Jedoch können Nichtraumcharaktere in der ersten Säule einer Programm-Linie spezielle Bedeutung haben. Zum Beispiel zeigt der Brief 'C' in der ersten Säule an, dass die ganze Linie eine Anmerkung ist und durch den Bearbeiter ignoriert werden sollte.

Eine besonders interessante Eigenschaft von HAL/S ist, dass er, zusätzlich zu einem normalen einzelnen Linientextformat, einem fakultativen Drei-Linien-Eingangsformat unterstützt, in dem drei Quellcodelinien für jede Behauptung verwendet werden. In diesem Format sind die ersten und dritten Linien für Exponenten (Hochzahlen) und Subschriften (Indizes) verwendbar. Das Mehrlinienformat wurde entworfen, um zu erlauben, über den HAL/S-Code zu schreiben, der der mathematischen Notation ähnlich ist.

Als ein Beispiel konnte die Behauptung im einzeiligen Format als geschrieben werden:

X = ** 2 + B$ (I) ** 2 </Code>

Exponentiation wird durch zwei Sternchen, als in PL/I und Fortran angezeigt. Die Subschrift wird durch ein Dollarzeichen mit dem in Parenthesen eingeschlossenen Subschrift-Ausdruck angezeigt. Dasselbe Codebruchstück konnte im Format der vielfachen Linie als geschrieben werden:

E 2 2

M X = + B

S I </Code>

Im Beispiel wird die Grundlinie der Behauptung durch eine 'M' in der ersten Säule angezeigt, die Hochzahl-Linie wird von 'E' angezeigt, und die Subschrift-Linie wird von 'S' angezeigt.

Datentypen

HAL/S hat heimische Unterstützung für ganze Zahlen, Punkt-Skalare, Vektoren, matrices, booleans und Reihen von 8-Bit-Charakteren schwimmen lassend, die auf eine maximale Länge 255 beschränkt sind. Strukturierte Typen können mit einer Behauptung zusammengesetzt werden.

Siehe auch

  • Raumfähre-Avionik-Computer von IBM AP 101
  • Festung, eine Programmiersprache mit der fortgeschrittenen syntaktischen Unterstützung für mathematische Ausdrücke

Links


Suruh / Al-Tall, Acre
Impressum & Datenschutz