Tampons d'affichage
Syntaxe
dspyst = startbuffer / bufappend / estab;
startbuffer - "start" "buffer";
bufappend = "append" bufstuff $('& bufstuff);
bufstuff = :
"parameters" dspyparm $('. dspyparm) /
"character" exp /
"string"1 strilng /
"vector" ("from" exp ':exp / .empty) "to" exp '. exp /
"position" (onoff / .empty) "beam" "to" exp '= exp/
curve" ;
dspyparm F :
"intensity" "to" exp /
"character" "width" "to" exp /
"blink" onoff /
"italics" onff;
onoff = "on" / "off";
estab = "establish" buffername;
Écran logique
-
L'écran est considéré comme un carré. Les coordonnées sont normalisées de -1 à +1 sur les deux axes.
-
Associé à l'écran se trouve un registre de position, appelé PREG. Le registre est un triplet <x.y.r> où x et y spécifient un point de l'écran et r est une rotation en radians, dans le sens inverse des aiguilles d'une montre, à partir de l'axe des x.
-
L'intensité, appelée INTENSITY, est un nombre réel dans l'intervalle de 0 à 1. 0 est noir, 1 est aussi clair que votre écran peut l'être, et les nombres intermédiaires spécifient le logarithme relatif de la différence d'intensité.
-
Taille du cadre de caractère.
-
Bit de clignotement.
Construction du tampon
-
Les nœuds terminaux des semi-arbres sont soit des noms de semi-arbres, soit des tampons d'affichage. Un tampon d'affichage est une série d'entités logiques, appelées bufstuff.
-
Lorsque le tampon est initialisé, il est vide. Si aucun paramètre n'est ajouté initialement, ceux en vigueur à la fin de l'affichage du dernier nœud du semi-arbre seront en vigueur pour l'affichage de ce nœud.
-
Au fur et à mesure que le tampon est construit, les entités logiques y sont ajoutées. Lorsqu'il est établi comme buffername, le tampon est fermé et tout ajout ultérieur est interdit. Ce n'est qu'une fois qu'un buffername a été établi qu'il peut être utilisé dans une instruction de construction d'arbre.
Dispositifs d'entrée logiques
-
Baguette
-
Joystick
-
Clavier
-
Boutons
-
Crayons optiques
-
Souris
Dispositifs de sortie audio
.end