~ wrote:I need to make compilers for each language variety, version, language, and CPU architecture.
[...]
I want compilers that have the capability of freely nesting Assembly for any purpose, that don't require linkers, only produce the target assembly code, that can include active code in any place, like JavaScript, not just inside, that can recognize functions and any code element like in JavaScript, which first makes a full parsing to see all existing declarations and then solve the rest of the code in any order without assuming that the functions are unresolved, but above all I need compilers that understand the standard existing languages in all their versions individually in a cleanly packed toolchain collection for each language for being able to use all the existing code and libraries.
It is as I feared. What you are describing -- at a very coarse and abstract level -- is, basically,
reinventing all the wheels. So you want to reimplement compilers for
all lanuages in
all their versions to achieve a not-very-well-defined goal of being...
~ wrote:...able to use natively code from any language fast to my OS more easily than with GCC
When you e.g. say you want to implement a C/C++ compiler that "doesn't need a linker", I cringe. Because I have this nagging suspicion that you don't really know what current implementations actually do,
why they are doing it the way they do, why shortcomings you might perceive in the state-of-the-art actually exist, or how to address them in a way that would actually move the state-of-the-art forward in a meaningful way. (Doing it for
one language would be no mean feat, but you airily set out to do it for "all languages in all their versions"... that's preposterous.)
I mean, what (little you said about what) you want to achieve
sounds nice at first glance, but... have you thought this through before jumping at implementation? Do you have some architecture jotted down for this, explaining your roadmap in some detail?
Because right now it sounds like a lot of "I don't understand all this, I'll just implement it the way I
think it should work, starting with the easy part I
did understand". If your goals were so beneficial and so easily achievable, don't you think somebody would already have done this? So there are apparently problems with "just doing this". Have you identified them?
Lots of work has flown into the existing toolchains. Changing their modus operandi first requires
understanding what has been done before, and making others understand what you are really aiming for. Because, let's face it, even a simple C compiler is nothing done easily by a single person; you
will need help at some point.
And a fully compliant C++ compiler?
Bigger names than yours are falling short of that. C++ is orders of magnitude more difficult to "get right" than C is; it's not just "C with classes" anymore, not by a long shot.
Not even beginning to speak of runtime-supported languages like Java...