[ada-france] [GNAT GPL 2007] Compilation d'un example objet du manuel Ada 2005.

Laurent GUERBY laurent at guerby.net
Jeu 9 Aou 19:40:14 CEST 2007


On Thu, 2007-08-09 at 18:19 +0200, Pascal wrote:
> [...] Je traduis des sources de Pascal en Ada avec l'incontournable  
> utilitaire P2Ada (http://blady.perso.orange.fr/a_savoir.html#p2ada)
> J'en viens au Pascal Objet (notamment le Mac Pascal) qui n'a pas la  
> contrainte ci-dessus.

En pascal objet ne faut-il pas englober les primitives
par une construction "class" ? Pour moi ce n'est pas tres
different du type dans package Ada, a un detail
methodologique pres (cf ci apres).

> La traduction automatique en est forcément compliquée.

Pas tant que ça : il faut simplement generer un sous-package
avec les uniquement les types et specs de primitives et le
faire suivre par son les body de primitives, non ?

Pascal :
procedure main
  class X
     procedure Prim is
      ...
     end Prim
  end class
...

Ada :
procedure main
  package XP is
     type X
     procedure Prim(X);
  end XP;

  package body XP
    procedure Prim(X) is begin .. end
  end XP
...



> Simple question : Quelle est la raison racine de ne pas permettre  
> qu'Init puisse être une primitive du type Point dans ma version de  
> basic_obj2 ?

Je pense que ce n'est pas une raison de securite mais plutot
pour forcer le programmeur a declarer des specifications separees
de l'implementation. (Il y a peut etre des details tres techniques
lies au "freezing point".)

Laurent




Plus d'informations sur la liste de diffusion Ada-France