FICHIERS DE L´ENVIRONNEMENT
standard
minimale
exécutable
interpreteur
anyflo
Configuration standard
Une configuration standard d´anyflo contient:
Des exécutables interpreter.exe anyflo.exe
Des fichiers *.js java scripts de lancement d´anyflo (avec différentes configurations)
et des démos.
Le fichier initb.h contenant le nom env du dossier de l´environnement
et les noms *.h des fichiers de configuration:
env/ |
enva.h,koma.h,mesa.h |
envb.h,komb.h,mesb.h |
envc.h,komc.h,mesc.h |
Le dossier env:
contenant ces 9 fichiers:
enva.h: paramètres de configuration de l´interpréteur.
koma.h: noms des mots du langage.
mesa.h: messages émis par l´interpréteur.
envb.h: paramètres de configuration d´anyflo.
komb.h: noms des commandes d´anyflo.
mesb.h: messages émis par anyflo.
envc.h: paramètres de configuration de l´application.
komc.h: noms des commandes de l´application.
mesc.h: messages émis par l´application.
et contenant:
demo0_*.func: démos de l´interpréteur.
demo1_*.func: démos d´anyflo.
d´autres xxx.func: utilitaires.
*.0.htm: helps de l´interpréteur.
*.1.htm: helps d´anyflo.
d´autres xxx.htm: autres helps.
Pour un autre langage xxx que l´anglais le dossier env doit
contenir les fichiers:
Voc_eng et Voc_xxx
qui sont des phrases (en anglais)et leur traduction dans la langue xxx.
Voir generate message.
Remarque:
Une autre extension que xxx peut être
forcée dans le fichier enva.h.
Le dossier exe:
contenant des exécutables *.exe
Le dossier ima des bases de données.
Configuration minimale
Une configuration simplifiée d´anyflo ne contenant que:
AIDE_ANYFLO_WEB.htm: help sur le web
anyflo.exe interpreter.exe
Le dossier env de l´environnement contenant les fichiers enva.h,koma.h,mesa.h,
envb.h,komb.h,mesb.h,envc.h,komc.h,mesc.h, la fonction de test test.func
*.js: fichiers java scripts de lancement
Le fichier initb.h:
env/
enva.h,koma.h,mesa.h
envb.h,komb.h,mesb.h
envc.h,komc.h,mesc.h
Le dossier ima des bases de donnéeacute;es.
Remarque:
Cette configuration, très légère (le zip fait moins de 4 Mo), ne comporte aucun help ni aucune démo ni aucun
outil, cependant ces derniers sont accessibles via le fichier AIDE_ANYFLO_WEB.htm qui
donne accès à la documentation en ligne sur le site d´ATI (une connexion internet
sera nécessaire). Elle doit être téléchragée en cas de modification majeure
(changement de l´indice x de la version anyflo.x.y).
Exécutable:
L´exécutable anyflo.exe ne peut pas fonctionner seul, il lui faut au minimum les fichiers initb.h,
enva.h,koma.h, mesa.h, envb.h, komb.h, mesb.h, envc.h, komc.h et mesc.h de la configuration
minimale.
On pourra télécharger ce fichier dans le dossier racine distribution pour updater l´exécutable
d´anyflo dans le cas de changements mineurs (changement de l´indice y de la version anyflo.x.y).
Fichiers de l´interpreteur
Le fichier
enva.h
contient:
mac = nom de la machine (PC par défaut).
env=dossier de l´environnement (env/ par défaut).
ima=dossier des bases de données (ima/ par défaut).
exe=dossier des exécutables (exe/ par défaut).
buf=dimension du buffer de lecture (100000 par défaut).
eva=dimension du buffer des évaluations (2000000 par défaut).
com=dimension du buffer de compilation.
esc=coode ascii du caractère d´escape (27 par défaut).
voc1=Voc_eng: vocabulaire anglais
voc2=Voc_xxx: vocabulaire de la langue courante
Le fichier
koma.h
contient la liste des commandes de l´interpreteur sous la forme:
Numéro et nom de la commande:
|number: nom
Paramètres:
emp,sem,dim,type
sem = [yes no] com
type=0: com com -> com(com)
type=1: com com -> com com
type<0: Annule l´évaluation
Valeurs par défaut:
v1,v2,...,\
vn,...\n
[n]=v: n valeurs initialisées à v
[n]: n valeurs initialisées à 0
.: Valeurs indéterminées
Des alias (permettant de définir des commandes en plusieurs langues)
peuvent être ajoutés après le nom de la commande:
|number: nom alias1 alias2 ...
Le fichier
mesa.h
contient la liste des messages émis par l´interpreteur:
|number: message
Fichiers d´ANYFLO
Le fichier
envb.h
contient:
Sons:
son=dossier des sons.
Dimensions de l´écran:
x=dimx
y=dimy
Si dimx est nulle: dimx = dimension maximale en x.
Si dimy est nulle: dimy = dimension maximale en y.
Si dimx = h entre 0 et 1: dimx = h * (dimx maximale).
Si dimy = h entre 0 et 1: dimy = h * (dimy maximale).
Déplacement du bas de l´écran:
dy=d: (dimy = Dimy par defaut-dy)
Autre forme: win=x,y
vid: Fenétre vidéo.
ful: Fenétre plein écran.
Coefficients multiplicateurs (orientation des axes x et y):
cx = 1
cy = -1
Nombre de bits d´une composante de la couleur
rvb = 8
Zbuffer:0(off) 1(16 bits) 2(32 bits)
zbu = 0 (off), 1 (16 bits), 2 (32 bits).
Dimension du tableau des aléatoires précalculés:
alea = 10000
Indicateur du processeur lgraphique: 0(off) 1(on)
gra = 0 (off), 1 (on)
Périphériques:
per=
Le fichier
komb.h
contient la liste des commandes ANYFLO selon le même
format que koma.h
Le fichier
mesb.h
contient la liste des messages émis par ANYFLO selon le
même format que mesa.h
MODIFICATIONS DE L´ENVIRONNEMENT
Modification des directories
Pour modifier le nom du directory contenant les fichiers env*, kom* et mes*:
Mettre son nom dans initb.h
Pour modifier le nom du directory contenant les fichiers help*, demo* et outil*:
Mettre son nom dans enva.h
Pour modifier le nom du directory :
Mettre son nom dans enva.h
Modifications des dimensions des piles
En cas de débordement, un message indique clairement le nom de la pile
dont il faut augmenter la dimension.
Exemple: Le message "Debordement, augmentar Dim_mac (dans enva.h)" indique
que la pile des compilations est trop petite (lorsque l´on charge des gros
fichiers de fonctions)
Modification du caractère d´escape
La touche ESCAPE (code ASCII 27) ou l´accent grave (code ASCII 96) permet de
continuer un traîtement:
En mode ´debug´
En animation interactive
Modification des noms de commandes et des messages
Les noms des commandes sont dans les fichiers:
koma.h pour les mots du langage
komb.h pour les mots d´anyflo
Pour faire "parler" ANYFLO une autre langue, il suffit de traduire les
fichiers koma.h, mesa.h, komb.h et mesb.h
Pour lui faire "parler" plusieurs langues en meme temps, un nombre
quelconque d´alias peuvent être ajoutés après chaque nom
Modification du lgraphique
La taille de l´écran, le nombre de bits de la couleur et le nom du
processeur lgraphique sont modifiables
Taille de l´écran
win=1024,768: Definit une image de 1024 par 768
x=0 y=0: Plein écran.
win=1024,768 dy=80: Definit une image de 1024 par 688 et une marge de 80 pixels en bas.
win=vid (ou vid): Definit une image de definition video 768 par 576
win=ful (ou ful): Plein écran. Certains effets indésirables (comme le tremblement de l´image) peuvent
être évités en remplaçant l´option win=ful par x=0 y=0 ou par win=0,0.
win=win: La definition de l´image est dans le fichier win
Originee de l´écran
orx=x ory=y (0,0 par défaut)
Les indicateurs suivants permettent de gérer l´image selon différents modes:
Processeur lgraphique: Mis a 1 si un processeur lgraphique est présent
Modification des noms de device
Pour connecter une tablette ou un magnétoscope, préciser le nom du device
Exemple:
peri1 = /dev/magn
Pour connecter une prise son ou un capteur, préciser le nom du driver
et le nom du device.
Exemple:
aud = audio0 /dev/audio
OPTIONS DE LANCEMENT
Pour obtenir les options de lancement cliquer sur anyflo_help.js (qui lance anyflo avec l´option help).
Options de l´interpreteur
Options d´anyflo
Options de l´interpréteur
Toutes les options du fichier
enva.h peuvent être
modifiées au lancement (elles deviennent alors prioritaires).
Par défaut elles sont:
buf
buf=100000: buffer de lecture.
cod
cod=ccc: décodage selon la cle ccc.
cod=* est le codage super utilisateur.
com
com=100000: buffer des compilation.
deb
deb: debug (permet de suivre le processus de lancement)
emp
emp=10000: empilement des commandes
env
env=env/: dossier de l´environnement.
esc
esc=27: caractère d´escape.
eva
eva=1000000: buffer des evaluations.
exe
exe=exe/: dossier des exécutables.
htm
htm=code_htm: nom du fichier contenant les codes html.
ID
ID: n´écrit pas threadID
lan
lan=f1() f2() f3() ...: fonctions exécutées au lancement.
mac
mac=PC MAC SGI: nom de la machine.
mal
mal=100000: dimension maximum des mallocs.
pri
pri=5000: dimension maximum des prints.
sys
sys: imprime les sysinfo\n");
ima
ima=ima/: dossier des bases de données.
voc
voc1=Voc_eng: vocabulaire anglais.
voc2=voc_fra: vocabulaire français.
Remarque:
voc1=Voc_eng voc2=Voc_eng inhibie les traductions (utile par exemple pour
system("copy fic1 fic2"))
Options d´anyflo
De même Toutes les options du fichier
envb.h peuvent être
modifiées au lancement:
ale
ale=10000: dimension du tableau des aleatoires.
cx cy
cx=1 cy=-1: coefficients multiplicateurs x et de y.
dy
dy=40: le bas de la fenêtre est relevée de 40.
ful: image plein écran.
gra
gra=1: Memoire d´image du processeur lgraphique: 1 (on), 0 (off)
hei
hei=dimx,dimy: dimensions de l´image haute définition en mémoire.
orx ory
orx=x ory=y: origine du coin haut left dr la fenêtre
per=driver: driver d´un périphérique (capteur).
PER=100: fréquence d´affichage.
rvb
rvb=8: Nombre de bits d´une composante R V B.
son
son=/usr/share/data/sounds/soundscheme/soundfiles: Dossier des sons.
vid: définition vidéo.
see: mode interactif en yes see.
win
win=ful: plein écran.
win=vid: vidéo (768 * 576).
win=x,y: dimensions (x * y), si x==0 x=max, si y==0 y=max.
x y
x=600 y=400: écran de taille 600 par 400 pixels.
x=0.5 y=0.5: écran de taille la moitiée de la taille maximum.
x=0 y=0: écran de taille maximum.
0<x<1: x * (dimx plein écran).
0<y<1: y * (dim plein écran).
Exemple:
x=0.5 y=0.5: la fenêtre anyflo aura des dimensions moitiés de celles
du mode plein écran.
zbu
zbu=1: Z_buffer: 0 (off), 1 (16 bits), 2 (32 bits).
1er exemple:
anyflo com=100000 ini=/bin/initb.perso lan=toto()
Lance anyflo avec:
1) Avec le fichier principal /bin/initb.perso
2) Un buffer de compilation de dimension 100000
3) Exécute la fonction toto.func
2eme exemple:
anyflo lan="f0() f1() f2()"
Les fonction f0, f1 et f2 seront exécutées circulairement chaque fois que l´une
d´entre elles fait un return (permet d´enchainer des démos interactives).
Remarque: Il est possible de passer des parametres aux fonctions f:
anyflo lan="f0() f1(0,\"string\") f2(7,(0,1))"
Options complémentaires:
exe=directory des exécutables
exemples:
exe=../
exe=exe
PLUSIEURS ENVIRONNEMENTS
1) Créer plusieurs directories, par exemple:
c:/anyflo_fra: Contenant un environnement complet avec les helps et les demos
en français, et l´exécutable anyflo.exe
c:/anyflo_ang: Contenent les helps et les demos en anglais
2) Créer 2 raccourcis sur le bureau:
anyflo_fra.js contenant:
WshShell.Run("c:/anyflo_fra/anyflo.exe env=env ima=ima win=768,576");
et anyflo_eng.js contenant:
WshShell.Run("c:/anyflo_eng/anyflo.exe env=env ima=ima win=768,576");
3) En réseau (sous Unix):
Si le logiciel est installé dans le directory /usr/anyflo de la machine belle et
que le usr de celle-ci est montée dans /belle, le fichier shell anyflo dans /bin
ressemblera à:
/belle/anyflo/anyflo_INDY env=/belle/anylfo
MINIMAL CONFIGURATION
Anyflo peut tourner sans aucun fichier d´environnement, le seul executable
anyflo.exe et le fichier glut32.dll suffisent, cependans les helps
et les demos ne sont plus accessibles en local ni les conversions des fichiers images.