Release 1.4 of Pascal-P5
"scott andrew franco" <[email protected]> Thu, 03 Sep 2020 23:49:26 -0700
| Newsgroups | gmane.comp.compilers.gpc |
|---|---|
| Message-ID | <20200903234926.6c61c97e98fe7bb02193b2d6dca4a85a.0b209451aa.mailapi@email15.godaddy.com> |
--===============4013611189347293973== Content-Type: multipart/alternative; boundary="=_ae536df0a428d08c793ab0556a7aabf3" --=_ae536df0a428d08c793ab0556a7aabf3 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=utf-8 ************************** Pascal-P5 1.4 RELEASE **************************= *** You can also find this news at: https://sourceforge.net/p/pascalp5/discussion/news/ WHAT'S NEW IN THE 1.4 RELEASE * ISO 7185 negative and positive tests greatly expanded. * Covers essentially ALL ISO 7185 error cases. * Moved source configuration from SED to CPP (preprocessor). * Now uses separate MPB includes for basic configuration. * Certified for both 32 bit and 64 bit operation in Windows and Linux. * Documentation updates. * Increased available compiler options. * Many bugs fixed. * Source code tracking/debug system now more accurate. * Enhanced regression reporting. * Greatly improved error handling (no more crashes after error). * Compiler/interpreter updated to tighter ISO 7185 standards checking. * Spew checking (fault insertion checking). * Added misspelled symbol and misspelled identifier recovery. * Supressed duplicate errors on same undefined identifier. * Supressed duplicate errors on files not in program header. The 1.4 version of Pascal-P5 is the best tested, most ISO 7185 compliant implementation of the Pascal language available. And at just over 10k lines (total), it's also one of the smallest. It has been extensively checked for operation in three different environments: * Windows 32 bit with DOS shell. * Windows 32 bit with Bash shell. * Linux 64 bit with Bash shell. It's test suite tests for both constructs that comply with the ISO 7185 as well as testing that the compiler rejects constructs that do not comply. It in fact surpasses the old BSI test protocol, which is no longer obtainable in any case. It has also been extensively fault tested by a program that inserts random faults into the source code and tests that the compiler will not crash or halt from simple source errors. The 1.4 update incorporates many elements of Pascal-P6 that apply to the I= SO 7185 standard only. Thus it was brought up to date with Pascal-P6. This is expected to be the last major source code improvement for Pascal-P= 5. Pascal-P5 comes from a long line of Pascal compilers, starting with the fi= rst operational compiler for Pascal in 1973 from ETH Zurich by Niklaus Wirth's group. Nearly 50 years old, it progressed through the versions Pascal-P1 to Pascal-P4, and the versions Pascal-P2 and Pascal-P4 were used as the basis = for many operational Pascal compilers. Pascal-P5 brings it to full ISO 7185 sta= tus, and Pascal-P6 extends the language greatly. Questions: Q1: Does Pascal-P5 generate machine code, or will it ever? A1: No, it is designed to be an ISO 7185 compiler only. There has never be= en an operational compiler that didn't extend the base language of Pascal, includ= ing the original CDC 6000 compiler. Thus I decided to create a new version of Pascal-P, Pascal-P6, that both extended the language and finished aspects o= f Pascal-P that I thought needed addressing, like debug mode and machine code generation. Q2: Does Pascal-P5 have a use? A2: Besides it's use as a model compiler, Pascal-P5 can be used as a "lint= " style utility to verify programs to the ISO 7185 language. For this you wou= ld partition your code into ISO 7185 compliant and non-compliant sections, and= use the cpp provided "include" facility to allow compilation and checking of ju= st the core ISO 7185 part. Q3: Does Pascal-P5 run on Mac OS X? A3: Pascal-P5 needs a host compiler. GPC used to run on the system, but no longer does. FPC runs on Mac OS X, but does not compile the current version= of Pascal-P5. There are mentions on the web of versions of Pascal-P5 that do r= un under FPC, but have been modified from their ISO 7185 form and are likely downrev (from a previous revision) as well. I understand from the FPC group that most or all of the issues have been corrected in tip (the source you g= et directly from git repository), so if you are able to compile a working FPC = from sources, that may work for you. Q4: What is the advantage of the original Pascal/ISO 7185 language? A4: Original Pascal as defined N. Wirth (with T. Hoare and others) was a t= ype safe or protected language, meaning that the program could not crash itself= with accesses beyond the end of an array, or wild pointers, etc. Protected langu= ages experienced a renassance in the 1990s with Java and C#, but Pascal did the = same (and arguably better) decades previously. Most people don't realize this be= cause neither the authors of those languages nor the computer press gave proper c= redit to N. Wirth., and in fact the way pointers are kept type safe in Pascal (a design by T. Hoare) is still better than that of Java and C# (so called "ma= naged pointers"). Futher, many of interpreted languages of today are popular beca= use they are also type safe, even though they are much slower. This is one reas= on I still think there is a place for a language to replace C/C++, that is as fa= st and as versatile, but still type safe/protected. --=_ae536df0a428d08c793ab0556a7aabf3 Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset=utf-8 <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 long= er<br />obtainable in any case. It has also been extensively fault tested b= y 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= =2E</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 Nikla= us Wirth's<br />group. Nearly 50 years old, it progressed through the versi= ons Pascal-P1 to<br />Pascal-P4, and the versions Pascal-P2 and Pascal-P4 w= ere 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 P= ascal, including<br />the original CDC 6000 compiler. Thus I decided to cre= ate a new version of<br />Pascal-P, Pascal-P6, that both extended the langu= age 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 "li= nt"<br />style utility to verify programs to the ISO 7185 language. For thi= s you would<br />partition your code into ISO 7185 compliant and non-compli= ant sections, and use<br />the cpp provided "include" facility to allow com= pilation 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 Pa= scal-P5 that do run<br />under FPC, but have been modified from their ISO 7= 185 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), s= o 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 c= rash 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 pre= viously. 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= =2E, and in fact the way pointers are kept type safe in Pascal (a<br />desi= gn by T. Hoare) is still better than that of Java and C# (so called "manage= d<br />pointers"). Futher, many of interpreted languages of today are popul= ar because<br />they are also type safe, even though they are much slower= =2E This is one reason I<br />still think there is a place for a language t= o replace C/C++, that is as fast<br />and as versatile, but still type safe= /protected.</p> --=_ae536df0a428d08c793ab0556a7aabf3-- --===============4013611189347293973== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Gpc mailing list [email protected] https://www.g-n-u.de/mailman/listinfo/gpc --===============4013611189347293973==--