WikiNotte

LinotteSpec02

PagePrincipale :: ParametresUtilisateur :: Vous êtes ec2-18-205-176-85.compute-1.amazonaws.com
La nouvelle version des spécifications est ici :
Spécification Linotte 0.3

Présentation

Carte d'identité

*Version spécification : 0.2
*Fiche sur Framasoft : http://www.framasoft.net/article4274.html
*Nom : Linotte
*Licence : [http://fsffrance.org/gpl/gpl-fr.fr.html GPL] et http://www.gnu.org/copyleft/fdl.html

Introduction

Soyons fou, écrivons un livre à une [http://fr.wikipedia.org/wiki/Linotte_m%C3%A9lodieuse linotte] !

Un "livre linotte" est une liste d'actions qui va être exécutée par des acteurs.
Il peut être composé d'un ou plusieurs paragraphes. Dans chaque paragraphe, on annonce en premier les acteurs qui vont intervenir ainsi que les rôles et sens qu'ils vont interpréter. Ensuite, on décrit une à une les actions que ces acteurs vont devoir exécuter par l'intermédiaire de phrases simples. Ces phrases sont composées de la façon suivante :
un sujet qui est notre Linotte,
le verbe qui indique l'action à faire,
le COD, notre acteur.

Les différents rôles possibles pour un acteur sont :
nombre, texte et casier.
un casier est une liste de nombres ou de textes.

Pour comprendre l'utilité d'un paragraphe, il suffit de s'imaginer lire un livre dont on est le héros. Suivant l'action demandée, par exemple : "je veux manger" ou "je veux dormir", on ira dans des paragraphes différents.

Autre exemple, on a un acteur que l'on va nommer "ville" avec un rôle texte et un sens :"Paris".
Maintenant, cet acteur, on va lui demander de nous afficher ce qu'il représente.
Sur une scène de théâtre, l'acteur peut par l'intermédiaire de sa voix crier "Paris" ! Sur un écran d'ordinateur, le mode de communication est différent ! On va afficher sur l'écran les lettres du mot "Paris".

Voici donc l'exemple d'un livre Linotte qui va permettre d'écrire sur l'écran de notre ordinateur le nom d'une ville.

Livre la capitale de la France
Paragraphe afficher la ville
Les roles
Ville est un texte avec Paris
Les actions
tu affiches la ville
tu vas vers la sortie

Ce livre Linotte contient :
un seul paragraphe,
un acteur avec un rôle et un sens.
une liste d'actions

Mais, qui est TU ? TU est notre linotte, c'est elle qui lit notre livre et manipule nos acteurs !

En résumé :
On a un livre linotte qui contient des paragraphes, des acteurs qui ont un rôle, un sens et on a des actions destinées à notre linotte pour manipuler nos acteurs.


Particularités

Langage fortement typé.
Pas de notion de fichier.
Les variables sont des fichiers. (Notre linotte a une bonne mémoire !)
Aucune erreur pendant l'exécution, seulement, des erreurs de syntaxe


Structure d'un livre :

Livre nom du livre

Paragraphe nom du paragraphe
Les roles
( définition des variables )
agenda est un casier de texte
(Lecture de la valeur sur le disque dur ou alors création de la variable vide si elle n'existe pas sur le disque.
Une variable est automatiquement créée sur le disque dur et non pas seulement en mémoire. Lorsque le programme termine, elle n'est pas supprimée).
téléphone est un nombre vide
(En ajoutant le mot 'vide', on ne charge pas la valeur du disque dur)
nom est un texte vide
taille est un nombre avec 6
les actions
sujet + verbe au présent + article + COD(acteur ou paragraphe)
( corps du livre )

Les rôles :

Les rôles sont attribués à des acteurs.
nombre
texte
casier ( ne peut avoir que des nombres ou des textes

Les boucles :

POUR CHAQUE acteur ... , TU ...
Attention, il doit y avoir une espace avant et après la virgule !

Les actions :

AFFICHER acteur
Permet d'afficher sur l'écran de l'ordinateur l'acteur.
acteur peut être un nombre ou un texte
DEMANDER acteur
Permet de demander à l'utilisateur de l'ordinateur et d'affecter la valeur donnée à un acteur.
acteur peut être un nombre ou un texte
ALLER VERS paragraphe
Permet de changer de paragraphe dans un même livre.
acteur doit être un paragraphe
COPIER acteur1 DANS acteur2
Permet d'affecter la valeur acteur1 dans acteur2.
acteur1 et acteur2 doivent être du même type
MESURER acteur1 DANS acteur2
Permet de compter le nombre d'éléments dans acteur1 et affecte ce nombre dans acteur2.
Si c'est un texte, il compte le nombre de caractères,
si c'est un casier, il compte le nombre de cases.
acteur1 peut être un casier ou un texte et acteur2 doit être un nombre
VIDER acteur
Si acteur est un nombre, ce verbe avec 0 à l'acteur,
si acteur est un texte, il affecte le texte vide,
si acteur est un casier, il supprime toutes ses cases.
acteur peut être un casier, un texte ou un entier
AJOUTER acteur1 DANS acteur2
Si acteur1 est un nombre, acteur2 peut être un nombre ou un casier
Si acteur1 est un texte, acteur2 peut être un texte ou un casier
Si acteur1 est un casier, acteur2 doit être un casier
REVENIR<br>
permet de continuer une boucle.
SOUSTRAIRE acteur1 DE acteur2
acteur1 et acteur2 doivent être des nombres
LIRE DANS nom_livre : nom_paragraphe
Permet d'aller dans un paragraphe d'un autre livre.
MELANGER acteur
acteur doit être un nombre, texte ou un casier
MULTIPLIER acteur1 PAR acteur2
acteur1 et acteur2 doivent être des nombres
TRIER acteur
acteur doit être un casier


Les conditions possibles pour la commande SI:

si nom est vide alors
si nom est non vide alors
si nom est plus grand que nom alors
si nom est moins grand que nom alors
si nom est egale a nom2 alors
si nom contient nom2 alors

Les articles :


"le ", "la ", "l' ", "les ", "du ", "un ", "une ", "mon " "ma " "ton " "ta " "tes "<br>
Les articles ne doivent pas être utilisés dans la définition des rôles.

Les articles servent à faciliter la lecture d'un livre car il est plus facile de lire :
tu affiches la table
que
tu affiches table

Les acteurs :

Un acteur permet de stocker des valeurs. On attribue à un acteur un rôle. Il peut être nombre, texte, casier.

ville est un texte avec Paris

Un acteur particulier :
*ACTEUR :
Il peut être NOMBRE ou TEXTE, sa valeur est attribuée par la commande POUR CHAQUE.<br>
exemple 1 :
on a le rôle : ma boucle EST UN NOMBRE AVEC 10
on a l'action : POUR CHAQUE ma boucle , TU VAS VERS mon action
Le langage Linotte va affecter la valeur 0 puis aller vers mon action,
il va affecter la valeur 1 puis aller vers mon action,
etc, etc jusqu'à la valeur 9 incluse.
Dans le paragraphe "mon action", l'acteur ACTEUR est automatiquement créé avec le rôle NOMBRE.

exemple 2 :
on a le rôle : mes villes EST UN CASIER DE TEXTE AVEC Paris ET Londres ET Rome
on a l'action : POUR CHAQUE ma ville , TU VAS VERS afficher ma ville
Le langage Linotte va affecter la valeur Paris à ACTEUR puis aller vers afficher ma ville,
il va affecter la valeur Londres à ACTEUR puis aller vers afficher ma ville,
etc, etc
Dans le paragraphe "afficher ma ville", l'acteur ACTEUR est automatiquement créé avec le rôle TEXTE.

*ANNEE :
Contient l'année en cours
*MOIS :
Contient le numéro du moins en cours
*JOUR :
Contient le numéro du jour en cours
*HEURE :
Contient l'heure en cours
*MINUTE :
Contient la minute en cours
*SECONDE :
Contient la seconde en cours

Un paragraphe particulier :
*SORTIE
En l'utilisant avec le verbe ALLER : tu vas vers sortie (ou tu vas vers la sortie ) : on arrête la lecture du livre Linotte.

= Exemples =

Livre : Helloworld

Livre HelloWorld?
Paragraphe hello
Les roles
chaîne est un texte avec HelloWorld?
Les actions
Tu affiches la chaîne
Tu vas vers la sortie

Le Sondage

Livre le sondage
paragraphe on pose la question
les roles
âge est un nombre vide
âge confirmé est un nombre avec 18
question est un texte avec quel est ton âge ?
les actions
tu affiches la question
tu demandes ton âge
si ton âge est plus grand que âge confirmé alors tu vas vers tu es grand sinon tu vas vers tu es petit

paragraphe tu es grand
les roles
langages est un casier de texte avec java et c++ et basic
information est un texte avec a ton âge tu devrais maintenant essayer les langages suivants :
les actions
tu affiches information
pour chaque langages , tu affiches l' acteur
tu vas vers la sortie

paragraphe tu es petit
les roles
information est un texte avec bravo, linotte est un langage fait pour toi !
les actions
tu affiches l' information
tu vas vers la sortie


Variables persistantes

Livre identification auteur
paragraphe on vérifie la variable
les roles
nom est un texte
question est un texte avec quel est ton nom ?
les actions
si ton nom est non vide alors tu vas vers affiche le nom
tu affiches la question
tu demandes ton nom
tu vas vers affiche le nom

paragraphe affiche le nom
les roles
nom est un texte
message est un texte avec ton nom est :
les actions
tu affiches le message
tu affiches ton nom
tu vas vers la sortie

Auteur du document

Ronan Mounès
Juin, septembre, octobre, décembre 2005

Il n'y a pas de commentaire sur cette page. [Afficher commentaires/formulaire]