Obligement - L'Amiga au maximum

Jeudi 27 avril 2017 - 01:35  

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


Soutien

N'hésitez pas à soutenir le projet Obligement



Contact

David Brunet

Courriel

 


Test de PCQ 1.1c
(Article écrit par Cédric Beust et extrait d'A-News (Amiga News) - juillet 1990)


Pourquoi PCQ ? Eh bien... "P" comme "Pascal", "C" comme "compilateur" et... "Q" comme l'initiale de son auteur qui n'a pas voulu se casser la tête. Il avait en effet mieux à faire !

Un compilateur Pascal petit petit, mais... qui marche

D'accord, PCQ n'est pas encore un compilateur complet. Lui manquent les ensembles (set), les articles avec variante, des messages d'erreurs plus explicites et un code un peu plus optimisé. J'ajouterai qu'il n'accepte pas les paramètres de type procédure mais vous conviendrez avec moi que ces aspects ne sont pas vitaux.

Si vous avez suivi jusque-là, vous aurez probablement fait la déduction que PCQ accepte les includes, les articles, les types énumérés, les pointeurs, les tableaux et les chaînes, tout cela en plus du minimum vital de tout compilateur qui se respecte. Voilà pour la partie standard de Pascal.

Plus spécifiquement, PCQ vous autorisera à faire des références externes, des conversions de type à la Modula-2 (du genre 'char(20)') et également de déclarer vos "const", "type" et "var" dans n'importe quel ordre. Autre détail qui a son importance : les sources sont fournis dans leur intégralité, en Pascal. PCQ est d'ailleurs capable de se compiler lui-même (pour ceux que les questions métaphysiques empêchent de dormir et qui se demandent comment un compilateur Pascal écrit en Pascal a pu naître, je les renvoie à la question fondamentale "qui est venu en premier : l'oeuf ou la poule ?").

En utilisation

Voyons maintenant plus précisément comment procéder avec PCQ. Le compilateur s'appelle Pascal et fait environ 95 ko. Il se lance simplement en spécifiant le fichier d'entrée (un ".p") et le fichier de sortie (un ".s"). Comme vous le voyez, il ne produit pas directement un module mais un source en assembleur (en texte, quoi).

Autre question : comment assemble-t-on le fichier produit afin d'obtenir un exécutable, et ce à moindres frais ? Réponse : on fait appel au domaine public. En l'occurrence, l'assembleur utilisé est le bien connu A68K qui est d'ailleurs fourni avec PCQ. Cet assembleur va donc produire un ".o" qu'il suffira de relier pour obtenir l'exécutable promis quelques lignes plus haut. Et comment le relie-t-on ce ".o", hein ? Cette fois, je ne souffle plus. Vous aurez sans aucun doute deviné qu'il s'agit du encore plus connu blink, plébiscité par toutes les bonnes marques de compilateur.

Les exécutables produits ont une taille très raisonnable (du même ordre de grandeur que le MetaComCo pour être précis, sauf que ce dernier produit du meilleur code). En revanche, si vous avez la curiosité de jeter un coup d'oeil sur le ".s" généré par PCQ, vous vous apercevrez que celui-ci prête à sourire (parfois il va même jusqu'à donner). Il n'utilise en tout et pour tout que deux registres dans les expressions, ce qui fait plutôt pauvre sur notre beau processeur qui en possède huit. On n'est pas sur un 8086, que diable ! Enfin bref, c'est gratuit alors on ne peut pas dire qu'on n'en a pas pour son argent...

PCQ possède cependant quelques caractéristiques qu'on regrette parfois de ne pas trouver sur les compilateurs Pascal existants. Les types prédéfinis sont Integer, Short, Byte, Real, Char, Boolean, String, Address, Text et Enumerated. L'adresse de n'importe quelle variable peut être récupérée à l'aide du "@", le résultat étant alors de type Address, soit un pointeur. Sont également implémentées les constantes typées (exemple : CONST Pi: Real = 3.1415). Ne m'en demandez pas plus, je ne vois pas l'intérêt d'une telle chose. Je suppose qu'il s'agit avant tout d'un souci de compatibilité avec Turbo Pascal et Quick Pascal.

Un dernier mot

PCQ est livré avec les documentations complètes de blink et A68K, des includes permettant de faire de la programmation système sur Amiga, l'intégralité des sources permettant de le recompiler et un répertoire contenant une vingtaine d'exemples de programmes.

Nom : PCQ 1.1c.
Développeur : Patrick Quaid.
Genre : compilateur Pascal.
Date : 1990.
Configuration minimale : Amiga OCS, 68000, 512 ko de mémoire.
Licence : freeware.
Téléchargement : Aminet.


[Retour en haut] / [Retour aux articles]