Suivez-nous sur Twitter

|
|
|
0,
A,
B,
C,
D,
E,
F,
G,
H,
I,
J,
K,
L,
M,
N,
O,
P,
Q,
R,
S,
T,
U,
V,
W,
X,
Y,
Z
|
|
0,
A,
B,
C,
D,
E,
F,
G,
H,
I,
J,
K,
L,
M,
N,
O,
P,
Q,
R,
S,
T,
U,
V,
W,
X,
Y,
Z
|
|
0,
A,
B,
C,
D,
E,
F,
G,
H,
I,
J,
K,
L,
M,
N,
O,
P,
Q,
R,
S,
T,
U,
V,
W,
X,
Y,
Z
|
|
David Brunet
|
|
|
|
Test de Draco 1.3
(Article écrit par Cédric Beust et extrait d'A-News (Amiga News) - juillet 1990)
|
|
Le Draco nouveau est arrivé
Je vous parlais lors de mon introduction à Draco de la sortie incessante de Draco 1.3.
J'ai reçu de l'auteur il y a quelques semaines la dernière version en date et en voici la description.
Changements
Pas de bouleversements spectaculaires dans cette nouvelle mouture. Le compilateur est de quelques ko
plus gros que son prédécesseur et implémente une liste de petites caractéristiques demandées par ses utilisateurs.
En voici la liste :
- "return" ajouté, comme en C.
- "fallthrough" ajouté dans les "cases", c'est-à-dire que si cette instruction figure dans un des cas,
l'exécution se poursuivra dans le cas suivant (c'est la même chose qu'omettre un "break" en C).
- Davantage d'optimisations - les variables globales peuvent être initialisées statiquement. Par exemple :
[3] int table := (1, 2, 3);
|
Ceci peut se généraliser à des structures qui peuvent contenir des pointeurs sur elle-même.
- Possibilité de déclarer des variables "extern" et "_chip" (placées dans la mémoire Chip, utile pour initialiser
des graphiques ou des données de sons).
- Possibilité d'initialiser une variable avec le contenu d'un fichier (tellement simple et tellement pratique).
Par exemple :
[100] char fichier := read "nom" <offset>
|
Voilà en gros les changements apportés.
Programmes annexes
Comme d'habitude, Draco ne vient pas tout seul. En prime, Chris Gray nous fait cadeau de quelques gourmandises sur
sa disquette, toutes écrites en Draco, naturellement :
dis : dernière version de son désassembleur maintenant bien connu.
fdcompile : utilitaire très pratique pour ajouter des nouvelles bibliothèques dans Draco.
Je vous rappelle brièvement que chaque bibliothèque a son propre "OpenLibrary" (par exemple OpenGraphicsLibrary)
et son fichier associé (par exemple graphics.lib) dans le répertoire "drlib:".
Pour ajouter une bibliothèque, il fallait écrire à la main toutes les interfaces de la bibliothèque concernée
afin de ne pas avoir de références inconnues lors de la reliure. C'est ce fait automatiquement fdcompile.
Celui-ci prend en entrée un ".fd" (en principe délivré avec toute bibliothèque et qui contient les
noms des fonctions, leur offset et les registres à utiliser lors de leur appel) et produit automatiquement un ".lib"
utilisable directement par Draco (en fait, il est capable de générer davantage de chose). L'usage de fdcompile
peut se généraliser pour d'autres langages étant donné que celui-ci peut produire un code source assembleur.
Empire : la dernière version, que Chris Gray ne pouvait pas diffuser avant d'avoir sorti la dernière version
de son compilateur étant donné que c'est celle-ci qu'il a utilisée pour écrire ce jeu qui mériterait à lui seul un
article entier. Peut-être en reparlerons-nous un jour.
HEdit : un éditeur de fichiers en hexa, pratique pour apporter quelques modifications rapides.
Je ne peux vous en dire plus car je n'ai pas eu le temps de tester à fond cette nouvelle version.
Nom : Draco 1.3.
Développeur : Chris Gray.
Genre : langage de programmation.
Date : 1990.
Configuration minimale : Amiga OCS, 68000, 512 ko de mémoire.
Licence : freeware.
Téléchargement : paquatege du 1.2, source du 1.3.
|
|