IHDC 2105

Principes des langages informatiques:

Syntaxe et sémantique des langages de programmation

Titulaire

P.-Y. Schobbens

Objectif

Aborder les bases nécessaires à la compréhension, la compilation et l'interprétation des langages de programmation. Elles servent aussi pour d'autres types de langages.

Statut

Cours obligatoire de 1ère licence à horaire décalé.

Contenu et agenda

Le cours se donne le jeudi de 18h à 21h à l'auditoire I2 (Namur).

Travaux pratiques

Hubert Toussant,

Un exercice intégré couvrant la plupart du cours, vise à réaliser à l'aide d'outils courants (générateurs d'analyseur lexical, syntaxique) le compilateur d'un petit langage vers une une machine virtuelle simple. Il y aura également des séances explicatives. Une heure de séance de TP correspond à 3h de travail personnel: un effort important est donc nécessaire en plus des séances.

Travaux à remettre

Le TP doit être remis avant le début du blocus pour compter pour cette session. La date exacte vous sera communiquée par les assistants. Une évaluation orale sera organisée peu après la date de remise. Il est conseillé de respecter les dates intermédiaires, et de demander une guidance des assistants au long du TP pour éviter de partir dans des voies sans issue.

Modalités d'interrogation

L' examen écrit contribue à une majorité de la cote. Le travail pratique est évalué par un test automatique, la remise d'un rapport puis défense orale (minorité importante de la cote).

Prérequis

Connaissance d'un langage impératif typé (p.ex. Pascal, C, ou Java). Le TP se fait en C: les étudiants l'apprendront par eux-mêmes.

Evaluation de la charge

Une heure de cours devrait correspondre, en moyenne, à 3 heures de travail personnel au total (c’est-à-dire en ce compris le travail en blocus): il est conseillé de consacrer environ la moitié de ce temps à une révision du cours au fur et à mesure.

Références

  1. Aho, Sethi, Ullman: "Compilateurs: principes, techniques et outils", InterEditions/Dunod.
    BUMP  #I  412/037.
  2. Dick Grune, Henri E. Bal, Ceriel J.H. Jacobs, Koen G. Langendoen, Compilateurs, Dunod, 2002. ISBN 2-10-005887-8.
  3. R. Wilhelm, D. Maurer: Les compilateurs: théorie, construction, génération", Masson, 1994.
    BUMP #I  412/030, ISBN 2225846154.
  4. John Levine, Tony Mason & Doug Brown « lex & yacc », 2nd Edition October 1992, ISBN 1-56592-000-7, 366 pages.
  5. B. W. Kernighan & D. M. Ritchie « Le langage C », Masson
  6. La programmation en C, Byron S. Gottfried, Série Schaum, McGraw-Hill, ISBN : 2704212309

Cours enregistré avec transparents (eConf, DviX, Xdiv)

Transparents (ppt, pdf)

Exemples d'examens (pdf)