IFT-3101
Compilation et interprétation

Session d'automne 2019
Professeur: Danny Dubé



Plan de cours présent sur la vitrine de cours.



Lien vers la page web du cours de la session d'hiver 2019.



Notes de cours d'introduction.
Exercices correspondants.



Notes de cours d'aperçu de la matière.
Exercices correspondants.



Notes de cours sur l'analyse lexicale.
Trace d'analyse lexicale.
Exercices correspondants.



Notes de cours sur l'analyse syntaxique.
Trace du fonctionnement de l'algorithme 4.19.
Trace de l'exemple 4.32.
Exercices correspondants.



Notes de cours sur la traduction orientée-syntaxe.
Traces des exemples 5.2, 5.3, 5.11, 5.12, 5.13 et 5.14.
Exercices correspondants.



Notes de cours sur la génération de code intermédiaire.
Exercices correspondants.



Notes de cours sur l'infrastructure d'exécution.
Exercices correspondants.



Notes de cours sur la génération de code.
Exercices correspondants.



Notes de cours sur l'optimisation du code.
Exercices correspondants.



Ancien énoncé du travail pratique #1 de la session H19.
Solutionnaire.
Q: Au numéro 9, devons-nous vérifier que toute l'entrée a été consommée par `S()'?
R: Non, ce n'est pas nécessaire de faire cette vérification. De toute façon, ce n'est pas la tâche de `S()' de vérifier que l'entrée a été consommée au complet. Ce serait la tâche de la fonction qui déclenche l'appel à `S()' de faire cette vérification.
Q: Peut-on avoir le source LaTeX de l'énoncé du TP?
R: Le voici.
Q: Est-ce normal que le TP contienne des questions valant 110 points au total?
R: C'est mon erreur. La note obtenue sera simplement ramenée à un pourcentage.



Ancien énoncé du travail pratique #2 de la session H19.
Solutionnaire.



Ancien énoncé du travail pratique #1 de la session A18.
Solutionnaire du travail pratique #1.
Q: Au numéro 3, qu'est-ce que nous devrions retourner comme jeton et attribut?
R: Je n'ai rien spécifié et vous n'avez pas à retourner quoi que ce soit. Vous pouvez mettre ou omettre un return. Ce ne sera pas pris en compte. Dans le cadre d'un vrai compilateur, il faudrait retourner, disons, un jeton num avec un attribut qui contiendrait la valeur de la constante reconnue.
Q: Au numéro 13, on dit qu'on revient sur la grammaire de la question 5. Ajoute-t-on la production supplémentaire expr -> e où pas?
R: En effet, l'énoncé reste vague à ce propos. Ma réponse est que vous pouvez rajouter cette production si vous le voulez. Ça rajouterait une rangée à la table d'analyse. Dans tous les cas, je ne tiendrai pas compte de cette éventuelle rangée additionnelle. Il est tout à fait possible de construire la table, même sans la production ajoutée. Dans la pratique, cependant, il faudrait absolument avoir la production ajoutée pour avoir un analyseur qui fonctionne.



Ancien énoncé du travail pratique #2 de la session A18.
Solutionnaire du travail pratique #2.
Q: À la fin de l'énoncé, c'est indiqué de faire la remise sur Pixel. C'est plutôt dans monPortail qu'il faut remettre, n'est-ce-pas?
R: Oui, c'est sur monPortail. C'est mon erreur, suite à la récupération du document source d'un ancien énoncé pour préparer l'énoncé actuel.



Instructions aux étudiants pour le remplissage de la fiche de réponses en cas de correction optique.



Dernière modification: 18 octobre 2019.