WikiNotte

LinotteSpec03

PagePrincipale :: ParametresUtilisateur :: Vous êtes ec2-18-221-85-33.us-east-2.compute.amazonaws.com

Carte d'identité

*Version spécification : 0.3
*Nom : Linotte
*Adresse Internet : http://langagelinotte.free.fr/
*Licence : GPL et http://www.gnu.org/copyleft/fdl.html


Introduction

Soyons fou, écrivons un livre à une 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, casier et espèce.

Exemple simple
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 rôles :
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

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.

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.

Les rôles :


Les rôles sont attribués à des acteurs.

nombre
Le rôle nombre permet de stocker des nombres décimaux.
Attention : pour stocker un nombre décimal, il faut utiliser le point et non la virgule.( bogue à corriger !)
Exemple : pi est un nombre avec 3.14
texte
Le rôle texte permet de stocker des chaînes de caractères.
Exemples :
nom est un texte avec Ronald
nom est un texte avec "Des guillemets pour ne pas effacer les espaces"
casier
Le rôle casier est une liste d'acteur.
Il existe deux types de casier : le casier de nombre et le casier de texte.
Attention : l'utilisation du "ET" pour séparer les éléments n'existe plus dans cette version.
Exemple : langage est un casier de texte avec Java, C++, Linotte
espèce
Une espèce est un acteur que l'on constitue avec des caractéristiques. Par exemple, on peut créer l'espèce voiture et indiquer à notre linotte que les voitures sont constituées d'un âge et d'une marque.

Exemple :
[...]
Les espèces :
années est un nombre
marque est un texte
une voiture contient une couleur, une marque
[...]
Les rôles :
clio est une voiture, il a 5 années, la marque est renault
(la syntaxe :
il a [valeur] [acteur]
fonctionne seulement dans le cas d'une création d'un acteur avec un rôle espèce)
[...]
Les actions :
tu demandes la marque de la clio

Les articles :


"le ", "la ", "l' ", "les ", "du ", "un ", "une ", "mon " "ma " "ton " "ta " "tes "<br>
Les articles servent à faciliter la lecture d'un livre car il est plus facile de lire :
tu affiches la table
que
tu affiches table

Attention : les articles ne doivent pas être utilisés dans la définition des rôles.

Les acteurs :


Si on définie les acteurs dans un paragraphe, il ne sera visible que dans celui-ci.
Pour qu'un acteur soit visible dans tout le livre , il faut le déclarer dans la section "des grands rôles" (cf. Structure d'un livre ).

Un acteur permet de stocker des valeurs. On attribue à un acteur un rôle. Il peut être nombre, texte, casier.
exemple :
ville est un texte avec Paris

Acteurs anonymes

Un acteur anonyme est un acteur qui est visible qu'au niveau d'un action car son existence est éphémère.

Exemple : tu calcules le logarithme décimal de "+100"

Il doit être encapsulé entre des guillemets.
Le + (ou le moins - ) permet de dire à Linotte que c’est un nombre sinon Linotte va l’interpréter comme un chaîne :

Exemple : tu affiches "Bonjour !"

Acteurs particuliers

Ces acteurs ont une valeur dynamique définie directement par Linotte. Pour les utiliser, il faut les encapsuler entre des apostrophes.

exemple : tu affiches la 'minute'

* acteur :
voir le chapitre sur les boucles
* année :
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
* version
Contient la version de l'interpréteur Linotte
* auteur
Contient l'auteur de l'interpréteur Linotte
* spécification
Contient la version des spécifications de l'interpréteur Linotte

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.

Structure d'un livre :


Livre : nom du livre

Les espèces :
(définition des espèces que l'on va pouvoir utiliser)
marque est un texte
couleur est un texte
une voiture contient une couleur, une marque

Les grands rôles :
( Ici, on va créer les acteurs qui seront visibles depuis tout le livre )
( même syntaxe que 'Les rôles' )
Paragraphe : nom du paragraphe
Les rôles :
( définition des variables visibles seulement dans la paragraphe )
agenda est un casier de texte
(Lecture de la valeur de la mémoire ou alors création de la variable vide si elle n'existe pas
Une variable est automatiquement créée. Lorsque le programme termine, elle n'est pas supprimée de la mémoire).
téléphone est un nombre vide
(En ajoutant le mot 'vide', on ne charge pas la valeur de la mémoire)
nom est un texte vide
taille est un nombre avec 6
clio est une voiture
les actions :
(sujet + verbe au présent + article + COD(acteur ou paragraphe)
tu affiches le téléphone
tu affiches la couleur de la voiture.
(permet d'afficher l'attribut couleur de l'acteur clio )



Les boucles :

Pour chaque [acteur] ,
Si notre acteur est un nombre, linotte va boucler autant de fois que la valeur de l'acteur. Par exemple, si la valeur de l'acteur est dix, Linotte boucle dix fois.
Si notre acteur est un texte, linotte va boucler pour autant de fois du nombre de lettres dans la valeur de l'acteur. Si la valeur est "demo", Linotte va boucler 4 fois.
Si notre acteur est un casier, linotte va boucler pour autant de fois que le nombre d'éléments dans le casier.
Si notre acteur est une espèce, notre linotte ne sait pas le faire...

Lors de l'utilisation d'une boule, l'acteur qui se nomme acteur est modifié :

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.



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 plus petit que nom alors
si nom est moins grand que nom alors
si nom est moins petit que nom alors
si nom est égal a nom2 alors
si nom contient nom2 alors


Les commentaires :


On peut mettre des lignes, une ligne ou une partie d’une ligne en commentaire. Un commentaire est non interprété par Linotte.
Exemple :

livre : logarithme simple
(Voici un exemple
très simple)
les grands rôles :
nombre est un nombre avec 100

paragraphe : p1

les actions :
tu calcules le logarithme décimal (naturel) de nombre
tu vas vers la sortie

Les actions possible:


Il est impossible d'utiliser directement une espèce dans une action, il faut appeler un attribut : [nom attribut] de [nom acteur]




























Auteur du document


Ronan Mounès
Juin, septembre, octobre, décembre 2005
Août, septembre 2006

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