Mary




Mary este un limbaj de programare proiectat și implementat de Runit la Trondheim, Norvegia în anii ‘70.

Acesta a împrumutat multe caracteristici de la Algol 68, dar a fost proiectat pentru programarea sistemelor (programare orientată către mașini).

O caracteristică neobișnuită a sintaxei sale a fost aceea că expresiile au fost construite folosind operatorii de infix convenționali, dar toate au avut aceeași prioritate și evaluarea au mers de la stânga la dreapta, cu excepția cazului în care au existat paranteze.

Alocarea avea destinația din dreapta, iar atribuirea a fost considerată doar un alt operator.

Similar cu C, se pare că mai multe caracteristici ale limbajului au existat pentru a permite producerea unui cod rezonabil de bine optimizat, în ciuda unui generator de cod destul de primitiv în compilator.

Acestea au inclus operatori similari cu += ET alter în C și declarații de înregistrare explicite pentru variabile.

Caracteristici notabile: Sintaxa DataFlow-Valorile curg de la stânga la dreapta, inclusiv atribuirea Cele mai multe construcții ar putea fi utilizate în expresii: blocuri, dacă, caz, etc.

Macro-macro-uri recursive bazate pe text, operatori definiți de utilizator, care nu sunt constrânși de identificatori predefiniți ca în C ++ CONSTRUCȚIA AUTOMATĂ ȘI DEREFRERENȚIE DE PONTRU DIN TIPUL TIPULUI TIPURI SCALAR TIPURI ȘI Enumerare Set în Buclă Iteratoare Descriptori dinamici dinamici (ROW) O carte care descrie Maria a fost tipărită în 1974 (a patra și ultima ediție în 1979): Textbook Mary de Reidar Conradi & Per Holager .

Compilatorii au fost făcuți pentru SM-4 și Norsk Date NORD-10/ND-100-calculatoare NORGSBRIG NORGSBRIG NORGSBRIG.

Compilatorul original Mary a fost scris în Nu Algol, a alergat pe seria UNIVAC-1100 și a fost folosit pentru a bootstrap un compilator autohton pentru ND-100/SinTran-III.

Runit a implementat un compilator de chill scris în Mary, care a rulat pe ND-100 și a avut ținte Intel 8086 și 80286.

Când acest compilator a fost portat pe platforma VAX, a fost implementat un backend comun pentru Mary și Chill.

Mai târziu, au fost disponibile backend -uri pentru I386 și SPARC.

Deoarece compilatorul Mary a fost implementat în Mary, a fost posibil să rulați compilatorul pe toate aceste platforme.

Maria nu mai este întreținută.