Installation
En construction
Téléchargement
Variables d'environnement
L'exécution de W nécessite la présence de 2 variables d'environnement obligatoire et 1 facultative :
- WBIN ⇒ donne le répertoire de tous les binaires complémentaires aux binaires du langage : bibliothèques partagées (
*.soet*.dll), modules externes*.o. D'éventuels sous-répertoires ne seront pas pris en compte. - WLIB ⇒ donne l'emplacement des programmes W compilés, autonomes et library. Pas de sous répertoire.
- WSRC ⇒ obligatoire pour la compilation, facultatif pour le run-time. Donne le répertoire de base des sources des programmes, fichiers
*.w: utilisé par l'interpréteur et lors de la compilation (pour les instructions include). Ce répertoire sert aussi au debugger. Si cette variable n'est pas renseignée, il ne sera pas possible d'interpréter les sources, et en mode debug le positionnement dans le source originel ne sera pas disponible. A noter que les sources seront recherchés dans l'arborescence présente dans WSRC.
Utilisation
Pour exécuter un programme W, programme principal et library, il faut lancer 3 commandes :
- compilation : le source W est compilé en assembleur W, au format texte
- assemblage : l'assembleur W au format texte est compilé en binaire : ce dernier format est celui reconnu par le run-time W
- exécution : le binaire W est interprété par le run-time W. L'appel d'une library ne peut se faire qu'avec la version binaire W de la bibliothèque appelée
Nota : les modules appelés par invoke sont des librairies partagées au niveau OS (dll sous windows, so sous Unix).
Exécutables complémentaires :
- formatage source W : ce programme permet de (re)formater tout un source W, de manière uniforme
- compilateur de règles lex : ce programme compile les règles lex (format du moteur interne de W), pour pouvoir être utilisé dans les programmes W mais aussi dans le run-time W.
Compilation
> > Usage: lwc [-WSRC:<path>] [-WLIB:<path>] <file>.w >
Le compilateur lwc a besoin de connaître :
- le répertoire contenant les sources, pour trouver le fichier à compiler
<file>.w: variable d'environnement WSRC, ou à défaut la valeur du paramètre -WSRC de la ligne de commande - le répertoire où mettre le fichier résultat, assembleur W au format texte, variable d'environnement WLIB, ou à défaut la valeur du paramètre -WLIB de la ligne de commande
Le compilateur s'arrête à la première erreur rencontrée, en affichant le libellé de l'erreur, la ligne de source concernée et la position de l'erreur.
Une fois le programme W compilé sans erreur, un fichier nommé <file>.wa sera créé dans le répertoire WLIB.
Assemblage
> > Usage: lwa [-c|u] [-WLIB:<path>] <file.wa|file.wp> >
L'assembleur lwa a besoin de connaître le répertoire où lire le fichier assembleur source et où écrire le binaire w généré : contenu de la variable d'environnement WLIB, ou à défaut la valeur du paramètre -WLIB de la ligne de commande. L'assembleur convertit un fichier *.wa en *.wp
L'option -c à l'assemblage permet de compresser le binaire wp généré. Les binaires compressés sont automatiquement pris en charge par le désassembleur (option -u ) et par le runtime w (programme lw ci-dessous).
L'assembleur permet également de désassembler un binaire W en produisant le source assembleur au format texte : mettre l'option -u à la commande. Le désassembleur convertit un fichier *.wp en *.wa. La règle sur le répertoire WLIB est valable pour le désassemblage, comme pour l'assemblage.
Exécution
> > Usage: lw [-d] [-t] [-WBIN:<chemin>] [-WLIB:<chemin>] [-WSRC:<chemin>] <prog> [parms...] >
Le run-time W se lance avec l'exécutable lw. Le run-time W a besoin de connaître :
- le répertoire contenant les binaires de l'OS (librairies utilisées par le run-time), mais aussi les modules sous forme binaire de l'OS (appelés par invoke) : variable d'environnement WBIN, ou à défaut la valeur du paramètre -WBIN de la ligne de commande
- le répertoire où lire les binaires W (programme principal, mais aussi les éventuelles library W), variable d'environnement WLIB, ou à défaut la valeur du paramètre -WLIB de la ligne de commande
Le run-time W se trouve dans un répertoire présent dans le PATH de l'OS, et doit donc être trouvé automatiquement par le shell.
Le répertoire contenant le chemin de base des sources (WSRC) est facultatif. Il est utile si le debugger doit être utilisé.
L'option -d permet de démarrer le run-time en mode debug sur le programme.
L'option -t permet d'afficher dans la console les instruction assembleur exécutés par le run-time, pour le programme demandé.
Le run-time exécute le programme binaire W <prog> (l'extension .wp n'est pas à mettre). A suivre d'éventuels paramètres qui seront utilisés par le programme W (pas par le run-time).
Formatage
> > Usage: lwf <file.w> >
Le formateur lit le fichier entrée, <file.w>, le remet en forme puis écrase le fichier origine avec la version formatée.
La version formatée est également envoyée sur la sortie standard.
Le formatage est fait à la norme W :
- indentation par pas de 3 espaces
- les commentaires de fin de ligne, commençant par
;, sont séparés du code par des espaces pour s'aligner sur un colonage multiple de 8 - les instructions suivantes augmentent le niveau :
begin library background sub if loop foreach
Compilation lex
En construction