Articulo de referencia

C pequeña

Small-C es un subconjunto del lenguaje de programación C , adecuado para microcomputadoras y sistemas integrados con recursos limitados , y una implementación de ese subconjunto...

Small-C es un subconjunto del lenguaje de programación C , adecuado para microcomputadoras y sistemas integrados con recursos limitados , y una implementación de ese subconjunto. Originalmente valioso como uno de los primeros compiladores para sistemas de microcomputadoras disponibles a fines de la década de 1970 y principios de la de 1980, la implementación también ha sido útil como un ejemplo lo suficientemente simple para fines de enseñanza.

El compilador original, escrito en Small-C para el Intel 8080 por Ron Cain, apareció en la edición de mayo de 1980 del Dr. Dobb's Journal . James E. Hendrix mejoró y amplió el compilador original y escribió The Small-C Handbook . Ron instaló Small-C en el sistema Unix SRI International PDP 11 /45 con una cuenta proporcionada por John Bass para el desarrollo de Small C. El código fuente proporcionado se publicó con permiso de la administración en el dominio público . [ cita requerida ] Small-C fue importante para las computadoras pequeñas de una manera algo análoga a la importancia de GCC para las computadoras más grandes. Al igual que sus contrapartes de Unix , el compilador genera código ensamblador , que luego debe traducirse a código de máquina mediante un ensamblador disponible .

Small-C es un compilador redirigido . Para adaptar Small-C solo es necesario reescribir el generador de código de back-end y las llamadas de interfaz de la biblioteca al sistema operativo para el procesador de destino.

Subconjunto del lenguaje

"En mayo de 1980, el Dr. Dobb's Journal publicó un artículo titulado "Un pequeño compilador de C para los 8080", en el que Ron Cain presentó un pequeño compilador para un subconjunto del lenguaje C. La característica más interesante del compilador, además de su pequeño tamaño, era el lenguaje en el que estaba escrito: el que compilaba. ¡Era un autocompilador! (Aunque esto es algo común hoy en día, era una idea bastante novedosa en ese momento). Con un algoritmo simple de una sola pasada, su compilador generó lenguaje ensamblador para el procesador 8080. Sin embargo, al ser pequeño, tenía sus limitaciones. Solo reconocía caracteres, números enteros y matrices unidimensionales de ambos tipos. El único dispositivo de control de bucle era la sentencia while. No había operadores booleanos, por lo que se usaban en su lugar los operadores lógicos bit a bit & (AND) y | (OR). Pero incluso con estas limitaciones, era un lenguaje muy capaz y un placer de usar, especialmente en comparación con el lenguaje ensamblador.

Reconociendo la necesidad de mejoras, Ron me animó a producir una segunda versión, y en diciembre de 1982 también apareció en el diario del Dr. Dobb. El nuevo compilador aumentó Small C con (1) optimización de código, (2) inicialización de datos, (3) compilación condicional, (4) la clase de almacenamiento externo, (5) las instrucciones for, do/while, switch y goto, (6) operadores de asignación de combinación, (7) operadores booleanos, (8) el operador de complemento a uno , (9) variables locales de bloque y (10) varias otras características. Luego, en 1984, Ernest Payne y yo desarrollamos y publicamos una biblioteca de tiempo de ejecución compatible con CP/M para el compilador. Consistía en más de 80 funciones e incluía la mayoría de las de la biblioteca de E/S estándar de UNIX C, las que pertenecían al entorno CP/M. Esta se convirtió en la versión 2.1 y el tema de The Small C Handbook. [1]

Véase también

  • BDS C (1979): compilador de C para sistemas Z80 y 8080
  • MISOSYS C (1985): compilador de C para TRS-80 (CPU Z80)
  • Tiny C (2002): compilador de C para computadoras x86 y ARM lentas que tienen poco espacio en disco

Variantes con C minúscula

Referencias

  1. ^ James E. Hendix. "Introducción". Un compilador Small-C: lenguaje, uso, teoría y diseño. M & T Books 1988 / Dr. Dobb's Journal Developer Network 2005.
  2. ^ "Compiladores de C para BBC Computer". Mdfs.net.

Notas

  • Ron Cain, "Un pequeño compilador de C para los años 8080", Dr. Dobb's Journal , abril-mayo de 1980, págs. 5-19
  • James E. Hendrix, Manual de la C pequeña , Reston 1984, ISBN 0-8359-7012-4 
  • James E. Hendrix, Un pequeño compilador de C: lenguaje, uso, teoría y diseño , M & T Books 1988, ISBN 0-934375-88-7 
  • James E. Hendrix, Compilador de C pequeño , M & T Books 1990, ISBN 1-55851-124-5 
  • Comentarios de Ron Cain sobre la creación de Small-C
  • Varias implementaciones de Small-C
  • Compilador nativo para BBC Computer
  • Descarga de la imagen ISO del CDROM de recursos Small-C del Dr. Dobb
Obtenido de "https://es.wikipedia.org/w/index.php?title=C-Pequeña&oldid=1225175078"