Scott Franco - 2016-01-04

Its been a year since I posted news on Pascal-P5. Other work has not permitted much time to work on the project. The basic status items are:

  • The rejection test is down to about four basic issues (once you consider that one fix will take care of several failing tests).
  • Many of the checks were preventing the system from passing regression test. It it is better now, it passes up to compile and run of P4 and P5, but not complete. The remaining checks are all difficult to implement.
  • 64 bit mode is in place, using Linux and GPC in 64 bit mode. However, the workarounds required to get GPC to run are not encouraging, and Mac OS X is basically a writeoff at this point.

I believe I will move towards a 1.2 implementation with incomplete testing and documentation now. Its been too long since there was a formally tested version, and the system is much better than the zipped copy in the files area.

The finalization of the rejection test is important. Pascal-P5 is much more "air tight" than it ever was. In fact, I believe that it does better error checking (as far as sealing the language off from invalid accesses) than any other compiler that is, or ever was. Thus it is very useful, even if the PRT is not %100 complete.

At this point, I believe that GPC is becoming obsolete at a rate that is making it impossible to reliably use. It requires downrev GCC implementations to bind to, and can be very trickly to set up, using undocumented procedures. If I kept going with that effort, I would have to devote a lot of effort and documentation into getting GPC to run on a given system. And that is not the goal here.

I have done/am doing two things to cover this issue.

First, brought back IP Pascal and requalified it for Pascal-P5 use. In the process I found a bug in Pascal-P5. Although IP Pascal is not available for general use, it allows the reliable creation of Pascal-P5 binaries.

Second, I am moving the creation of a machine coder from Pascal-P6 down to Pascal-P5. This will not only have the effect of creating a self compiling Pascal-P5, but will also serve as a code example for Pascal-P5 as well. There won't be any changes in the original pcom.pas/pint.pas workings to achieve that.

Several people reported to me that FPC was now able to compile Pascal-P5 in ISO 7185 mode. After providing some support to these folks, the apparent result was that "FPC is closer to, but not quite able to compile and run it without change". As one of the FPC crew pointed out, even an FPC that compiles and runs it with few changes is valuable. If it happens that FPC can compile and run it with the PAT, I will include support for it. Note that it does not matter if the host compiler can pass a PRT or rejection test. The resulting Pascal-P5 is still fully compliant.

 

Last edit: Scott Franco 2016-01-04