Frontend in a compiler, is what converts the text code representation of the language into some intermediary format, usually a graph or intermediate language, that is than further processed for type checking and other semantic analysis, suffering other transformations in the process, until fed into the backend, which takes it from there for the further phases required to generate machine code.
I don't understand why you provided that link to goldbolt though? What was it supposed to demonstrate?
Also, you said that one need a backend for a frontend (to be useful I guess). Do you mean to say that the "Carbon" frontend does not have any backend to work with?
No worries, I see some interest there, hence pointing out some literature on the subject, and the LLVM tutorial, as means for getting a better understanding than through plain HN comments.
Frontend in a compiler, is what converts the text code representation of the language into some intermediary format, usually a graph or intermediate language, that is than further processed for type checking and other semantic analysis, suffering other transformations in the process, until fed into the backend, which takes it from there for the further phases required to generate machine code.
https://llvm.org/docs/tutorial/MyFirstLanguageFrontend/index...