New version of the Stanford Pascal compiler

"Bernd Oppolzer berndoppolzer-/[email protected] [H390-MVS]" <[email protected]> Mon, 6 Nov 2017 10:50:10 +0100
Newsgroups gmane.comp.emulators.hercules390.mvs,gmane.comp.emulators.hercules390.vm
Message-ID <[email protected]>
--------------CCCC1310A34CA1EAAB1BBF31
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 8bit

Hello H390-MVS list,
hello H390-VM list,

the new 11.2017 release of the Stanford Pascal compiler is now available 
for MVS (TK4-) and Windows;
new versions for VM/CMS and OS/2 will follow soon.

The new compiler version is in many aspects much better than the 
previous version;
many hidden errors (some of them 40 years old) have been corrected. More 
details below.

The new version of PASFORM (source code formatter) now uses the same 
symbol scanner
as the compiler (PASSCAN) and now supports C++ style comments, too.
Thereis anyway much room for improvements, but this redesign is a good 
starting point.

Regarding old errors:

it turned out, that the old compiler not only did a sub-optimal job, 
when diagnosing syntax errors, see, for example:

838 SETSTRING = array [ 1 .. MAXSETLx ] of CHAR ;
                                     !
+++ Error P104: IDENTIFIER IS NOT DECLARED

the old compiler showed an additional error P107: INCOMPATIBLE SUBRANGE 
TYPES;
this was one of the easier situations to fix. Sometimes there were up to 
three messages
which followed a simple P104 error, although not helpful.

But the old compiler even crashed on very simple situations:

4653 else
         !
+++ Error P006: ILLEGAL SYMBOL

the old compiler crashed in this situation without producing a listing;
the error was a semicolon before the else which should not be there.

I detected most of these errors, because I activated the runtime checks 
in the previous version
of the compiler (which were off in the last 40 years), and then, when 
trying to fix the
runtime error messages (for example subrange errors etc.), I discovered 
the use of
uninitialized variables etc.

IMO, the compiler now is much better and much more stable than before,
although there will be situations, of course, where the reaction on certain
syntax errors will not be satisfactory.

Once again, I would like to emphasize that runtime checks (like checking 
of array bounds
and subranges and enum values) are crucial when developing secure software;
at least that's my opinion, which is approved by this experience.

The new compiler version is available from the website 
http://bernd-oppolzer.de/job9.htm 
<https://l.facebook.com/l.php?u=http%3A%2F%2Fbernd-oppolzer.de%2Fjob9.htm&h=ATP81Co7fs9Gh-RWu_RJNYCC3dmNebHYSCq9_7LIblA_FiLR_tJb4OeXRN5mheGWWDZmc9sryEM-Og_fncHC-DCA8jYZ9Qk7tZ_mNhy1zH0CZmsbOv50MzkfGhrmfUOKWcQ19j3XkNwqGIb3A04LnUwEVyNpdSHOOwjS6e6tqNEOqvsofNJ3TwV05Q5tkpME8B2iEteR3JFfZGTD1vFhcI2sW_ncSdZckbKnFlg-XMdacMohgjltvkByKVE7tvp0IwEg2xi6JKh2NCF6g8Up45h0BoBxnU7OwmvTPuU>, 
as usual.
Additions informations on this FB page: 
https://www.facebook.com/StanfordPascal/

Best regards, have a nice day

Bernd Oppolzer



--------------CCCC1310A34CA1EAAB1BBF31
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: 8bit




<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
</head>






 
<body style="background-color: #fff;">
<span style="display:none">&nbsp;</span>

<!--~-|**|PrettyHtmlStartT|**|-~-->
<div id="ygrp-mlmsg" style="position:relative;">
  <div id="ygrp-msg" style="z-index: 1;">
