comp.lang.ada
 help / color / mirror / Atom feed
From: Manuel Collado <m.collado@lml.ls.fi.upm.es>
Subject: Porting from Modula-2 to Ada
Date: Fri, 18 Oct 2002 10:24:34 +0200
Date: 2002-10-18T10:24:34+02:00	[thread overview]
Message-ID: <3DAFC542.152C0EE0@lml.ls.fi.upm.es> (raw)

We are porting some legacy Modula-2/C code to Ada. The code uses
low-level facilities from Modula-2 and C. We would like to port it to
clean Ada, without interfacing to C code. In addition we would like to
keep the old interface unchanged (if possible).

Al present we are looking for ways to manage memory and binary files as
arrays of bytes. The trouble is that Modula-2 allows the use of relaxed
ARRAY OF BYTE subprogram formal parameters, that are compatible with
actual parameters of any type. Example:

   PROCEDURE Xxx( raw: ARRAY OF BYTE );
      ...
   BEGIN
      FOR  k := 0 TO HIGH(raw) DO
         ... raw[k] ....
      END
   END Xxx;

   Num: INTEGER;
   ...
      Xxx( Num );
   ...


So far, my only porting scheme is to replace ARRAY OF BYTE parameters by
the pair (address, size), as follows:

   procedure Xxx (Raw_Address: System.Address; Raw_Size: Integer) ...

   Num: Integer;
   ...
      Xxx (Num'Address, Num'Size);
   ...

But this requires recoding every call to the procedure. Is there another
way to pass raw data without having to recode every call?

Thanks.
-- 
To reply by e-mail, please remove the extra dot
in the given address:  m.collado -> mcollado



             reply	other threads:[~2002-10-18  8:24 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-10-18  8:24 Manuel Collado [this message]
2002-10-18  9:45 ` Porting from Modula-2 to Ada Bernd Specht
2002-10-18 10:33   ` Lutz Donnerhacke
2002-10-18 10:55     ` Jeffrey Creem
2002-10-18 11:21       ` Lutz Donnerhacke
2002-10-18 22:01         ` Jeffrey Creem
2002-10-18 21:29     ` Jeffrey Carter
2002-10-18 21:39       ` Jeffrey Carter
2002-10-18 11:20 ` Nicolas Cailín Paul Gloster
2002-10-18 15:14   ` Pat Rogers
2002-10-24 14:51     ` Colin Paul Gloster
2002-10-25  3:43       ` Dennis Lee Bieber
2003-02-04 14:12       ` Colin Paul Gloster
2003-02-09  6:07         ` Robert I. Eachus
2002-10-19 13:30 ` SteveD
2002-10-22  7:48   ` Manuel Collado
2002-10-22  7:55 ` Manuel Collado
2002-10-22 18:56   ` Jeffrey Carter
2002-10-23  9:08     ` Manuel Collado
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox