RE: ISO7185 compliance
"scott andrew franco" <[email protected]> Wed, 24 Feb 2021 19:42:28 -0700
| Newsgroups | gmane.comp.compilers.gpc |
|---|---|
| Message-ID | <20210224194228.6c61c97e98fe7bb02193b2d6dca4a85a.d8bc14cede.wbe@email15.godaddy.com> |
--===============8706126306808835284== Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset="utf-8" <html><body><span style=3D"font-family:Verdana; color:#000000; font-size:10= pt;"><div style=3D"color: rgb(0, 0, 0); font-family: verdana, geneva; font-= size: 10pt;">Paul,</div><div style=3D"color: rgb(0, 0, 0); font-family: ver= dana, geneva; font-size: 10pt;"><br></div><div style=3D"color: rgb(0, 0, 0)= ; font-family: verdana, geneva; font-size: 10pt;">You need to specify the f= lag:</div><div style=3D"color: rgb(0, 0, 0); font-family: verdana, geneva; = font-size: 10pt;"><br></div><div style=3D""><font face=3D"verdana, geneva" = style=3D""><span style=3D"">--classic-pascal-level-0 </span></font></d= iv><div style=3D""><font face=3D"verdana, geneva" style=3D""><span style=3D= ""><br></span></font></div><div style=3D""><font face=3D"verdana, geneva" s= tyle=3D""><span style=3D"">To get an ISO 7185 compile from GPC. Did you do = that?</span></font></div><div style=3D""><font face=3D"verdana, geneva" sty= le=3D""><span style=3D""><br></span></font></div><div style=3D""><font face= =3D"verdana, geneva">I completed the program (its a fragment) and compiled = it with P5:</font></div><div style=3D""><font face=3D"verdana, geneva"><br>= </font></div><div style=3D""><font face=3D"verdana, geneva" style=3D"">C:\p= rojects\PASCAL\pascal-p5>p5 test</font></div><div style=3D""><font face= =3D"verdana, geneva" style=3D""><br style=3D""></font></div><div style=3D""= ><font face=3D"verdana, geneva" style=3D"">Compiling and running test</font= ></div><div style=3D""><font face=3D"verdana, geneva" style=3D""><br style= =3D""></font></div><div style=3D""><font face=3D"verdana, geneva" style=3D"= ">P5 Pascal compiler vs. 1.4.x</font></div><div style=3D""><font face=3D"ve= rdana, geneva" style=3D"">Pascal-P5 complies with the requirements of level= 0 of ISO/IEC 7185.</font></div><div style=3D""><font face=3D"verdana, gene= va" style=3D""><br style=3D""></font></div><div style=3D""><font face=3D"ve= rdana, geneva" style=3D""><br style=3D""></font></div><div style=3D""><font= face=3D"verdana, geneva" style=3D""> 1 &nb= sp; -32 program test;</font></div><div style=3D""><font face=3D"verdana, ge= neva" style=3D""> 2 -32</font></div>= <div style=3D""><font face=3D"verdana, geneva" style=3D""> &nb= sp;3 -32 procedure test;</font></div><div style=3D""><f= ont face=3D"verdana, geneva" style=3D""> 4 = -32 type</font></div><div style=3D""><font face=3D"verdana, geneva" = style=3D""> 5 -32 xHandle = ; =3D ^xRecord;</font></div><div s= tyle=3D""><font face=3D"verdana, geneva" style=3D""> 6&n= bsp; -32 xRecord &nbs= p; =3D record</font></div><div style=3D""><font face=3D"verdana, gene= va" style=3D""> 7 -32 &= nbsp; = field1 : integer;</font></div><div style=3D""><font face=3D"ver= dana, geneva" style=3D""> 8 -32 = ; &nb= sp; end;</font></div><div style=3D""><font face=3D"verdana, geneva" style= =3D""> 9 -32 var</font></div><div st= yle=3D""><font face=3D"verdana, geneva" style=3D""> 10 &= nbsp; -32 a &n= bsp; : integer;</font></div><div style=3D""><font face=3D"verd= ana, geneva" style=3D""> 11 -36</font></di= v><div style=3D""><font face=3D"verdana, geneva" style=3D""> 1= 2 -36 function b  = ; : xHandle;</font></div><div style=3D""><font face=3D"verdana, geneva" sty= le=3D""> 13 -32 var</font></div><div= style=3D""><font face=3D"verdana, geneva" style=3D""> 14 = ; -32 c = : xHandle;</font></div><div style=3D""><font face=3D"v= erdana, geneva" style=3D""> 15 -36 b= egin</font></div><div style=3D""><font face=3D"verdana, geneva" style=3D"">= 16 3 b &n= bsp; :=3D c;</font></div><div sty= le=3D""><font face=3D"verdana, geneva" style=3D""> 17 &n= bsp; 8 end;</font></div><div style=3D""><font face=3D"v= erdana, geneva" style=3D""> 18 9 be= gin</font></div><div style=3D""><font face=3D"verdana, geneva" style=3D"">&= nbsp; 19 9 a &n= bsp; :=3D b^.field1;</font></div><= div style=3D""><font face=3D"verdana, geneva" style=3D""> 19&n= bsp; **** &nbs= p; ^6 ^104</font></di= v><div style=3D""><font face=3D"verdana, geneva" style=3D""> 2= 0 13 end;</font></div><div style=3D""><font face= =3D"verdana, geneva" style=3D""> 21 = 14</font></div><div style=3D""><font face=3D"verdana, geneva" style=3D"">&n= bsp; 22 14 begin</font></div><div style=3D= ""><font face=3D"verdana, geneva" style=3D""> 23 = 14 end.</font></div><div style=3D""><font face=3D"verdana, gen= eva" style=3D"">test unreferenced</font></div><di= v style=3D""><font face=3D"verdana, geneva" style=3D""><br style=3D""></fon= t></div><div style=3D""><font face=3D"verdana, geneva" style=3D""><br style= =3D""></font></div><div style=3D""><font face=3D"verdana, geneva" style=3D"= ">Errors in program: 2</font></div><div style=3D""><font face=3D"verdana, g= eneva" style=3D""><br style=3D""></font></div><div style=3D""><font face=3D= "verdana, geneva" style=3D"">Error numbers in listing:</font></div><div sty= le=3D""><font face=3D"verdana, geneva" style=3D"">-------------------------= </font></div><div style=3D""><font face=3D"verdana, geneva" style=3D"">&nbs= p; 6 Illegal symbol</font></div><div style=3D""><font face=3D"verdana= , geneva" style=3D"">104 Identifier not declared</font></div><div sty= le=3D""><font face=3D"verdana, geneva" style=3D""><br style=3D""></font></d= iv><div style=3D""><font face=3D"verdana, geneva" style=3D"">P5 Pascal inte= rpreter vs. 1.4.x</font></div><div style=3D""><font face=3D"verdana, geneva= " style=3D""><br style=3D""></font></div><div style=3D""><font face=3D"verd= ana, geneva" style=3D"">Assembling/loading program</font></div><div style= =3D""><font face=3D"verdana, geneva" style=3D"">Running program</font></div= ><div style=3D""><font face=3D"verdana, geneva" style=3D""><br style=3D""><= /font></div><div style=3D""><font face=3D"verdana, geneva" style=3D""><br s= tyle=3D""></font></div><div><font face=3D"verdana, geneva"></font></div><di= v style=3D""><font face=3D"verdana, geneva" style=3D"">program complete</fo= nt></div><div style=3D""><font face=3D"verdana, geneva" style=3D""><br></fo= nt></div><div style=3D""><font face=3D"verdana, geneva" style=3D"">Its flag= ging the fact that (as you I think stated) b is a value reference and not a= variable</font></div><div style=3D""><font face=3D"verdana, geneva" style= =3D"">reference, and thus applying a variable operator against it (^) is in= valid in ISO 7185.</font></div><div style=3D""><font face=3D"verdana, genev= a" style=3D""><br></font></div><div style=3D""><font face=3D"verdana, genev= a" style=3D"">The ISO 7185 compliance of GPC is excellent; the compliance o= f P5 is better (not meant to</font></div><div style=3D""><font face=3D"verd= ana, geneva" style=3D"">be an insult, P5 is more compliant with ISO 7185 th= an any other compiler in existence with</font></div><div style=3D""><f= ont face=3D"verdana, geneva" style=3D"">the possible exception of the model= compiler, which does not exist any more). I suspect if</font></div><div st= yle=3D""><font face=3D"verdana, geneva" style=3D"">you try it with the abov= e option it will give you the results you wanted.</font></div><div style=3D= ""><font face=3D"verdana, geneva" style=3D""><br></font></div><div style=3D= ""><font face=3D"verdana, geneva" style=3D"">Regards,</font></div><div styl= e=3D""><font face=3D"verdana, geneva" style=3D""><br></font></div><div styl= e=3D""><font face=3D"verdana, geneva" style=3D"">Scott Franco</font></div>= =0A<blockquote id=3D"replyBlockquote" webmail=3D"1" style=3D"color: black; = font-family: verdana; font-size: 10pt; border-left: 2px solid blue; margin-= left: 8px; padding-left: 8px;">=0A<div id=3D"wmQuoteWrapper">=0A-------- Or= iginal Message --------<br>=0ASubject: ISO7185 compliance<br>=0AFrom: Paul = Isaacs <<a href=3D"mailto:[email protected]">paul@redpineinstr= uments.org</a>><br>=0ADate: Thu, January 21, 2021 11:08 pm<br>=0ATo: <a = href=3D"mailto:[email protected]">[email protected]</a><br>=0A<br>=0AHello:<br>=0A<br>=0A= gpc --classic-pascal compiles the following without error:<br>=0A<br>=0Apro= cedure test;<br>=0Atype<br>=0A xHandle &= nbsp; =3D ^xRecord;<br>=0A xRecor= d = =3D record<br>=0A &nb= sp; = field1 : integer;<br>=0A &= nbsp; &nbs= p; end;<br>=0Avar<br>=0A a &= nbsp; &nbs= p; : integer;<br>=0A<br>=0A function b &= nbsp; : xHandle;<br>=0A var<br>=0A &nbs= p; c  = ; : xHandle;<br>=0A begin<br>=0A = b &= nbsp; :=3D c;<br>=0A end;<br>=0Abegin<br>=0A = a &n= bsp; :=3D b^.field1;<br>=0Aend;<br>=0A<= br>=0AIs this 7185 compliant?<br>=0A<br>=0AThe right hand side of the assig= nment is a 6.7.3 function-designator rule :<br>=0A<br>=0A  = ; function-designator =3D function-identifier [ actual-paramete= r-list <br>=0A] .<br>=0A<br>=0Afollowed by "^."<br>=0A<br>=0AI can not see = how the grammar permits the following pointer and record <br>=0Aaccesses.<b= r>=0A<br>=0AThank you,<br>=0A<br>=0APaul Isaacs<br>=0A<br>=0A<br>=0A<br>=0A= _______________________________________________<br>=0AGpc mailing list<br>= =0A<a href=3D"mailto:[email protected]">[email protected]</a><br>=0A<a href=3D"https://ww= w.g-n-u.de/mailman/listinfo/gpc">https://www.g-n-u.de/mailman/listinfo/gpc<= /a><br>=0A=0A</div>=0A</blockquote></span></body></html> --===============8706126306808835284== 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 --===============8706126306808835284==--