Obligement - L'Amiga au maximum

Mardi 21 octobre 2014 - 21:56  

Translate

En De Nl Nl
Es Pt It Nl


Rubriques

 · Accueil
 · A Propos
 · Articles
 · Galeries
 · Glossaire
 · Hit Parade
 · Liens
 · Liste jeux Amiga
 · Quizz
 · Téléchargements
 · Trucs et astuces


Articles

 · Actualité (récente)
 · Actualité (archive)
 · Comparatifs
 · Dossiers
 · Entrevues
 · Matériel (tests)
 · Matériel (bidouilles)
 · Points de vue
 · En pratique
 · Programmation
 · Reportages
 · Tests de jeux
 · Tests de logiciels
 · Tests de compilations
 · Articles divers

 · Articles in english
 · Articles in other languages


Twitter

Suivez-nous sur Twitter




Liens

 · Sites de téléchargements
 · Associations
 · Pages Personnelles
 · Moteurs de recherche
 · Pages de liens
 · Constructeurs matériels
 · Matériel
 · Autres sites de matériel
 · Réparateurs
 · Revendeurs
 · Presse et médias
 · Programmation
 · Développeurs logiciels
 · Logiciels
 · Développeurs de jeux
 · Jeux
 · Autres sites de jeux
 · Scène démo
 · Divers
 · Informatique générale


Jeux Amiga

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


Trucs et astuces

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


Glossaire

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


Partenaires

Annuaire Amiga

Amedia Computer

Relec

Hit Parade


Contact

David Brunet

Courriel

 


