The language started out as an extension of the C programming language which itself was an improved version of B ...
Between B and C was NB (for "New B"); see here. (FYI, your Markdown for the link to B is messed up above.)
It was delivered as a preprocessor of the C compiler, called Cpre.
Cpre was it's own stand-alone C compiler that was used as the starting point for cfront. Depending on how much you want to split semantic hairs, cfront was a trans-piler (or a glorified preprocessor) since it compiled C++ to C.
Also, there was a cfront 3.0 that came between 2.0 and 98. It chiefly added templates. I know because I was a part-time beta tester for it during my time at Bell Labs.
Between B and C was NB (for "New B"); see here. (FYI, your Markdown for the link to B is messed up above.)
Cpre was it's own stand-alone C compiler that was used as the starting point for cfront. Depending on how much you want to split semantic hairs, cfront was a trans-piler (or a glorified preprocessor) since it compiled C++ to C.
Also, there was a cfront 3.0 that came between 2.0 and 98. It chiefly added templates. I know because I was a part-time beta tester for it during my time at Bell Labs.
Cool, thanks for the extra info! (And I fixed the link, thanks!)