Z:gnu-www-ja-stallman-kth--7244c5-Well, since this compiler alre/fr

Bon, puisque ce compilateur avait déjà compilé Pastel, tout ce que j'avais à faire était de rajouter une interface pour le C, ce que je fis, puis d'ajouter une sortie pour le 68000 qui devait être ma première cible. Mais j'allais vers un sérieux problème. Puisque le langage Pastel était conçu de manière à ne pas avoir besoin de déclarer quoi que ce soit avant de l'utiliser, la déclaration d'une variable et son usage pouvaient se faire dans n'importe quel ordre ; en d'autres termes, la déclaration  du Pascal était obsolète. Pour cette raison il fallait lire le programme dans son intégralité, le garder en mémoire centrale [core] et le compiler d'une traite. Le résultat, c'était que le stockage intermédiaire utilisé par le compilateur, ou plutôt la taille de la mémoire requise, était proportionnel à la taille de votre fichier. Et il fallait aussi compter avec l'espace de pile ; vous aviez besoin d'une quantité gigantesque d'espace de pile. J'en ai conclu que le système 68000 dont je disposais ne pouvait pas faire fonctionner ce compilateur. Car c'était une horrible version d'Unix qui vous limitait à quelque chose comme 16 000 mots de pile, ceci en dépit de l'existence de six mégaoctets dans la machine. Et naturellement, pour générer la matrice des conflits afin de voir quelles valeurs temporaires étaient en conflit ou quel groupe de valeurs étaient actives en même temps, il était nécessaire d'avoir une matrice quadratique de bits. Et pour les grandes fonctions cela pouvait prendre des centaines de milliers d'octets. Ainsi je suis parvenu à déboguer la première des quelques dix passes du compilateur en compilation croisée sur cette machine et j'ai constaté alors que la seconde ne pourrait jamais fonctionner.