- Small-C
-
Small-C es una especificación para un subconjunto del lenguaje de programación C, conveniente para microcomputadores limitados en recursos y para sistema embebidos. También se refiere a la implementación de ese subconjunto de instrucciones. Originalmente de valor como un compilador temprano para los sistemas de microcomputadores disponibles durante finales de los años 1970 y principios de los años 1980, la implementación también ha sido útil como un ejemplo lo suficientemente simple para propósitos 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 extendió el compilador original, y escribió el manual The Small-C Handbook. Ron hizo un Small-C con capacidad de bootstrap, en el sistema Unix PDP 11/45 del Stanford Research Institute, con una cuenta proporcionada por John Bass para el desarrollo del Small C (con el permiso de la gerencia, con tal que las fuentes del compilador fueran lanzadas como dominio público). Small-C era importante para los computadores minúsculos de una forma algo análoga a la importancia del GCC para los computadores más grandes. Tal como sus contrapartes de Unix, el compilador genera código ensamblador, que entonces debe ser traducido al código de máquina por un ensamblador disponible.
Small-C es un compilador redirigible (retargeting compiler). Portar al Small C requiere solo que el generador de código del back-end sea reescrito para el procesador objetivo.
En fecha 2007, Small C, ahora con casi veinticinco años - todavía está siendo usado, portado y estudiado por la gente que quiere aprender cómo se escribe un compilador.
Referencias
- Ron Cain, "A Small C Compiler for the 8080's", Dr. Dobb's Journal, April-May 1980, pp. 5–19
- James E. Hendrix, The Small-C Handbook, Reston 1984, ISBN 0-8359-7012-4
- James E. Hendrix, A Small C Compiler: Language, Usage, Theory, and Design, M & T Books 1988, ISBN 0-934375-88-7
- James E. Hendrix, Small C Compiler, M & T Books 1990, ISBN 1-55851-124-5
Enlaces externos
Wikimedia foundation. 2010.