Lucio (lenguaje de programación)

El lucio es un interpretado, de uso general, de alto nivel, plataforma enfadada, lenguaje de programación dinámico, con una sintaxis similar a ese de C. A diferencia de muchas otras lenguas dinámicas, el Lucio tanto estáticamente y dinámicamente se escribe a máquina y requiere definiciones del tipo explícitas. Presenta un sistema del tipo flexible que permite el rápido desarrollo y el código flexible de lenguas dinámicamente escritas a máquina, proporcionando todavía algunas ventajas de una lengua estáticamente escrita a máquina.

El lucio presenta colección de la basura, tipos de datos avanzados y funciones anónimas de primera clase, con el apoyo a muchos paradigmas de programación, incluso la programación orientada al objeto, funcional e imperativa. El lucio es el software gratuito, soltado bajo la GPL, LGPL y licencias de MPL.

Historia

El lucio tiene sus raíces en LPC, que era una lengua desarrollada para BARROS. Los programadores en Lysator en Linköping, Suecia, el más notablemente Fredrik Hübinette y Por Hedbor, separaron la lengua y máquina virtual del resto del conductor del BARRO, y lo usaron como una lengua de la construcción rápida de prototipos para varias aplicaciones, llamándolo LPC4.

La licencia del LPC no permitió el uso con objetivos comerciales, y por tanto una nueva realización de la GPL se escribió en 1994, llamada µLPC (LPC micro).

En 1996, el µLPC se renombró al Lucio a fin de proporcionar un nombre más comercialmente viable. Aunque el nombre de la compañía haya cambiado durante los años, la compañía ahora conocida ya que el software de Internet de Roxen empleó a muchos reveladores del Lucio y proporcionó recursos al desarrollo del Lucio. Roxen también es el nombre de un servidor web desarrollado por la compañía en el Lucio. En 2002, el laboratorio del ambiente de programación en la universidad Linköping asumió el mantenimiento del Lucio de Roxen. Varios programadores del Lucio han encontrado su camino hacia la oficina de Linköping del software de la Ópera, donde la lengua desempeña un papel central en las partes del servidor/entrada de la Ópera aplicación Mini.

Toques de luz de la sintaxis

Hola el mundo

:For una explicación de la tradición de programar "Hola el mundo", ver el programa Hola mundial.

intervalo principal {\

escriba ("¡Hola el mundo! \n");

vuelva 0;

}\

</fuente>

La sintaxis encima requiere un poco de explicación. Aquellos que son familiares con C o C ++ lo deberían recoger en seguida.

Tipos de datos

La lista siguiente muestra todos los tipos de datos estándares que el Lucio provee. Los tipos de datos avanzados como secuencias, colas, montones, pilas, etc. están disponibles en el módulo ADT que se incluye con el Lucio.

Tipos de datos básicos:

Tipos de contenedor:

Otros tipos:

El lucio requiere definiciones del tipo explícitas para todas las variables. Usa esta información para relatar errores del tipo en el tiempo de compilación. El código siguiente causará un error compilar porque el valor del "número" variable debe ser un número entero pero el código intenta asignar el punto flotante y la cuerda valora a ello.

número internacional;//variable del número entero, sólo acepta números enteros

número = 5.5;//5.5 es un valor del punto flotante, error

número = "5";//"5" es una cuerda, no el valor entero 5, error

</fuente>

Esa clase del comportamiento es tradicionalmente considerada restrictiva y limitar por defensores de lenguas dinámicamente escritas a máquina. Sin embargo a diferencia de C, C ++, y Java, el Lucio usa un sistema del tipo más flexible — expresamente, un sistema de uniones etiquetadas. El sistema permite que programadores declaren variables que pueden contener valores de tipos múltiples, algo imposible en la mayor parte de las lenguas de la C-familia sin extraviarse de los límites del uso seguro.

Lo siguiente demuestra una variable que puede sostener un número entero o un número del punto flotante.

número de int|float;//número entero O variable de flotador

número = 5;//esto es legal

número = 5.5;//esto también es legal

</fuente>

Como una variable se puede declarar como sosteniendo muchos tipos de datos diferentes, las funciones se proporcionan para determinar que tipo de datos se almacenan actualmente. Estas funciones son toda la forma typenamep, como en intp, floatp, stringp, etc.

número de int|float;

número = 5;

intp (número);//vueltas que son verdad porque el número sostiene un intervalo

floatp (número);//devuelve falso

número = 5.5;

floatp (número);//vueltas que son verdad porque el número ahora sostiene un flotador

</fuente>

Además, hay un tipo de datos "variado" especial. Esa definición permite que una variable sostenga cualquier clase del tipo de datos.

mezclado algo;

algo = 5;//algo es ahora el valor entero 5

algo = 5.5;//algo es ahora el valor de flotador 5.5

algo = "5";//algo es ahora el valor de la cuerda "5"

</fuente>

A fin de convertir un valor de un tipo al otro, el Lucio puede usar un molde explícito:

mezclado algo;

algo = (intervalo) 5.5;//algo es ahora el valor entero 5

algo = (cuerda) algo;//algo es ahora el valor de la cuerda "5"

</fuente>

Véase también

Enlaces externos



Buscar