Discussions about open source Ada compilers

Object methods dispatchs are commonly used by GUI toolkits (event callbacks typically). I guess GtkAda or Qt6Ada would seems clumsy presented without object features. But sure, it is not a tool for every thing like an hammer is not the right thing to drive in a screw.

A good hint is OCaml where O means Object… and very most libraries don’t use the object feature. (I only know the Gtk binding !)

I remember using the Alsys Ada83 compiler for PC applications while I was in the Air Force. Using the Zenith PC’s and a 4 MB extended memory card. I remember the rep from Alsys telling me that the compiler was written in Ada and one of the ways they verified the compiler, as you did in those days, was to compile the compiler.

1 Like

I found J. van Katwijk thesis on “Ada-” (Ada minus, a large Ada 83 subset compiler written in C.

Katwijk thesis on Ada minus compiler

The thesis is interesting from various points of view. It underlines the scarcity of information about Ada 83 compilers structure, it has not changed a lot until today. One reason alleged is the huge investment in such daunting tasks as producing Ada 83 compiler implementations. I am on the verge of thinking we will never see an old compiler source code emerging, so much work is in there that those software pieces will disappear with their authors rather than than being given to public eyes.

I wrote my doctoral thesis on machine learning in Pallada Ada for MS-DOS and DEC Ada for VMS.

As far as I know Pallada was initially written in Algol 68 and then bootstrapped into 100% Ada.

I cannot tell anything about DEC VAX Ada 83. It would be interesting to know. Does anybody have an idea?

The DEC compilers were based on GEM which was an architecture/IR, AFAICT. I read a little on it, and was wondering why it wasn’t wide-range adopted. (DEC’s VMS was on Vax, Alpha, Itanium, and now also x86… kinda making it the LLVM of the 80s/90s.)

There’s a VAX hosted by sdf.org that has the DEC Ada compiler installed. You can login as a guest and mess around with it.

There are manuals for the compiler here: https://docs.vmssoftware.com/

3 Likes