C – – is a compiler target language which is designed to simplify the work of implementing a compiler which produce high quality machine code.
It is designed it to be generated mainly by compilers for very high-level languages rather than written by programmers.
C – – is developed by Simon Peyton Jones and Norman Ramsey.
C – – in some way is influenced by C. We can say that it is a subset of C (that’s why named as C – –).
It serves as a portable assembly language that could be generated by a front end & implemented by several code generators. It acts as an interface between high-level compilers and retargetable, optimizing code generators.
Some of the merits of C – – over other compiler infrastructures are it support multiple front ends for multiple languages and also provides a run-time interface for the implementation of garbage collection and exception handling.