Voici un extrait un peu plus long, car le livre est déjà un peu long
Livre : SuissBox
("Spécification 0.6.5 alpha 1")
("calculette programmable")
Grands rôles :
défaut est un texte vide
nomlist est un casier de texte vide
vallist est un casier de casier vide
numlo est un nombre valant 0
meng est un texte vide
mend est un texte vide
exc est un texte vide
possig est un nombre valant 0
obj_t est un polygone,x=10, y=10, angle vaut 0, plein="non", couleur vaut "orange", dx1 vaut 50,dy1 vaut 10,dx2=20,dy2=10
ecrang est une toile, couleur="champagne"
act est un nombre valant 0
créac est un nombre valant 0
eval est un nombre vide
opération est un texte vide
nomvar est un casier de texte vide
valvar est un casier de texte vide
prog est un casier de texte depuis "prog.txt"
saut est un casier de nombre valant -1
lig est un nombre valant 0
code est un texte vide
nbsaut est un nombre valant 0
naf est un nombre valant 0
cond est un texte vide
nb est un nombre vide
cext est un texte vide
poség est un nombre vide
cg est un texte vide
cd est un texte vide
lgc est un nombre vide
var est un texte vide
posv est un nombre vide
colort est un texte valant "rouge"
sig est un nombre valant 0
dist est un nombre valant 0
logot est un nombre valant 0
anglet est un nombre valant 0
posxt & posyt est un nombre valant 0
Lposxt est un casier de nombre vide
Lposyt est un casier de nombre vide
fillt est un nombre valant 0
vid est un texte valant ""
clic est un texte vide
Paragraphe : instruction
Rôles :
Souffleurs :
Actions :
Efface le tableau
Efface la toile
Projette obj_t
Mesure prog dans nb
affiche nb
Explore "ouvrir C:\Documents and Settings\Administrateur.ORKAS\Mes documents\langage linotte\Mes livres\prog.txt"
Affiche prog
Projette ecrang
Appelle Souris
Parcours execution
Termine
Paragraphe : execution
Rôles :
Actions :
Si lig est plus grand que nb-1 alors lis
affiche "TERMINER"
Termine
ferme
Affiche "lig= " +lig
code=prog{lig}
Affiche "code=" + code
("affectation a= ou a=0")
act=0
Mesure code dans lgc
affiche "lgc=" +lgc
Parcours affectation zéro
Attends 1 secondes
Va vers execution
Reviens
Paragraphe : affectation zéro
Rôles :
Actions :
("test si affectation")
Si lgc est plus grand que 1 alors lis
Extrais de code à partir de 1 à 2 dans exc
Si exc est égal à "Si" alors lis
Va vers Si
Reviens
ferme
ferme
Cherche poség, la position de "=" dans code
affiche "poség=" +poség
Si poség est différent de 0 alors Lis
Extrais de code à partir de 1 à poség-1 dans cg
affiche "cg=" +cg
Extrais de code à partir de poség+1 à lgc dans cd
affiche "cd= " + cd
Parcours With var
var=cg
Parcours Dim liste
Parcours Rechvar
Parcours valvar zero
Reviens
ferme
sinon, Parcours Defaut var
Reviens
Paragraphe : valvar zero
Rôles :
Actions :
"VALVAR ZERO"!
Si cd est égal à vid alors Parcours zero
Si cd est égal à "0" alors Parcours zero
sinon, Va vers Defact
lig=lig+1
Reviens
Paragraphe : Dim liste
Rôles :
pos est un nombre
Actions :
Affiche "DIM LISTE"
Cherche pos, la position de "{" dans cg
Si pos est plus grand que 0 alors Lis
Extrais de cg à partir de 1 à pos-1 dans var
Ferme
Si cd{0} est égal à "{" alors lis
Parcours Rechlist
Ferme
Paragraphe : Rechlist
Rôles :
Actions :
"RECHLIST"!
Cherche posv, la position de var dans nomlist
affiche "posv= " + posv
Si posv est égal à 0 alors Lis
Ajoute #var dans nomlist
Mesure nomlist dans posv
affiche "CREATION LISTE"
Crée var un casier de nombre
Vide <
var>
Ajoute 0 dans <
var>
Ajoute <
var>
dans vallist
posv=vallist{0,0}
affiche posv
ferme