<!--~-|**|PrettyHtmlEndT|**|-~-->

    <div id="ygrp-text" >
      
      
      <p>
  
  
    <p>Hello H390-MVS list, <br>
      hello H390-VM list, <br>
      <br>
      the new 11.2017 release of the Stanford Pascal compiler is now
      available for MVS (TK4-) and Windows; <br>
      new versions for VM/CMS and OS/2 will follow soon.</p>
    <p> The new compiler version is in many aspects much better than the
      previous version; <br>
      many hidden errors (some of them 40 years old) have been
      corrected. More details below.</p>
    <p> The new version of PASFORM (source code formatter) now uses the
      same symbol scanner <br>
      as the compiler (PASSCAN) and now supports C&#43;+ style comments,
      too. <br>
      There<span class="text_exposed_show"> is anyway much room for
        improvements, but this redesign is a good starting point. </span></p>
    <div class="text_exposed_show">
      <p> Regarding old errors: </p>
      <p> it turned out, that the old compiler not only did a
        sub-optimal job, when diagnosing syntax errors, see, for
        example: </p>
      <p> <tt>838 SETSTRING = array [ 1 .. MAXSETLx ] of CHAR ;</tt><tt><br>
        </tt><tt>                                    !</tt><tt><br>
        </tt><tt> &#43;++ Error P104: IDENTIFIER IS NOT DECLARED</tt></p>
      <p><tt> </tt>the old compiler showed an additional error P107:
        INCOMPATIBLE SUBRANGE TYPES; <br>
        this was one of the easier situations to fix. Sometimes there
        were up to three messages <br>
        which followed a simple P104 error, although not helpful. </p>
      <p> But the old compiler even crashed on very simple situations: </p>
      <p> <tt>4653 else</tt><tt><br>
        </tt><tt>        !</tt><tt><br>
        </tt><tt> &#43;++ Error P006: ILLEGAL SYMBOL</tt></p>
      <p><tt> </tt>the old compiler crashed in this situation without
        producing a listing; <br>
        the error was a semicolon before the else which should not be
        there. </p>
      <p> I detected most of these errors, because I activated the
        runtime checks in the previous version <br>
        of the compiler (which were off in the last 40 years), and then,
        when trying to fix the <br>
        runtime error messages (for example subrange errors etc.), I
        discovered the use of <br>
        uninitialized variables etc. </p>
      <p> IMO, the compiler now is much better and much more stable than
        before, <br>
        although there will be situations, of course, where the reaction
        on certain <br>
        syntax errors will not be satisfactory.</p>
      <p> Once again, I would like to emphasize that runtime checks
        (like checking of array bounds <br>
        and subranges and enum values) are crucial when developing
        secure software; <br>
        at least that's my opinion, which is approved by this
        experience.</p>
      <p> The new compiler version is available from the website <a href="https://l.facebook.com/l.php?u=http%3A%2F%2Fbernd-oppolzer.de%2Fjob9.htm&amp;h=ATP81Co7fs9Gh-RWu_RJNYCC3dmNebHYSCq9_7LIblA_FiLR_tJb4OeXRN5mheGWWDZmc9sryEM-Og_fncHC-DCA8jYZ9Qk7tZ_mNhy1zH0CZmsbOv50MzkfGhrmfUOKWcQ19j3XkNwqGIb3A04LnUwEVyNpdSHOOwjS6e6tqNEOqvsofNJ3TwV05Q5tkpME8B2iEteR3JFfZGTD1vFhcI2sW_ncSdZckbKnFlg-XMdacMohgjltvkByKVE7tvp0IwEg2xi6JKh2NCF6g8Up45h0BoBxnU7OwmvTPuU" target="_blank" data="{&quot;tn&quot;:&quot;-U&quot;}" data="async" rel="nofollow">http://bernd-oppolzer.de/job9.htm</a>,
        as usual. <br>
        Additions informations on this FB page:
        <a class="moz-txt-link-freetext" href="https://www.facebook.com/StanfordPascal/">https://www.facebook.com/StanfordPascal/</a><br>
      </p>
      <p>Best regards, have a nice day <br>
      </p>
      <p>Bernd Oppolzer<br>
      </p>
      <p><br>
      </p>
    </div>
  

