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&nbsp;</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&gt;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"">&nbsp; &nbsp; &nbsp;1&nbsp; &nbsp; &nb=
sp; -32 program test;</font></div><div style=3D""><font face=3D"verdana, ge=
neva" style=3D"">&nbsp; &nbsp; &nbsp;2&nbsp; &nbsp; &nbsp; -32</font></div>=
<div style=3D""><font face=3D"verdana, geneva" style=3D"">&nbsp; &nbsp; &nb=
sp;3&nbsp; &nbsp; &nbsp; -32 procedure test;</font></div><div style=3D""><f=
ont face=3D"verdana, geneva" style=3D"">&nbsp; &nbsp; &nbsp;4&nbsp; &nbsp; =
&nbsp; -32 type</font></div><div style=3D""><font face=3D"verdana, geneva" =
style=3D"">&nbsp; &nbsp; &nbsp;5&nbsp; &nbsp; &nbsp; -32&nbsp; xHandle&nbsp=
; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;=3D ^xRecord;</font></div><div s=
tyle=3D""><font face=3D"verdana, geneva" style=3D"">&nbsp; &nbsp; &nbsp;6&n=
bsp; &nbsp; &nbsp; -32&nbsp; xRecord&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbs=
p; &nbsp;=3D record</font></div><div style=3D""><font face=3D"verdana, gene=
va" style=3D"">&nbsp; &nbsp; &nbsp;7&nbsp; &nbsp; &nbsp; -32&nbsp; &nbsp; &=
nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;=
field1&nbsp; &nbsp;: integer;</font></div><div style=3D""><font face=3D"ver=
dana, geneva" style=3D"">&nbsp; &nbsp; &nbsp;8&nbsp; &nbsp; &nbsp; -32&nbsp=
; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nb=
sp; end;</font></div><div style=3D""><font face=3D"verdana, geneva" style=
=3D"">&nbsp; &nbsp; &nbsp;9&nbsp; &nbsp; &nbsp; -32 var</font></div><div st=
yle=3D""><font face=3D"verdana, geneva" style=3D"">&nbsp; &nbsp; 10&nbsp; &=
nbsp; &nbsp; -32&nbsp; a&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &n=
bsp; &nbsp; &nbsp;: integer;</font></div><div style=3D""><font face=3D"verd=
ana, geneva" style=3D"">&nbsp; &nbsp; 11&nbsp; &nbsp; &nbsp; -36</font></di=
v><div style=3D""><font face=3D"verdana, geneva" style=3D"">&nbsp; &nbsp; 1=
2&nbsp; &nbsp; &nbsp; -36&nbsp; function b&nbsp; &nbsp; &nbsp; &nbsp; &nbsp=
; : xHandle;</font></div><div style=3D""><font face=3D"verdana, geneva" sty=
le=3D"">&nbsp; &nbsp; 13&nbsp; &nbsp; &nbsp; -32&nbsp; var</font></div><div=
 style=3D""><font face=3D"verdana, geneva" style=3D"">&nbsp; &nbsp; 14&nbsp=
; &nbsp; &nbsp; -32&nbsp; &nbsp;c&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; =
&nbsp; &nbsp; &nbsp; : xHandle;</font></div><div style=3D""><font face=3D"v=
erdana, geneva" style=3D"">&nbsp; &nbsp; 15&nbsp; &nbsp; &nbsp; -36&nbsp; b=
egin</font></div><div style=3D""><font face=3D"verdana, geneva" style=3D"">=
&nbsp; &nbsp; 16&nbsp; &nbsp; &nbsp; &nbsp; 3&nbsp; &nbsp;b&nbsp; &nbsp; &n=
bsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; :=3D c;</font></div><div sty=
le=3D""><font face=3D"verdana, geneva" style=3D"">&nbsp; &nbsp; 17&nbsp; &n=
bsp; &nbsp; &nbsp; 8&nbsp; end;</font></div><div style=3D""><font face=3D"v=
erdana, geneva" style=3D"">&nbsp; &nbsp; 18&nbsp; &nbsp; &nbsp; &nbsp; 9 be=
gin</font></div><div style=3D""><font face=3D"verdana, geneva" style=3D"">&=
nbsp; &nbsp; 19&nbsp; &nbsp; &nbsp; &nbsp; 9&nbsp; a&nbsp; &nbsp; &nbsp; &n=
bsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;:=3D b^.field1;</font></div><=
div style=3D""><font face=3D"verdana, geneva" style=3D"">&nbsp; &nbsp; 19&n=
bsp; &nbsp;****&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbs=
p; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ^6&nbsp; &nbsp; &nbsp;^104</font></di=
v><div style=3D""><font face=3D"verdana, geneva" style=3D"">&nbsp; &nbsp; 2=
0&nbsp; &nbsp; &nbsp; &nbsp;13 end;</font></div><div style=3D""><font face=
=3D"verdana, geneva" style=3D"">&nbsp; &nbsp; 21&nbsp; &nbsp; &nbsp; &nbsp;=
14</font></div><div style=3D""><font face=3D"verdana, geneva" style=3D"">&n=
bsp; &nbsp; 22&nbsp; &nbsp; &nbsp; &nbsp;14 begin</font></div><div style=3D=
""><font face=3D"verdana, geneva" style=3D"">&nbsp; &nbsp; 23&nbsp; &nbsp; =
&nbsp; &nbsp;14 end.</font></div><div style=3D""><font face=3D"verdana, gen=
eva" style=3D"">test&nbsp; &nbsp; &nbsp; &nbsp;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&nbsp; Illegal symbol</font></div><div style=3D""><font face=3D"verdana=
, geneva" style=3D"">104&nbsp; 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&nbsp;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 &lt;<a href=3D"mailto:[email protected]">paul@redpineinstr=
uments.org</a>&gt;<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 &nbsp;xHandle&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =3D ^xRecord;<br>=0A &nbsp;xRecor=
d&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
=3D record<br>=0A &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp; field1&nbsp;&nbsp; : integer;<br>=0A &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp; end;<br>=0Avar<br>=0A &nbsp;a&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p;&nbsp;&nbsp; : integer;<br>=0A<br>=0A &nbsp;function b&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : xHandle;<br>=0A &nbsp;var<br>=0A &nbs=
p; c&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : xHandle;<br>=0A &nbsp;begin<br>=0A &nbsp;=
 b&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp; :=3D c;<br>=0A &nbsp;end;<br>=0Abegin<br>=0A =
&nbsp;a&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; :=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 &nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp; 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==--