Re : Pre/post conditions not working?

[email protected] Fri, 14 Jan 2011 05:37:33 +0000 (GMT)
Newsgroups gmane.comp.lang.sather.announce
Message-ID <[email protected]>
--0-1406126282-1294983453=:8995
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

Hello Marek,=0A=0AOk.=0AI was also surprised to learn that the compiler doe=
s not check preconditions by =0Adefault.=0A=0AJust append "-chk" to your sa=
comp statement.=0A=0AIt is an alias to "-chk_all all" which will make sure =
that all checks will occur =0Ain all classes.=0A(I got that from the sacomp=
 man page)=0A=0A(BTW, thanks for asking questions, it "forces" me to look f=
or info :-) ).=0A=0ABest regards,=0AFadi.=0A=0AMarek Janukowicz wrote:=0A>=
=0A> Hello again=0A>=0A> Are pre/post conditions supported by default? I ha=
ve a test program:=0A> class MAIN is=0A> [...]=0A>  create( a : INT ) : SAM=
E =0A>    pre a < 10=0A>    post self.a < 5=0A>  is=0A> [...]=0A>  main =0A=
>    pre 1 > 2=0A>    post 1 > 2=0A>  is=0A> [...]=0A>=0A> and it doesn't r=
aise any error, displaying the messages (as it should if the =0A> precondit=
ions were not there). Do I need to somehow switch on with some=0A> compiler=
 switch?=0A>=0A>-- =0A> Marek Janukowicz=0A=0A=0A=0A      
--0-1406126282-1294983453=:8995
Content-Type: text/html; charset=utf-8
Content-Transfer-Encoding: quoted-printable

<html><head><style type=3D"text/css"><!-- DIV {margin:0px;} --></style></he=
ad><body><div style=3D"font-family:arial, helvetica, sans-serif;font-size:1=
2pt"><div><font class=3D"Apple-style-span" size=3D"3"><span class=3D"Apple-=
style-span" style=3D"font-size: 13px;"><font class=3D"Apple-style-span" siz=
e=3D"4"><span class=3D"Apple-style-span" style=3D"font-size: 16px;"><span c=
lass=3D"Apple-style-span" style=3D"font-size: 13px; ">Hello Marek,</span></=
span></font></span></font></div><div><font class=3D"Apple-style-span" size=
=3D"3"><span class=3D"Apple-style-span" style=3D"font-size: 13px;"><font cl=
ass=3D"Apple-style-span" size=3D"4"><span class=3D"Apple-style-span" style=
=3D"font-size: 16px;"><span class=3D"Apple-style-span" style=3D"font-size: =
13px; "><br></span></span></font></span></font></div><div><font class=3D"Ap=
ple-style-span" size=3D"3"><span class=3D"Apple-style-span" style=3D"font-s=
ize: 13px;">Ok.</span></font></div><div><span class=3D"Apple-style-span" st=
yle=3D"font-size: 13px; ">I was also surprised to
 learn that the compiler does not check preconditions by default.</span></d=
iv><div><font class=3D"Apple-style-span" size=3D"3"><span class=3D"Apple-st=
yle-span" style=3D"font-size: 13px;"><br></span></font></div><div><font cla=
ss=3D"Apple-style-span" size=3D"3"><span class=3D"Apple-style-span" style=
=3D"font-size: 13px;">Just append "-chk" to your sacomp statement.</span></=
font></div><div><font class=3D"Apple-style-span" size=3D"3"><span class=3D"=
Apple-style-span" style=3D"font-size: 13px;"><br></span></font></div><div><=
font class=3D"Apple-style-span" size=3D"3"><span class=3D"Apple-style-span"=
 style=3D"font-size: 13px;">It is an alias to "-chk_all all" which will mak=
e sure that all checks will occur in all classes.</span></font></div><div><=
span class=3D"Apple-style-span" style=3D"font-size: 13px; ">(I got that fro=
m the sacomp man page)</span></div><div><font class=3D"Apple-style-span" si=
ze=3D"3"><span class=3D"Apple-style-span" style=3D"font-size: 13px;"><br></=
span></font></div><div><font
 class=3D"Apple-style-span" size=3D"3"><span class=3D"Apple-style-span" sty=