</p>

    </div>
     

    <!--~-|**|PrettyHtmlStart|**|-~-->
    <div style="color: #fff; height: 0;">__._,_.___</div>

          
  
 

    
    <div style="clear:both"> </div>

    <div id="fromDMARC" style="margin-top: 10px;">
        <hr style="height:2px ; border-width:0; color:#E3E3E3; background-color:#E3E3E3;">
        Posted by: Bernd Oppolzer &lt;berndoppolzer-/[email protected]&gt;        <hr style="height:2px ; border-width:0; color:#E3E3E3; background-color:#E3E3E3;">
     </div>
    <div style="clear:both"> </div>

    <table cellspacing=4px style="margin-top: 10px; margin-bottom: 10px; color: #2D50FD;">
      <tbody>
        <tr>
          <td style="font-size: 12px; font-family: arial; font-weight: bold; padding: 7px 5px 5px;"  >
                          <a style="text-decoration: none; color: #2D50FD" href="https://groups.yahoo.com/neo/groups/H390-MVS/conversations/messages/17712;_ylc=X3oDMTJxNzQ5MWEyBF9TAzk3MzU5NzE0BGdycElkAzI1ODc5NjYEZ3Jwc3BJZAMxNzA1MzA5NTQ4BG1zZ0lkAzE3NzEyBHNlYwNmdHIEc2xrA3JwbHkEc3RpbWUDMTUwOTk2MTgxOQ--?act=reply&messageNum=17712">Reply via web post</a>
                      </td>
          <td>&bull;</td>
          <td style="font-size: 12px; font-family: arial; padding: 7px 5px 5px;" >
            <a href="mailto:berndoppolzer-/[email protected]?subject=Re%3A%20New%20version%20of%20the%20Stanford%20Pascal%20compiler" style="text-decoration: none; color: #2D50FD;">
               Reply to sender            </a>
          </td>
          <td>&bull;</td>
          <td style="font-size: 12px; font-family: arial; padding: 7px 5px 5px;">
            <a href="mailto:[email protected]?subject=Re%3A%20New%20version%20of%20the%20Stanford%20Pascal%20compiler" style="text-decoration: none; color: #2D50FD">
              Reply to group            </a>
          </td>
          <td>&bull;</td>
          <td style="font-size: 12px; font-family: arial; padding: 7px 5px 5px;" >
            <a href="https://groups.yahoo.com/neo/groups/H390-MVS/conversations/newtopic;_ylc=X3oDMTJlMjNsMHBkBF9TAzk3MzU5NzE0BGdycElkAzI1ODc5NjYEZ3Jwc3BJZAMxNzA1MzA5NTQ4BHNlYwNmdHIEc2xrA250cGMEc3RpbWUDMTUwOTk2MTgxOQ--" style="text-decoration: none; color: #2D50FD">Start a New Topic</a>
          </td>
          <td>&bull;</td>
          <td style="font-size: 12px; font-family: arial; padding: 7px 5px 5px;color: #2D50FD;" >
                            <a href="https://groups.yahoo.com/neo/groups/H390-MVS/conversations/topics/17712;_ylc=X3oDMTM2ZmFkMmZyBF9TAzk3MzU5NzE0BGdycElkAzI1ODc5NjYEZ3Jwc3BJZAMxNzA1MzA5NTQ4BG1zZ0lkAzE3NzEyBHNlYwNmdHIEc2xrA3Z0cGMEc3RpbWUDMTUwOTk2MTgxOQR0cGNJZAMxNzcxMg--" style="text-decoration: none; color: #2D50FD;">Messages in this topic</a>
                (1)
                      </td>
        </tr>
      </tbody>
    </table>

        
<div id="megaphoneModule">
            <hr style="height:2px ; border-width:0; color:#E3E3E3; background-color:#E3E3E3;">
        <div>
	     <div class="stream" style="margin-bottom:10px;">
        <div style="background-color:white;">
            <div class="sn-img" style="display:inline;"><img name="tn_file" style="padding:0px 10px;vertical-align:top;margin-top:5px;" src="https://s.yimg.com/ru/static/images/yg/img/megaphone/1464031581_phpFA8bON" height="82" width="82"></div>
            <div class="mod-txt" style="display:inline-block;">
                <a rel="nofollow" name="sub_url" target="_blank" href="https://yho.com/1wwmgg" style="color:#0000FF;display:block;margin-left:5px;text-decoration:none;"><span style="font-size:15px;">Have you tried the highest rated email app?</span></a>
                <div style="max-width:530px;padding:2px 5px;">With 4.5 stars in iTunes, the Yahoo Mail app is the highest rated email app on the market. What are you waiting for? Now you can access all your inboxes (Gmail, Outlook, AOL and more) in one place. Never delete an email again with 1000GB of free cloud storage.</div>
            </div>
        </div>
    </div>        </div>  
     
    <hr style="height:2px ; border-width:0; color:#E3E3E3; background-color:#E3E3E3;">
</div>

<!------- Start Nav Bar ------>




 

