XL (lenguaje de programación)

La versión actual de la página aún no ha sido revisada por colaboradores experimentados y puede diferir significativamente de la versión revisada el 4 de noviembre de 2015; las comprobaciones requieren 3 ediciones .
SG
clase de idioma multiparadigma : imperativo
Apareció en 2000
Autor Cristóbal De Dinechin [d]
Liberar 0,1 (2010)
Versión de prueba 27-2-2010
sistema de tipos estricto
sido influenciado Adá , C++
Licencia GPLv2
Sitio web xlr.sf.net
sistema operativo Sistema operativo similar a Unix

XL  es la base del lenguaje extensible eXtensible Language. Es un lenguaje de programación diseñado para soportar la programación conceptual .

Descripción

XL proporciona sintaxis y semántica ampliables mediante programación. Los complementos del compilador se pueden usar para agregar nuevas funciones a un idioma. El conjunto básico de complementos se implementa de acuerdo con los lenguajes imperativos estándar. Los programadores pueden escribir sus propios complementos para implementar tareas específicas, como trabajar con otros sistemas numéricos, que luego pueden integrarse simplemente en el lenguaje.

Idioma

XL define tres niveles de abstracción:

XL no tiene tipos primitivos ni palabras reservadas. Todos los operadores y tipos de datos utilizados, como los números enteros o el operador de suma, se declaran en la biblioteca estándar (XL2). XL1 es portátil para ejecutarse en diferentes entornos y plataformas. Pero en XL2 ya no existe tal garantía: si un procesador en particular no admite la multiplicación de punto flotante, entonces la descripción del operador correspondiente en la biblioteca estándar puede omitirse y el uso de dicha multiplicación puede resultar en un tiempo de compilación. error.

Un ejemplo de programa Hello World en XL se ve así:

usar XL.TEXT_IO WriteLn "Hola mundo"

Una ortografía alternativa en un estilo más adecuado para programas ampliamente escalables sería:

importar E/S = XL.TEXT_IO IO.WriteLn "Hola mundo"

Sintaxis

La sintaxis se define en el nivel XL0. El paso de compilación XL0 se puede configurar utilizando la sintaxis del archivo descriptor, que define cómo se presenta el texto y asigna la precedencia del operador. El archivo de sintaxis base define notaciones matemáticas comunes, como "+" para la suma, que generalmente se adoptan en el orden de las operaciones.

El árbol estructural contiene 7 tipos de nodos: 4 nodos de tipo hoja (entero, real, texto y símbolo) y 3 nodos de tipo interno (infijo, prefijo y bloque).

Con un archivo de sintaxis estándar, el siguiente es un XL0 válido independientemente de cualquier semántica.

A = B + "hola"

Después de procesar se verá como:

índice("=", símbolo ("A"), índice("+", símbolo("B"), texto("Hola")))

Enlaces