diff --git a/documents/specifLaTex/specificationsDetaillees.pdf b/documents/specifLaTex/specificationsDetaillees.pdf index e87474f..e568c98 100644 Binary files a/documents/specifLaTex/specificationsDetaillees.pdf and b/documents/specifLaTex/specificationsDetaillees.pdf differ diff --git a/documents/specifLaTex/specificationsDetaillees.tex b/documents/specifLaTex/specificationsDetaillees.tex index 4f37ddb..2a4e38c 100644 --- a/documents/specifLaTex/specificationsDetaillees.tex +++ b/documents/specifLaTex/specificationsDetaillees.tex @@ -66,10 +66,40 @@ \chapter*{Introduction} \Large - Texte. Blablabla + Le projet interpréteur LIR a été réalisé selon un modèle de cycle + de vie itératif. Dans ce document des spécifications détaillées du + projet seront présentés les fonctionnalités ajoutées à l'interpréteur + au cours de chaque itération avec les récits d'utilisation des + fonctionnalités ajoutées ou des éléments nécessaires au bon + fonctionnement de l'interpréteur LIR. + + + \large + \chapter{Première itération} + + \section*{Contenu de la première itération} + Dans cette première itération, l'objectif est d'avoir un + prototype de l'interpréteur avec des fonctionnalités de base. + Ces premières fonctionnalités sont les commandes et instructions suivantes : + \begin{itemize} + \item Commande \verb|debut| qui efface toutes les lignes de + programme mémorisées ainsi que tous les identificateurs + mémorisés. + \item Commande \verb|fin| qui quitte l'interpréteur. + \item Commande \verb|defs| qui affiche le contexte de + l'interpréteur, i.e. affiche la liste des identificateurs + définis durant la session avec leur valeur. + \item Instruction \verb|affiche| qui évalue la valeur de + l'expression et l'affiche sur la sortie texte courante ou + alors provoque un saut de ligne sur la sortie texte + courante. + \item Instruction \verb|var| qui affecte la valeur de + l'expression à la variable nommée par l’identificateur. + \end{itemize} + \footnotesize - \chapter{Récits d'utilisation proposés lors de l'itération 1} + \chapter*{Récits d'utilisation proposés lors de l'itération 1} \input{./iteration1/userStoryCommande.tex} \newpage \input{./iteration1/userStoryCommandeDebut.tex} @@ -83,7 +113,36 @@ \input{./iteration1/userStoryExpressionLogique.tex} \input{./iteration1/userStoryExpressionArithmetique.tex} - \chapter{Récits d'utilisation proposés lors de l'itération 2} + \large + \chapter{Deuxième itération} + \section*{Contenu de la deuxième itération} + Dans cette deuxième itération, l'objectif est d'ajouter des + fonctionnalités permettant l'écriture de programmes simple + en LIR, à savoir : + \begin{itemize} + \item Commande \verb|efface| qui efface toutes les lignes + de programme dont le numéro d’étiquette est dans la + plage comprise entre \verb|| et + \verb||. + \item Commande \verb|lance| qui démarre l’exécution d’un + programme à partir de son plus petit numéro d’étiquette + ou du numéro d'étiquette indiqué par l'utilisateur. + \item Commande \verb|liste| qui affiche toutes les lignes de + programme mémorisées dans l'ordre croissant des numéros + de ligne. + \item Instruction \verb|stop| qui arrête l'exécution du programme. + \item Instruction \verb|vaen| qui continue l'exécution à partir + du numéro spécifié par étiquette. + \item Instruction \verb|procedure| qui transfère l'exécution du + programme au numéro d’étiquette spécifié et qui reprendra + en séquence lorsque la procédure sera terminée. + \item Instruction \verb|retour| qui, rencontrée après un appel + de procédure, provoque un retour à l'instruction qui suit + son appel. + \end{itemize} + + \footnotesize + \chapter*{Récits d'utilisation proposés lors de l'itération 2} \input{./iteration2/userStoryCommandeEfface.tex} \newpage \input{./iteration2/userStoryCommandeLance.tex} @@ -97,12 +156,30 @@ \input{./iteration2/userStroryListeArgument.tex} \input{./iteration2/userStroryListeVoid.tex} - \chapter{Récits d'utilisation proposés lors de l'itération 3} + \large + \chapter{Troisième itération} + \section*{Contenu de la première itération} + Dans cette troisième itération, l'objectif est de couvrir toutes + les fonctionnalités attendues. Ces dernières concernent la + lecture et l'écriture de fichier et l'ajout d'une structure de + contrôle à l'interpréteur : + \begin{itemize} + \item Commande \verb|sauve| qui sauvegarde les lignes de + programme dans le fichier texte indiqué en argument. + \item Commande \verb|charge| qui charge dans le contexte + les lignes de programme sauvegardées dans le fichier + texte indiqué en argument. + \item Instruction \verb|si... vaen| : si la condition est + vraie alors l'exécution continuera à partir du numéro + de ligne spécifié par l’étiquette, sinon l'exécution + continuera en séquence. + \end{itemize} + + \footnotesize + \chapter*{Récits d'utilisation proposés lors de l'itération 3} \input{./iteration3/userStoryCommandeSauve.tex} \newpage \input{./iteration3/userStoryCommandeCharge.tex} \input{./iteration3/userStoryInstructionSiVaen.tex} - \input{./iteration3/userStoryInstructionProcedure.tex} - \input{./iteration3/userStoryInstructionRetour.tex} \end{document}