<!-- |**|begin egp html banner|**| -->
<div id="ygrp-vital" style="background-color: #f2f2f2; font-family: Verdana; font-size: 10px; margin-bottom: 10px; padding: 10px;">

    <span id="vithd" style="font-weight: bold; color: #333; text-transform: uppercase; "><a href="https://groups.yahoo.com/neo/groups/H390-MVS/info;_ylc=X3oDMTJlbWpiaDRnBF9TAzk3MzU5NzE0BGdycElkAzI1ODc5NjYEZ3Jwc3BJZAMxNzA1MzA5NTQ4BHNlYwN2dGwEc2xrA3ZnaHAEc3RpbWUDMTUwOTk2MTgxOQ--" style="text-decoration: none;">Visit Your Group</a></span>

     <ul style="list-style-type: none; margin: 0; padding: 0; display: inline;">
            <li style="border-right: 1px solid #000; font-weight: 700; display: inline; padding: 0 5px; margin-left: 0;">
      <span class="cat"><a href="https://groups.yahoo.com/neo/groups/H390-MVS/members/all;_ylc=X3oDMTJmMGphN2FvBF9TAzk3MzU5NzE0BGdycElkAzI1ODc5NjYEZ3Jwc3BJZAMxNzA1MzA5NTQ4BHNlYwN2dGwEc2xrA3ZtYnJzBHN0aW1lAzE1MDk5NjE4MTk-" style="text-decoration: none;">New Members</a></span>
      <span class="ct" style="color: #ff7900;">1</span>
    </li>
                                              </ul>
  </div>


<div id="ft" style="font-family: Arial; font-size: 11px; margin-top: 5px; padding: 0 2px 0 0; clear: both;">
  <a href="https://groups.yahoo.com/neo;_ylc=X3oDMTJkMmtpdnJkBF9TAzk3NDc2NTkwBGdycElkAzI1ODc5NjYEZ3Jwc3BJZAMxNzA1MzA5NTQ4BHNlYwNmdHIEc2xrA2dmcARzdGltZQMxNTA5OTYxODE5" style="float: left;"><img src="http://l.yimg.com/ru/static/images/yg/img/email/new_logo/logo-groups-137x15.png" height="15" width="137" alt="Yahoo! Groups" style="border: 0;"/></a>
  <div style="color: #747575; float: right;"> &bull; <a href="https://info.yahoo.com/privacy/us/yahoo/groups/details.html" style="text-decoration: none;">Privacy</a> &bull; <a href="mailto:[email protected]?subject=Unsubscribe" style="text-decoration: none;">Unsubscribe</a> &bull; <a href="https://info.yahoo.com/legal/us/yahoo/utos/terms/" style="text-decoration: none;">Terms of Use</a> </div>
</div>
<br>

<!-- |**|end egp html banner|**| -->

  </div> <!-- ygrp-msg -->

 
  <!-- Sponsor -->
  <!-- |**|begin egp html banner|**| -->
  <div id="ygrp-sponsor" style="width:160px; float:right; clear:none; margin:0 0 25px 0; background: #fff;">

<!-- Start Recommendations -->
<div id="ygrp-reco">
     </div>
<!-- End Recommendations -->



  </div>   <!-- |**|end egp html banner|**| -->

  <div style="clear:both; color: #FFF; font-size:1px;">.</div>
</div>

  <img src="http://geo.yahoo.com/serv?s=97359714/grpId=2587966/grpspId=1705309548/msgId=17712/stime=1509961819" width="1" height="1"> <br>

<img src="http://y.analytics.yahoo.com/fpc.pl?ywarid=515FB27823A7407E&a=10001310322279&js=no&resp=img&cf12=CP" width="1" height="1"> 

<div style="color: #fff; height: 0;">__,_._,___</div>
<!--~-|**|PrettyHtmlEnd|**|-~-->

</body>

<!--~-|**|PrettyHtmlStart|**|-~-->
<head>
  <style type="text/css">
  <!--
  #ygrp-mkp {
  border: 1px solid #d8d8d8;
  font-family: Arial;
  margin: 10px 0;
  padding: 0 10px;
}

#ygrp-mkp hr {
  border: 1px solid #d8d8d8;
}

#ygrp-mkp #hd {
  color: #628c2a;
  font-size: 85%;
  font-weight: 700;
  line-height: 122%;
  margin: 10px 0;
}

#ygrp-mkp #ads {
  margin-bottom: 10px;
}

#ygrp-mkp .ad {
  padding: 0 0;
}

#ygrp-mkp .ad p {
  margin: 0;
}

#ygrp-mkp .ad a {
  color: #0000ff;
  text-decoration: none;
}
  #ygrp-sponsor #ygrp-lc {
  font-family: Arial;
}

#ygrp-sponsor #ygrp-lc #hd {
  margin: 10px 0px;
  font-weight: 700;
  font-size: 78%;
  line-height: 122%;
}

