stringtranslate.com

María (lenguaje de programación)

Mary es un lenguaje de programación diseñado e implementado por RUNIT en Trondheim , Noruega , en los años 1970. Tomó prestadas muchas características de ALGOL 68 pero fue diseñado para programación de sistemas (programación orientada a máquina).

Una característica inusual de su sintaxis era que las expresiones se construían utilizando los operadores infijos convencionales , pero todas tenían la misma precedencia y la evaluación se hacía de izquierda a derecha a menos que hubiera corchetes. La asignación tenía el destino a la derecha y la asignación se consideraba un operador más.

Al igual que C , parecen haber existido varias características del lenguaje para permitir producir código razonablemente bien optimizado, a pesar de un generador de código bastante primitivo en el compilador. Estos incluían operadores similares a += et alter en C y declaraciones de registro explícitas para variables .

Características notables:

En 1974 se imprimió un libro que describe a María (cuarta y última edición en 1979): Mary Textbook de Reidar Conradi y Per Holager.

Se crearon compiladores para las minicomputadoras SM-4 y Norsk Data Nord-10/ND-100 de Kongsberg Våpenfabrikk . El compilador Mary original fue escrito en NU ALGOL , se ejecutó en la serie Univac-1100 y se usó para iniciar un compilador nativo para ND-100 / Sintran -III. RUNIT implementó un compilador CHILL escrito en Mary que se ejecutaba en ND-100 y tenía objetivos Intel 8086 y 80286 . Cuando este compilador se portó a la plataforma VAX , se implementó un backend común para Mary y CHILL. Posteriormente, estuvieron disponibles backends para i386 y SPARC . Desde que el compilador Mary se implementó en Mary, fue posible ejecutar el compilador en todas estas plataformas.

María ya no se mantiene.

Ejemplo

COMENZAR INTyo:= 10; %% Variable con valor inicial. REF INT ri := i; %% Puntero inicializado para apuntar a i. INT j := 11; j :- REF INT =: ri; %% Conversión y asignación de tipos  %% ri ahora apunta a j. yo =: (ri :- VAL REF INT);   %% Asignación y conversión de tipo  %% ri apunta a j, por lo que se cambia j. SI j > 10 %% Declaración condicional con resultado ENTONCES %% usado dentro de una expresión aritmética. 1 DEMÁS 2 FI + j =: j;FIN

Ver también

Referencias