On 05/25/2017 05:18 PM, Graeme Geldenhuys wrote:
This is directed at Florian primarily, but any other FPC core member
is welcome to chip in.
Since Florian mentioned that a compiler project is "rocket science"
[not his direct words, but he hinted at that] and totally different to
any other software project... It has really bugged me... Why is it
different, and What is different?
I'm not Florian, but I also have done extensive work on the compiler
(including the 16-bit port).
The answer is: much higher complexity and much tighter coupling between
the different components. Everything depends on everything, basically.
And all of that's caused by necessity, not by bad design, because the
task you're solving is very complex.
Of course, this applies to compilers of the scale of FPC. You can find
much simpler and easier designs in compiler development textbooks, but they:
1) implement a trivial language
2) support only a single platform
3) do very minimal or no optimization
Nikolay
_______________________________________________
fpc-other maillist - fpc-other@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-other