I really do not know where to post this. It is not a programming question for sure.
Just asking.
Since running into recent request to "use simpler language to describe the process" in one of the discussions here I am just curious about this.
What is the process Arduino uses to "convert" the x.ino file so the run of the mill C /C++ compiler can work on it actually called ?
Does is have an official name?
There is a common term used in software called "mangling" when things are "adjusted" ( or miss-adjusted ?) to fit some, even just perceived, standard / format.
I would have called it "preprocessing", but the initial phase(s) of work by "the run of the mill C /C++ compiler" (actually, gcc) are also frequently referred to as preprocessing. Perhaps one must specify "Arduino preprocessing" versus "C preprocessing" or "gcc preprocessing".
I know that the Arduino preprocessing includes finding functions and providing function declarations so that newbies don't have to worry about this aspect of C programming. Unfortunately the Arduino preprocesing sometimes puts the declarations in the wrong place, which is why I don't operate this way anymore.
What else does the Arduino preprocessing do? I don't know.
preprocessor is a term already used for the native C compiler architecture.
The preprocessor handles all the #defines and #include and #ifdef stuff a.s.o.
For Sketch/Wiring code I would more likely use a term like "porting" or "transcoding" code to standard C syntax which is performed by a Java VM. It handles lot of Arduino-specific libs and syntax stuff, e.g. porting setup() and loop() to a main() function which is actually the entry point on all C-coded programs, including automatically libs which are not #included by the user explicitely and generates makefile entries for the GCC linker (CMIIW, I am not a computer scientist).
The GCC preprocessor then is supposed to handle the standard pre-compiling tasks.