Cool (lenguaje de programación)


De Wikipedia, la enciclopedia libre
Saltar a navegación Saltar a búsqueda

Cool , un acrónimo de Classroom Object Oriented Language , es un lenguaje de programación de computadoras diseñado por Alexander Aiken para su uso en un proyecto de curso de compilación de pregrado. Si bien es lo suficientemente pequeño para un proyecto de un período, Cool aún tiene muchas de las características de los lenguajes de programación modernos, incluidos los objetos, la administración automática de memoria, la escritura estática fuerte y la reflexión simple .

El compilador Cool de referencia está escrito en C ++ , construido completamente sobre las herramientas de dominio público. Genera código para un simulador MIPS , SPIM . Por lo tanto, el idioma debería trasladarse fácilmente a otras plataformas. Se ha utilizado para enseñar compiladores en muchas instituciones (como la Universidad de California en Berkeley , donde se utilizó por primera vez o la Universidad Shahid Beheshti de Irán ) y el software es estable.

Este idioma no está relacionado con el idioma COOL incluido en CLIPS .

Características

Como el propósito principal de Cool es la instrucción, carece de muchas de las características comunes a otros lenguajes de programación más generales. Por ejemplo, el lenguaje admite comparaciones menores que pero no mayores que. La sintaxis está muy simplificada y la "biblioteca estándar" contiene solo unas pocas clases básicas. No se admite la compilación separada, aunque el compilador admite varios archivos fuente como entrada. Cada programa Cool debe definir una clase Main que debe tener un método main sin argumentos en el que comienza el flujo de ejecución. Los espacios de nombres no son compatibles.

Ejemplos de

"¡Hola Mundo!":

class Main hereda IO { main (): Objeto { out_string ("¡Hola, mundo! \ n") };
};

Un programa sencillo para calcular factoriales:

class Main hereda IO { main (): Objeto {{ out_string ("Ingrese un número entero mayor o igual que 0:"); dejar entrada: Int <- in_int () en si la entrada <0 entonces out_string ("ERROR: el número debe ser mayor o igual que 0 \ n") demás { out_string ("El factorial de") .out_int (entrada); out_string ("es") .out_int (factorial (entrada)); out_string ("\ n"); } fi; }}; factorial (num: Int): Int { si num = 0 entonces 1 si no num * factorial (num - 1) fi };
};

Referencias

enlaces externos