 lcc ("local c compiler" or "little c compiler") is a small, retargetable compiler for the ansi c programming language. although its source code is available at no charge for personal use, it is not open source or free software according to the usual definitions because products derived from lcc may not be sold. it was developed by chris fraser and david hanson. ==lcc== lcc is intended to be simple to understand and is well-documented; its design is described in fraser and hanson's book a retargetable c compiler: design and implementation. the book includes most of the source code for version 3.6 of the compiler, which was written as a literate program using noweb. as of july 2011 the current version of lcc is 4.2, but much of the book still applies to this version. the major change since the book was published is in the code-generator interface, which is described in a separate document. the source code for lcc is around 20,000 lines, which is much smaller than many major compilers. sao-jie chen, guang-huei lin, pao-ann hsiung, yu-hen hu. "hardware software co-design of a multimedia soc platform". section 5.6.1: lcc compiler infrastructure.  the tiny c compiler is one of the few compilers smaller than lcc. lcc can generate code for several processor architectures, including alpha, sparc, mips, and x86; there is also an lcc backend that generates microsoft's common intermediate language. ==projects incorporating lcc
C_compilers