Logo
Table des matières
1 Introduction
Cet exercice a pour objectif de vous montrer comment entrer dans du code existant.
Il vous propose d'enrichir un mini-interprêteur de langage Logo fourni
dans Logo.zip (à exploiter selon la procédure cmake
de ce document).
Une fois que vous avez tout généré, si vous lancez l'exécution de
logo.exe
, le terminal vous affiche :
logo file delay
file: Path of the logo program to run
delay: Delay to allow the user to see how the turtle moves [s]
Sortie de C:\temp\Logo\out\build\x64-Debug\logo\logo.exe (processus 16132). Code : 1.
Dit autrement, ce programme nécessite deux arguments sur la ligne de commande :
- le nom du programme logo à interpréter.
- le délai (exprimé en secondes) pour permettre à l'utilisateur de voir la tortue se déplacer.
La section suivante explique comment spécifier ces deux arguments.
2 Lancement d'un programme nécessitant 2 arguments en ligne de commande
Nous souhaitons que logo.exe
interprète le programme prog0.logo
avec un délai
d'une seconde.
2.1 Visual Studio
- Menu Déboguer > Paramètres de débogage et de lancement pour logo :
Visual Studio ouvre un fichier
launch.vs.json
contenant :
{ "version": "0.2.1", "defaults": {}, "configurations": [ { "type": "default", "project": "CMakeLists.txt", "projectTarget": "logo.exe (logo\\logo.exe)", "name": "logo.exe (logo\\logo.exe)" } ] }
- Remplacez le contenu de ce fichier par :
{ "version": "0.2.1", "defaults": {}, "configurations": [ { "type": "default", "project": "CMakeLists.txt", "projectTarget": "logo.exe (logo\\logo.exe)", "name": "logo prog0.logo", "args": ["resources/prog0.logo", 1] } ] }
- Enregistrez le fichier.
- Dans la 2ème ligne de menu, à droite du triangle vert, cliquez sur
la flèche vers le bas à droite de
logo.exe (logo\logo.exe)
: Un menu déroulant s'affiche. - Sélectionnez
logo prog0.logo
et cliquez sur la flèche verte.
2.2 CLion :
- Menu Run > Edit Configurations
- Pour votre application
logo
, spécifiezresources/prog0.logo 1
dans le champ "Program arguments" - Lancez l'exécution de votre programme C++
3 Travail à faire
Ce mini-interpréteur logo accepte la définition de procédures (pour le
vérifier, exécutez logo
sur prog1.logo
en mettant le délai à 0
au
lieu de 1
si vous voulez que le dessin se fasse plus vite).
Modifiez ce mini-interpréteur logo pour que :
- Il accepte le mot-clé
REPETE
(cf.resources/prog2.logo
). - Il génère le graphique dans un fichier au format SVG (Comme il y a du code mal écrit, cela suppose que vous restructuriez le code).
NB : Avant de vous lancer dans ces modifications, il est recommandé :
- de faire un diagramme UML des classes de ce mini-interprêteur,
- d'exécuter le programme en pas-à-pas avec le débugger pour mieux comprendre son fonctionnement.