Turtle EDI


Sommaire :

  1. Introduction
  2. Logiciel et fonctionnalités
  3. Petite Anecdote !
  4. Projet et évolutions
  5. Téléchargement

Introduction

Tout comme 3DPolyViewer (que je vous invite à regarder ici si ce n’est pas déjà fait ;)), ce projet a été réalisé en équipe. Celle-ci comportant 3 membres, il y avait Élodie Estival, Guillaume Pascal et moi même. Ce projet a été réalisé dans le cadre d’un sujet d’Algorithmique en 1ère année de DUT (Avril à Juin 2013).

 

Il a été réalisé sous Qt 4.8.4, qui est un framework C++ très performant et multiplateforme. C’est à dire une suite de logiciels comprenant Qt Creator (IDE), Qt Designer (Mise en forme de fenêtres graphiques), Qt Linguist (aide aux traductions), etc…

Plus de détails sur le site de Qt.

 

Pour structurer et faciliter notre travail au cours du projet, nous avons utilisé le gestionnaire de version Git, notre dépôt étant hébergé sur Bitbucket. Tout ceci permettant d’avoir un contrôle des sources, et une meilleure organisation pour le projet. Ainsi que Visual Studio 2010 pour l’IDE.

 

Nous avions une période d’environ 2 mois pour mener à bien le projet.

 

Je vous présente donc le projet Turtle EDI !

Logo de Turtle EDILogo de Turtle EDI

flèche haut

Le logiciel et ses fonctionnalités

ScreenShot de l'interface de Turtle EDI

Ce logiciel est un IDE pour le développement de code « turtle » (.tur). Le code « turtle » a pour but de prendre le contrôle d’une tortue en la faisant se déplacer et lui demandant de tracer (ou non) son chemin, il peut dans le même temps servir de jeu ! 😉

 

Le logiciel un certain nombre de fonctionnalités que je vais détailler ci-dessous :

Tout d’abord, comme tout bon IDE, le logiciel intègre un éditeur de code, celui-ci indique aussi les numéros de ligne, et une chose qui aidera beaucoup au développement : la coloration syntaxique spécifique au code « turtle ». Elle se charge de mettre en valeur les différentes parties de code (commentaires, instructions, etc…).

Coloration syntaxique sur Turtle EDI

 

L’application possède son propre interpréteur, celui-ci est chargé de réaliser l’analyse syntaxique du code saisie dans l’éditeur, puis ensuite l’exécuter dans une machine virtuelle. Si votre code comporte des erreurs, celles-ci vous seront mentionnées dans le Dock prévu à cet effet.

Listeur des erreurs sur Turtle EDI

 

Le code saisie peut être exécuté sans interruption, ou pas à pas. En effet le logiciel possède son propre Débuggeur. Celui-ci se charge d’afficher dans un Dock (en bas de la fenêtre principale) les informations utiles concernant l’exécution. Il indique aussi l’avancement de l’exécution dans l’éditeur via une flèche.

Flèche du Débuggueur de Turtle EDI

Débuggueur de Turtle EDI

On peut réaliser des tracés avec la tortue de deux façons différentes, soit en exécutant un code turtle, soit en utilisant les flèches directionnelles du clavier. Une fois que l’on a terminé il est possible de sauvegarder ce tracé sous le format .res (disponible via les boutons de l’application). Enfin on peut aussi charger un des tracés que vous auriez pu faire auparavant ! 😀

 

Une autre capacité du logiciel est de pouvoir créer des rendus. En effet il est possible d’exporter des tracés réalisés directement en image. Les rendus peuvent être fait dans les formats .png ou .jpg.

 

Enfin si le style par défaut du trait de la tortue ne vous plait pas (ça sera sûrement le cas :)). Il vous est donc possible de changer plusieurs propriétés du tracé. Que ce soit l’épaisseur du trait, la couleur, le style de trait, etc…

Propriétés de tracé supportées par la tortue de Turtle EDI

 

Il est à noter que l’application supporte l’internationalisation.

 

Enfin le logiciel intègre une aide complète sur les fonctionnalités, ainsi qu’un mémo du jeu d’instructions utilisable et de sa syntaxe. Fort appréciable pour bien développer ! :D

flèche haut

Petite Anecdote 😉

Ce projet nous a été demandé pour terminer notre 1ère année de DUT pour la matière Algorithmie. Lorsque nous avons présenté notre projet, à la fin de la soutenance, notre professeur nous a demandé les sources du logiciel pour pouvoir le donner à son petit fils pour qu’il puisse jouer avec la tortue !
flèche haut

Le projet en bref et évolutions

L’application est actuellement disponible en français et en anglais. Comme je l’ai mentionné, notre logiciel supporte l’internationalisation, il serait donc possible de le traduire dans d’autres langues encore.

 

Ce projet a été plus qu’intéressant à réaliser. En effet, il mettait en jeu des problématiques que nous n’avions pas vu en cours, et qui pourtant, sont captivantes. L’aspect interprétation et exécution est le point central de l’application.

 

Le problème était d’arriver à appliquer des fonctions spécifiques à la tortue (avancer, tourner, etc…), grâce au code écrit dans l’éditeur.

 

Nous avons pour solutionner ce problème, créé un interpréteur spécial au code turtle, et une machine virtuelle qui comporte tout le jeu d’instructions. L’interpréteur parse le code tapé dans l’éditeur, pendant le parsage, on vérifie qu’aucune erreur n’a été commise, car cela pourrait compromettre l’exécution, et donc si cela est possible, grâce au parsage on construit l’arbre syntaxique.

 

Ainsi lors de l’exécution, on demande à exécuter une fonction connue de la machine virtuelle grâce à l’arbre syntaxique généré auparavant par le parseur. Cette mécanique permet donc de rendre le code tapé exécutable.

 

Toutefois si des erreurs fatales sont décelées lors du parsage, on ne peut donc pas exécuter le code, ce qui est tout à fait compréhensible. En effet, il y a 2 types d’erreurs : celles qui empêchent l’exécution, et les autres (référence à la tournure des phrases du 3615 Usul pour les connaisseurs :D). Parmi les autres, il y a des erreurs minimes tel que la mauvaise utilisation de la pile.

Si vous souhaitez plus de détails, faites m’en part.

 

Vous pouvez aussi consulter un autre article sur Turtle EDI, écrit par Guillaume Pascal.
flèche haut

Téléchargement

Si cela vous intéresse, vous pouvez donc dès à présent télécharger ce logiciel GRATUITEMENT ! Grâce au lien ici présent. Vous trouverez dans le .zip des documents annexes pour vous aider à appréhender la syntaxe, ainsi que des codes déjà réalisés à titre d’exemples, ainsi que des tracés sauvegardés. Il est a noter que nous fournissons avec le logiciel un lot de procédures permettant d’écrire, en effet il existe une procédure par lettre de l’alphabet. Retrouvez les dans le fichier alphabet.tur. 😉

 

Notes : Au cours de vos tests si vous rencontrer un problème, plantage, etc.. Veuillez le signalez dans les commentaires, ou me contacter directement sur mon mail.
Contactez moi

 

Vous souhaitez plus de détails à propos de Turtle EDI, demandez moi, je vous répondrais le plus précisément possible, et je rajouterai les remarques pertinentes sur cet article.

 

Vous désirez un article sur Qt, faites moi le savoir par les commentaires, et précisez aussi ce qui vous intéresserait de savoir sur Qt.
flèche haut

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Le temps imparti est dépassé. Merci de recharger le CAPTCHA.

Vous pouvez utiliser ces balises et attributs HTML : <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>