Mary (Programmiersprache)

Mary war eine Programmiersprache, die entworfen und durch RUNIT an Trondheim, Norwegen in den 1970er Jahren durchgeführt ist. Es hat viele Eigenschaften vom Algol 68 geliehen, aber wurde für die maschinenorientierte Programmierung entworfen.

Eine ungewöhnliche Eigenschaft seiner Syntax war, dass Ausdrücke mit den herkömmlichen Infix-Maschinenbedienern gebaut wurden, aber sie alle hatten dieselbe Priorität und Einschätzung vom linken bis Recht gegangen ist, wenn es Klammern nicht gab. Anweisung hatte den Bestimmungsort rechts, und Anweisung wurde gerade als ein anderer Maschinenbediener betrachtet.

Ähnlich C scheinen mehrere Spracheigenschaften, bestanden zu haben, um Programmierern zu erlauben, vernünftig gut optimierten Code trotz eines ziemlich primitiven Codegenerators im Bearbeiter zu erzeugen. Diese eingeschlossenen Maschinenbediener, die + = ähnlich sind, und verändern sich in C und ausführlichen Register-Behauptungen für Variablen.

Bemerkenswerte Eigenschaften:

  • "Syntax von Dataflow" - schätzt Fluss vom linken bis Recht einschließlich der Anweisung.
  • Die meisten Konstruktionen konnten in Ausdrücken (Blöcke, WENN, FALL, usw.) verwendet werden.
  • Textbasierte rekursive Makros.
  • Überlastete benutzerbestimmte Maschinenbediener, die nicht zu vorherbestimmten Bezeichnern als in C ++ gezwungen sind.
  • Automatisches Gebäude und dereferencing von Zeigestöcken vom Typ-Zusammenhang.
  • Skalarreihe-Typen.
  • Ordnen Sie und setzen Sie Enumeration in der Schleife iterators.
  • Dynamische Reihe-Deskriptoren (REIHE).

Ein Buch, das Mary beschreibt, wurde 1974 (Die vierte und letzte Ausgabe 1979) gedruckt: Lehrbuch von Mary durch Reidar Conradi & Per Holager.

Bearbeiter wurden für den SM-4 von Kongsberg Våpenfabrikk und Norsk Daten Nord-10/ND-100 Minicomputer gemacht. Der ursprüngliche Bearbeiter von Mary wurde im NU Algol geschrieben, ist auf der Univac-1100 Reihe gelaufen und wurde verwendet, um einen heimischen Bearbeiter für ND-100/SINTRAN-III zu urladen. RUNIT hat einen KÜHLEN Bearbeiter durchgeführt, der in Mary geschrieben ist, die auf ND-100 gelaufen ist und Intel 8086 und 80286 Ziele hatte. Als dieser Bearbeiter zur VAX Plattform getragen wurde, wurde ein allgemeiner backend für Mary und KÄLTE durchgeführt. Später waren backends für i386 und SPARC verfügbar. Seitdem der Bearbeiter von Mary in Mary durchgeführt wurde, war es möglich, den Bearbeiter auf allen diesen Plattformen zu führen.

Mary wird nicht mehr unterstützt.

Beispiel

BEGINNEN SIE

INTERNE NUMMER i: = 10; %% Variable mit dem Anfangswert.

BEZÜGLICH DER INTERNEN NUMMER ri: = ich; %% Zeigestock, der initialisiert ist, um zu mir hinzuweisen.

INTERNE NUMMER j: = 11;

j: - BEZÜGLICH DER INTERNEN NUMMER =: ri; %% Typ-Konvertierung und Anweisung

%% ri weist jetzt zu j hin.

i =: (ri:-VAL BEZÜGLICH DER INTERNEN NUMMER);

%% Anweisung und Typ-Konvertierung

%% ri weist zu j hin, so wird j geändert.

WENN j> 10 %% Bedingte Behauptung mit dem Ergebnis

DANN %% verwendet innerhalb eines arithmetischen Ausdrucks.

1

SONST

2

FI + j =: j;

ENDE

Siehe auch

  • ALGOL 68

Marquette, Michigan / Bergsteigen
Impressum & Datenschutz