Environnement

FICHIERS DE L´ENVIRONNEMENT
MODIFICATIONS DE L´ENVIRONNEMENT
OPTIONS DE LANCEMENT
PLUSIEURS ENVIRONNEMENTS
CONFIGURATION MINIMALE
TRADUCTION

















































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.