INF7641 - Devoir 2

Devoir à remettre le mardi 25 février avant 9h par courriel à privat.jean@uqam.ca.

Le travail est individuel.

Opérateurs booleens

L’objectif est d’ajouter les opérateurs logiques booléens traditionnels &&, || et !.

Tâche 1

  • Étendez le langage MiniC avec ces opérateurs.
  • Utilisez la priorité habituelle du C pour ces opérateurs.
  • Attention aux ambiguïtés !

Tâche 2

  • Étendez l’analyse de type pour valider que les opérateurs booléen soient correctement typés. Les trois opérations n’acceptent et ne retournent que des bool.
  • Note: cette sémantique diffère de celle du C.

Tâche 3

  • Étendez l’interpréteur pour implémenter les trois opérations booléennes.
  • Comme en C, assurez-vous que ces opérateurs soient paresseux.

Tâche 4 (à partir du 18 février)

  • Étendez le compilateur naïf pour implémenter les trois opérations booléennes.
  • Toujours paresseux.

Tests

Remise:

Pour la partie 1 (tâches 1, 2 ,3)

  • Envoyez par courriel un patch (diff) unique (un seul commit) applicable sur le tag devoir2 du dépôt de code du cours.
  • Assurez-vous que votre diff soit minimal et se concentre seulement sur les objectifs demandés. Ne touchez pas à des lignes pas rapport.
  • Vous pouvez utiliser la commande git format-patch devoir2..HEAD pour générer un patch à attacher à votre courriel.
  • Voire directement git send-email !
  • Important : si vous forkez le dépôt sur gitlab, passez le en privé !

Devoir 2 : Épisode deux (tâche 4)

  • Même directives. Envoyez un second patch, mais basez vous sur le tag devoir2-episode2
  • Note: vous pouvez faire un seul patch pour les deux épisodes (les 4 tâches) en vous basant sur le tag devoir2-episode2.