<p>************************** Pascal-P5 1.4 RELEASE *****************************</p>
<p>You can also find this news at:</p>
<p>https://sourceforge.net/p/pascalp5/discussion/news/</p>
<p>WHAT'S NEW IN THE 1.4 RELEASE</p>
<p>* ISO 7185 negative and positive tests greatly expanded.</p>
<p>* Covers essentially ALL ISO 7185 error cases.</p>
<p>* Moved source configuration from SED to CPP (preprocessor).</p>
<p>* Now uses separate MPB includes for basic configuration.</p>
<p>* Certified for both 32 bit and 64 bit operation in Windows and Linux.</p>
<p>* Documentation updates.</p>
<p>* Increased available compiler options.</p>
<p>* Many bugs fixed.</p>
<p>* Source code tracking/debug system now more accurate.</p>
<p>* Enhanced regression reporting.</p>
<p>* Greatly improved error handling (no more crashes after error).</p>
<p>* Compiler/interpreter updated to tighter ISO 7185 standards checking.</p>
<p>* Spew checking (fault insertion checking).</p>
<p>* Added misspelled symbol and misspelled identifier recovery.</p>
<p>* Supressed duplicate errors on same undefined identifier.</p>
<p>* Supressed duplicate errors on files not in program header.</p>
<p>The 1.4 version of Pascal-P5 is the best tested, most ISO 7185 compliant<br />implementation of the Pascal language available. And at just over 10k lines<br />(total), it's also one of the smallest. It has been extensively checked for<br />operation in three different environments:</p>
<p>* Windows 32 bit with DOS shell.</p>
<p>* Windows 32 bit with Bash shell.</p>
<p>* Linux 64 bit with Bash shell.</p>
<p>It's test suite tests for both constructs that comply with the ISO 7185<br />as well as testing that the compiler rejects constructs that do not<br />comply. It in fact surpasses the old BSI test protocol, which is no longer<br />obtainable in any case. It has also been extensively fault tested by a<br />program that inserts random faults into the source code and tests that the<br />compiler will not crash or halt from simple source errors.</p>
<p>The 1.4 update incorporates many elements of Pascal-P6 that apply to the ISO<br />7185 standard only. Thus it was brought up to date with Pascal-P6.</p>
<p>This is expected to be the last major source code improvement for Pascal-P5.</p>
<p>Pascal-P5 comes from a long line of Pascal compilers, starting with the first<br />operational compiler for Pascal in 1973 from ETH Zurich by Niklaus Wirth's<br />group. Nearly 50 years old, it progressed through the versions Pascal-P1 to<br />Pascal-P4, and the versions Pascal-P2 and Pascal-P4 were used as the basis for<br />many operational Pascal compilers. Pascal-P5 brings it to full ISO 7185 status,<br />and Pascal-P6 extends the language greatly.</p>
<p>Questions:</p>
<p>Q1: Does Pascal-P5 generate machine code, or will it ever?</p>
<p>A1: No, it is designed to be an ISO 7185 compiler only. There has never been an<br />operational compiler that didn't extend the base language of Pascal, including<br />the original CDC 6000 compiler. Thus I decided to create a new version of<br />Pascal-P, Pascal-P6, that both extended the language and finished aspects of<br />Pascal-P that I thought needed addressing, like debug mode and machine code<br />generation.</p>
<p>Q2: Does Pascal-P5 have a use?</p>
<p>A2: Besides it's use as a model compiler, Pascal-P5 can be used as a "lint"<br />style utility to verify programs to the ISO 7185 language. For this you would<br />partition your code into ISO 7185 compliant and non-compliant sections, and use<br />the cpp provided "include" facility to allow compilation and checking of just<br />the core ISO 7185 part.</p>
<p>Q3: Does Pascal-P5 run on Mac OS X?</p>
<p>A3: Pascal-P5 needs a host compiler. GPC used to run on the system, but no<br />longer does. FPC runs on Mac OS X, but does not compile the current version of<br />Pascal-P5. There are mentions on the web of versions of Pascal-P5 that do run<br />under FPC, but have been modified from their ISO 7185 form and are likely<br />downrev (from a previous revision) as well. I understand from the FPC group<br />that most or all of the issues have been corrected in tip (the source you get<br />directly from git repository), so if you are able to compile a working FPC from<br />sources, that may work for you.</p>
<p>Q4: What is the advantage of the original Pascal/ISO 7185 language?</p>
<p>A4: Original Pascal as defined N. Wirth (with T. Hoare and others) was a type<br />safe or protected language, meaning that the program could not crash itself with<br />accesses beyond the end of an array, or wild pointers, etc. Protected languages<br />experienced a renassance in the 1990s with Java and C#, but Pascal did the same<br />(and arguably better) decades previously. Most people don't realize this because<br />neither the authors of those languages nor the computer press gave proper credit<br />to N. Wirth., and in fact the way pointers are kept type safe in Pascal (a<br />design by T. Hoare) is still better than that of Java and C# (so called "managed<br />pointers"). Futher, many of interpreted languages of today are popular because<br />they are also type safe, even though they are much slower. This is one reason I<br />still think there is a place for a language to replace C/C++, that is as fast<br />and as versatile, but still type safe/protected.</p>