An interesting project...Well anyways, I'm a programmer that knows cross-processor asm, C, C++, VC++, VB, Basic (eww), Euphoria (the predecessor to C (and Pascal?)), and am learning Pascal. Anyways, I noticed how GNU Pascal is lacking a standard Pascallian library, and am interested in writing it. I would do so in DGJPP C (not C++: too hard to interface with pascal (i think)), NASM assembly, and possibly something else...however, I would need a few things first:
- your approval
- A standard (borland or watcom or something) Pascal library
reference (or one of each type to write multiple libraries :), with descriptions of what each does etc.
Bpcompat already exists, and as far I am aware most of the stuff is now incorporated in the gpc library. Ah, I have one suggestion - please add FillChar and StrPas to the main library....
- A knowledge of how GNU Pascal calling convention works: (it should
interface nicely with DJGPP-C type, right?), offsets that function paramaters are passed at (i.e. are 16-bit #'s passed as 32-bit #'s), etc.
Did you look at the info file documentation?
If given the above, I would write a full-featured library for use with GNU Pascal (or, at least, get pretty darn close :) that would be almost 100% compatible with normal Pascal libraries, and I would also maintain it, too :) Yes, I realize that this may be a huge task (how long did it take them to write the DJGPP2 libc? :), and that it would take a little while, but hey, it sounds interesting :) and you could take that little 'con' out of the cons section. In addition, non-C (but Pascal) programmers could use your compiler because you'd have a similar-to-Pascal-lib, and they wouldn't have to 'decipher' the c reference :).
I use GNU PASCAL under unix and think that portability is a major asset of this compiler (and the fact it runs under solaris unix too!). What is needed is Pascal units with declarations translating the C include file definitions of system structures and the like. The problem is when we do them they are system specific (platform and OS) e.g. sockets programming under Solaris.
Regards,
Clyde