le=3D"font-size: 13px;">(BTW, thanks for asking questions, it "forces" me t=
o look for info :-) ).</span></font></div><div><font class=3D"Apple-style-s=
pan" size=3D"3"><span class=3D"Apple-style-span" style=3D"font-size: 13px;"=
><br></span></font></div><div><font class=3D"Apple-style-span" size=3D"3"><=
span class=3D"Apple-style-span" style=3D"font-size: 13px;">Best regards,</s=
pan></font></div><div><font class=3D"Apple-style-span" size=3D"3"><span cla=
ss=3D"Apple-style-span" style=3D"font-size: 13px;">Fadi.</span></font></div=
><div><font class=3D"Apple-style-span" size=3D"3"><span class=3D"Apple-styl=
e-span" style=3D"font-size: 13px;"><font class=3D"Apple-style-span" size=3D=
"4"><span class=3D"Apple-style-span" style=3D"font-size: 16px;"><span class=
=3D"Apple-style-span" style=3D"font-size: 13px; "><br></span></span></font>=
</span></font></div><div><font class=3D"Apple-style-span" size=3D"3"><span =
class=3D"Apple-style-span" style=3D"font-size:
 13px;"><font class=3D"Apple-style-span" size=3D"4"><span class=3D"Apple-st=
yle-span" style=3D"font-size: 16px;"><span class=3D"Apple-style-span" style=
=3D"font-size: 13px; ">Marek Janukowicz wrote:</span></span></font></span><=
/font></div><div><font class=3D"Apple-style-span" size=3D"3"><span class=3D=
"Apple-style-span" style=3D"font-size: 13px;"><font class=3D"Apple-style-sp=
an" size=3D"4"><span class=3D"Apple-style-span" style=3D"font-size: 16px;">=
<span class=3D"Apple-style-span" style=3D"font-size: 13px; ">&gt;</span></s=
pan></font></span></font></div><div><font class=3D"Apple-style-span" size=
=3D"3"><span class=3D"Apple-style-span" style=3D"font-size: 13px;"><font cl=
ass=3D"Apple-style-span" size=3D"4"><span class=3D"Apple-style-span" style=
=3D"font-size: 16px;"><span class=3D"Apple-style-span" style=3D"font-size: =
13px; ">&gt; Hello again<br>&gt;<br>&gt; Are pre/post conditions supported =
by default? I have a test program:<br>&gt; class MAIN is<br>&gt; [...]<br>&=
gt; &nbsp;create( a : INT ) : SAME&nbsp;<br>&gt;
 &nbsp; &nbsp;pre a &lt; 10<br>&gt; &nbsp; &nbsp;post self.a &lt; 5<br>&gt;=
 &nbsp;is<br>&gt; [...]</span></span></font></span></font></div><div><font =
class=3D"Apple-style-span" size=3D"3"><span class=3D"Apple-style-span" styl=
e=3D"font-size: 13px;"><font class=3D"Apple-style-span" size=3D"4"><span cl=
ass=3D"Apple-style-span" style=3D"font-size: 16px;"><span class=3D"Apple-st=
yle-span" style=3D"font-size: 13px; ">&gt; &nbsp;main&nbsp;<br>&gt; &nbsp; =
&nbsp;pre 1 &gt; 2<br>&gt; &nbsp; &nbsp;post 1 &gt; 2<br>&gt; &nbsp;is<br>&=
gt; [...]</span></span></font></span></font></div><div><font class=3D"Apple=
-style-span" size=3D"3"><span class=3D"Apple-style-span" style=3D"font-size=
: 13px;"><font class=3D"Apple-style-span" size=3D"4"><span class=3D"Apple-s=
tyle-span" style=3D"font-size: 16px;"><span class=3D"Apple-style-span" styl=
e=3D"font-size: 13px; ">&gt;<br>&gt; and it doesn't raise any error, displa=
ying the messages (as it should if the&nbsp;<br>&gt; preconditions were not=
 there). Do I need to somehow
 switch on with some<br>&gt; compiler switch?<br>&gt;<br>&gt;--&nbsp;<br>&g=
t; Marek Janukowicz<br></span></span></font></span></font></div><div style=
=3D"position:fixed"></div>=0A=0A=0A</div><br>=0A=0A=0A=0A=0A      </body></=
html>
--0-1406126282-1294983453=:8995--