
Objectifs
Etude des principes, des algorithmes et des techniques de compilation des langages de programmation.
Cahier des charges
- Introduction à la structure générale des compilateurs
- Méthodes d'analyse lexicale, automates d'états finis
- Méthodes d'analyse context-free et techniques de recouvrement d'erreurs (méthodes ascendantes LR et méthodes descendantes LL)
- Traitement de la visibilité, y compris pour les langages avec modules
- Analyse des modes, notions de grammaires attribuées
- Etude des techniques d'allocation de mémoire : 1) les conventions de représentation des structures de données ; 2) les conventions d'organisation de la mémoire
- Définition d'un langage intermédiaire indépendant de la machine assurant une bonne portabilité du compilateur, techniques de gestion d'information statique permettant de générer un tel code
- Génération de code machine au départ du code intermédiaire, avec résolution des problèmes d'allo- cation de registres, de choix des modes d'adressages et des codes opératoire
- Techniques d'optimisation
- Cas particuliers : architectures parallèles, architectures RISC, etc.
Le cours INGI2535 est mentionné dans les programmes suivants :
INFO2 Ingénieur civil informaticien
|