Ada is good at compiling files separately. Slowdowns can occur in name resolution, for example in the statement Proc (Fun_1 (Fun_2 (Fun_3 (Fun_4 (Var))))); if you have function names overloaded, the number of combinations the compiler has to consider grows exonentially with the number of nesting levels. So it may take time to find the right combination. I think the Ada 83 compilers were slow because of their experimental status, when the authors tried to implement all the features of the language without worrying about performance. The computer capabilities of those years were minuscule.
In this frontend, they stored the parse tree in the file system:
Diana
Ada is good at compiling files separately. Slowdowns can occur in name resolution, for example in the statement
Proc (Fun_1 (Fun_2 (Fun_3 (Fun_4 (Var)))));
if you have function names overloaded, the number of combinations the compiler has to consider grows exonentially with the number of nesting levels. So it may take time to find the right combination. I think the Ada 83 compilers were slow because of their experimental status, when the authors tried to implement all the features of the language without worrying about performance. The computer capabilities of those years were minuscule.In this frontend, they stored the parse tree in the file system: Diana