Test d'ACE
(Article écrit par Cédric Beust et extrait d'Amiga News - avril 1993)


Le point marquant de ce mois dans le monde du domaine public Amiga est sans nul doute ACE, le compilateur BASIC. Comme certains d'entre vous l'ont sûrement remarqué, Commodore a supprimé l'AmigaBasic des disquettes système, ce qui est à mon sens une grosse erreur. Même si celui-ci pêchait par bien des points (notamment la lenteur de réaffichage des fenêtres), il constituait un point d'entrée facile d'accès au monde de la programmation Amiga. Maintenant, les débutants programmeurs ont le choix entre ARexx (parfois difficile à suivre) et C, avec son environnement de compilation qui en a probablement rebuté plus d'un. Espérons qu'ACE viendra combler cette lacune...

ACE, un compilateur de BASIC

ACE est un compilateur de BASIC pour l'Amiga qui produit de l'assembleur pouvant donc être transformé en exécutable via A68K (inclus dans la distribution). Autrement dit, une fois vos programmes écrits, vous obtiendrez un fichier exécutable autonome que vous pourrez déplacer et lancer à tout moment. ACE est compatible avec le système 1.3 aussi bien que le 2.0.

Comment l'utilise-t-on ? C'est très simple. Les exécutables se trouvent dans le répertoire "bin". Un script Shell (bas) appelle pour vous l'enchaînement de programmes nécessaires pour compiler un source dans son intégralité. Quelques assignations suffisent et on peut lancer notre première compilation :

1> assign ACELib: D:Ace/Lib
1> assign ACEInclude: D:Ace/lnclude
1> ace gc
ACE Amiga BASIC Compiler version 1.0, copyright © 1993 David Benn.
Compiling line 706
creating ram:t/gc.s
ram:t/gc compiled with no errors.
68000 Assembler version 2.71 (April 16, 1991)
Copyright 1985 by Brian R. Anderson
AmigaDOS conversion copyright 1991 by Charlie Gibbs.

Assembling ram:tIgc.s

PASS 1 line 5855
PASS 2 line 5855
End of assembly no errors were found.
Heap usage: w2047,64
Total hunk sizes: 4ce0 code, c60 data, cdf8 BSS
Blink Version 6.7 15 October 1986
Copyright @ 1986 The Software Distillery. Ail Rights Reserved.
235 Trillingham Lane, Cary NC 27511 BBS: (919)4716436

BLINK Complete Maximum code size = 99452 ($0001847c) bytes

ACE travaille avec quatre types de variables : les entiers courts signés (deux octets, symbole "%"), les entiers longs signés (quatre octets, symbole "!"), les flottants (symbole "!") et les chaînes (symbole "$"). Il inclut naturellement les instructions habituelles (IF THEN ELSE, WHILE, etc.) et je vais donc plutôt m'attarder sur ses particularités.

Une caractéristique inhabituelle en BASIC et que possède ACE est la possibilité de travailler avec des pointeurs. L'instruction "@<objet>" retourne l'adresse absolue de l'objet, et il est possible de déréférencer des pointeurs avec l'opérateur "*". Ces opérations sur les adresses permettent de simuler le passage de paramètres par référence (comme en C).

Tout comme C, ACE permet l'utilisation de structures. Selon leur déclaration, celles-ci peuvent être allouées directement ou bien être seulement un pointeur sur une zone (qui devra être allouée plus tard). Cela permet de traduire très facilement du code C en ACE avec un minimum d'efforts.

Les sous-programmes en ACE sont semblables à ceux de l'AmigaBasic : ils se déclarent avec "SUB", sont appelés via "CALL" mais surtout, ils peuvent être récursifs (Cf. les exemples hanoi.b, fact.b, tree.b). Par exemple :

sub test  print "hello"
end sub

call test

ACE peut également appeler des routines en assembleur et faire usage de références externes (utiliser des variables et des sous-programmes définis dans d'autres modules). C'est un énorme avantage car cela laisse une plus grande liberté au programmeur qui peut ainsi programmer de façon plus modulaire.

La gestion des arguments sur la ligne de commande est contrôlée par deux variables : ARGCOUNT et ARG$(i) (ACE comprend également les arguments du Workbench, donc les programmes écrits avec ACE peuvent se lancer à la souris à partir du Workbench).

ACE et le système graphique Amiga

ACE est naturellement interfacé étroitement avec le système graphique de l'Amiga, avec notamment la possibilité d'ouvrir et de manipuler des écrans et des fenêtres. Vous pouvez également gérer complètement les fichiers de l'AmigaDOS et aussi utiliser le son. L'interception d'événements se fait par quatre fonctions : BREAK (gestion du Ctrl-C), MENU (pas encore implémenté), MOUSE (le bouton gauche de la souris) et TIMER(n) (crée un événement toutes les "n" secondes). Les événements peuvent ensuite être gérés par la fonction "ON <événement> GOSUB".

Une dernière surprise vous attend : ACE inclut une tortue graphique. Pour ceux qui l'ignorent, la tortue est un outil graphique qui sert de base pour le langage LOGO. Conçu pour être utilisé par de jeunes enfants, le langage LOGO permet de simplifier grandement les manipulations graphiques par l'usage de la tortue et de la récursivité. Étant donné qu'aucun BASIC sur l'Amiga ne proposait ce genre de caractéristique, David Benn a décidé qu'il l'inclurait dans son BASIC...

L'avenir

Les futures améliorations d'ACE se feront dans les domaines suivants : sprites, gadgets (NB : des exemples de la requête de fichiers ARP et des requêtes en général sont déjà incluses dans cette distribution), paramètres variables, passage par référence plus propre, menus.

L'auteur a, dans un premier temps, concentré son effort sur les fonctions qu'il utilise le plus souvent. Maintenant que son compilateur est fiable, il va pouvoir se consacrer à son optimisation et à l'ajout de ce qu'il jugeait moins important que le reste. Ses efforts seront naturellement guidés par les requêtes de ses utilisateurs, alors n'hésitez pas à vous signaler à lui ! (il possède une adresse électronique).

Nom : ACE.
Auteur : David Benn.
Genre : compilateur BASIC.
Date : 1992.
Configuration minimale : Amiga OCS, 68000, 512 ko de mémoire.
Licence : freeware.


[Retour en haut] / [Retour aux articles]