install

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
install [2025/12/19 19:50] – [Installation] rootinstall [2026/04/03 14:29] (Version actuelle) root
Ligne 7: Ligne 7:
   * WBIN => donne le répertoire de tous les binaires complémentaires aux binaires du langage : bibliothèques partagées (''*.so'' et ''*.dll''), modules externes ''*.o''. D'éventuels sous-répertoires ne seront pas pris en compte.   * WBIN => donne le répertoire de tous les binaires complémentaires aux binaires du langage : bibliothèques partagées (''*.so'' et ''*.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.   * WLIB => donne l'emplacement des programmes W compilés, autonomes et //library//. Pas de sous répertoire.
-  * WSRC => (facultatif) 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 [[w:instr:include|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.+  * 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 [[reference#include|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 === 
 +<code> 
 +
 +> Usage: lwc [-WSRC:<path>] [-WLIB:<path>] <file>.w 
 +
 +</code> 
 +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 === 
 +<code> 
 +
 +> Usage: lwa [-c|u] [-WLIB:<path>] <file.wa|file.wp> 
 +
 +</code> 
 +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 === 
 +<code> 
 +
 +> Usage: lw [-d] [-t] [-WBIN:<chemin>] [-WLIB:<chemin>] [-WSRC:<chemin>] <prog> [parms...] 
 +
 +</code> 
 +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 === 
 +<code> 
 +
 +> Usage: lwf <file.w> 
 +
 +</code> 
 +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//
  • install.1766173817.txt.gz
  • Dernière modification : 2025/12/19 19:50
  • de root