#ygrp-sponsor #ygrp-lc .ad {
  margin-bottom: 10px;
  padding: 0 0;
}

  #actions {
    font-family: Verdana;
    font-size: 11px;
    padding: 10px 0;
  }

  #activity {
    background-color: #e0ecee;
    float: left;
    font-family: Verdana;
    font-size: 10px;
    padding: 10px;
  }

  #activity span {
    font-weight: 700;
  }

  #activity span:first-child {
    text-transform: uppercase;
  }

  #activity span a {
    color: #5085b6;
    text-decoration: none;
  }

  #activity span span {
    color: #ff7900;
  }

  #activity span .underline {
    text-decoration: underline;
  }

  .attach {
    clear: both;
    display: table;
    font-family: Arial;
    font-size: 12px;
    padding: 10px 0;
    width: 400px;
  }

  .attach div a {
    text-decoration: none;
  }

  .attach img {
    border: none;
    padding-right: 5px;
  }

  .attach label {
    display: block;
    margin-bottom: 5px;
  }

  .attach label a {
    text-decoration: none;
  }
  
  blockquote {
    margin: 0 0 0 4px;
  }

  .bold {
    font-family: Arial;
    font-size: 13px;
    font-weight: 700;
  }

  .bold a {
    text-decoration: none;
  }

  dd.last p a {
    font-family: Verdana;
    font-weight: 700;
  }

  dd.last p span {
    margin-right: 10px;
    font-family: Verdana;
    font-weight: 700;
  }

  dd.last p span.yshortcuts {
    margin-right: 0;
  }

  div.attach-table div div a {
    text-decoration: none;
  }

  div.attach-table {
    width: 400px;
  }

  div.file-title a, div.file-title a:active, div.file-title a:hover, div.file-title a:visited {
    text-decoration: none;
  }

  div.photo-title a, div.photo-title a:active, div.photo-title a:hover, div.photo-title a:visited {
    text-decoration: none;
  }

  div#ygrp-mlmsg #ygrp-msg p a span.yshortcuts {
    font-family: Verdana;
    font-size: 10px;
    font-weight: normal;
  }

  .green {
    color: #628c2a;
  }

  .MsoNormal {
    margin: 0 0 0 0;
  }

  o {
    font-size: 0;
  }

  #photos div {
    float: left;
    width: 72px;
  }

  #photos div div {
    border: 1px solid #666666;
    height: 62px;
    overflow: hidden;
    width: 62px;
  }

  #photos div label {
    color: #666666;
    font-size: 10px;
    overflow: hidden;
    text-align: center;
    white-space: nowrap;
    width: 64px;
  }

  #reco-category {
    font-size: 77%;
  }

  #reco-desc {
    font-size: 77%;
  }

  .replbq {
    margin: 4px;
  }

  #ygrp-actbar div a:first-child {
   /* border-right: 0px solid #000;*/
    margin-right: 2px;
    padding-right: 5px;
  }

  #ygrp-mlmsg {
    font-size: 13px;
    font-family: Arial, helvetica,clean, sans-serif;
    *font-size: small;
    *font: x-small;
  }

  #ygrp-mlmsg table {
    font-size: inherit;
    font: 100%;
  }

  #ygrp-mlmsg select, input, textarea {
    font: 99% Arial, Helvetica, clean, sans-serif;
  }

  #ygrp-mlmsg pre, code {
    font:115% monospace;
    *font-size:100%;
  }

  #ygrp-mlmsg * {
    line-height: 1.22em;
  }

  #ygrp-mlmsg #logo {
    padding-bottom: 10px;
  }


  #ygrp-msg p a {
    font-family: Verdana;
  }

  #ygrp-msg p#attach-count span {
    color: #1E66AE;
    font-weight: 700;
  }

  #ygrp-reco #reco-head {
    color: #ff7900;
    font-weight: 700;
  }

  #ygrp-reco {
    margin-bottom: 20px;
    padding: 0px;
  }

  #ygrp-sponsor #ov li a {
    font-size: 130%;
    text-decoration: none;
  }

  #ygrp-sponsor #ov li {
    font-size: 77%;
    list-style-type: square;
    padding: 6px 0;
  } 

  #ygrp-sponsor #ov ul {
    margin: 0;
    padding: 0 0 0 8px;
  }

  #ygrp-text {
    font-family: Georgia;
  }

  #ygrp-text p {
    margin: 0 0 1em 0;
  }

  #ygrp-text tt {
    font-size: 120%;
  }

  #ygrp-vital ul li:last-child {
    border-right: none !important; 
  } 
  -->
  </style>
</head>

<!--~-|**|PrettyHtmlEnd|**|-~-->
</html>
<!-- end group email -->


--------------CCCC1310A34CA1EAAB1BBF31--