GW-Basic
GW-Basic est un interpréteur pour le langage de programmation Basic développé par Microsoft. Il est fourni avec les DOS Microsoft (MS-DOS) ou IBM des versions 1.0 à 4.0.
| GW-Basic | |
| Date de première version | |
|---|---|
| Influencé par | IBM Advanced BASIC (d) | 
| Licence | Licence MIT[1],[2] | 
La dernière version est la version 3.23.
GW-BASIC est fonctionnellement identique à l'interpréteur BASICA, fourni avec les ordinateurs IBM. Cependant, BASICA a besoin de la ROM BASIC des ordinateurs IBM pour fonctionner ; on ne peut donc pas l'utiliser sur d'autres ordinateurs[3]. Quant à lui, l'exécutable de GW-BASIC contient l'intégralité de l'interpréteur, on peut donc l'utiliser sur tout type de matériel.
Par rapport au Cassette BASIC présent en ROM sur l'IBM PC, BASICA/GW-BASIC se distingue notamment par sa prise en charge des disques, du son et des graphismes.
Exemple de code
    
  5 CLS
 10 INPUT "Quel est votre nom "; NOM$ 
 20 PRINT "Bonjour "; NOM$
 30 INPUT "Combien d'étoiles voulez-vous "; NOMBRE
 40 FOR I = 1 TO NOMBRE
 50 ETOILE$ = ETOILE$ + "*"
 55 NEXT I
 60 PRINT ETOILE$
 70 INPUT "Voulez-vous plus d'étoiles "; ETOILE$
 80 IF LEN(ETOILE$) = 0 THEN GOTO 70
 90 ETOILE$ = LEFT$(ETOILE$, 1)
100 IF (ETOILE$ = "O") OR (ETOILE$ = "o") THEN GOTO 30
110 PRINT "Au revoir ";
120 FOR I = 1 TO 200
130 PRINT NOM$; " ";
140 NEXT I
150 PRINT
| Mot réservé | Signification | 
|---|---|
| CLS | efface l'écran | 
| INPUT | attend une entrée clavier de l'utilisateur a valider avec ENTREE. La question est suivie automatiquement d'un point d'interrogation. | 
| commande d'affichage à l'écran | |
| FOR | début d'une boucle | 
| TO | exécute la boucle jusqu'au nombre voulu | 
| NEXT | fin de la boucle | 
| LEN() | donne la longueur d'un argument chaîne de caractère(s) | 
| OR | opérateur logique "OU" | 
| THEN | alors | 
| LEFT$( ,1) | donne le premier caractère gauche de la chaîne | 
| GOTO | retourne ou va (dans l'exemple) à la ligne 30 | 
| ; | syntaxe qui signifie que, ce qui suit, reste sur la même ligne sans le ";", "NOM$" s'afficherait à la ligne suivante. | 
| " " | syntaxe qui signifie que ce qui est à l'intérieur des guillemets est du texte.
 EX: PRINT 1 et PRINT "1" sont différents dans la mémoire de la machine mais pas à l'affichage (à part un décalage d'une espace pour le 1 numérique)  | 
| NOM$ et ETOILE$ | sont des variables alphabétiques (chaînes) reconnaissables au caractère "$" (Les variables ne sont pas déclarées préalablement comme dans la plupart des autres langages). | 
| NOMBRE et I | variable alphanumérique | 
| 5 à 150 | dans l'éditeur GWBASIC les lignes sont numérotées et commencent à 10, elles s'incrémentent automatiquement de 10 en 10, mais on peut intercaler des lignes comme ici "5 CLS" et "55 NEXT" | 
Références
    
- « https://api.github.com/repos/microsoft/GW-BASIC » (consulté le )
 - « https://github.com/microsoft/GW-BASIC/blob/master/LICENSE »
 - (en) Williams, Gregg, « A Closer Look at the IBM Personal Computer », BYTE, , p. 36 (lire en ligne, consulté le )
 
Liens externes
    
- Code source en assembleur 8088 de GW-BASIC, diffusé sous licence MIT par Microsoft le 21 mai 2020.