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; ">></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; ">> Hello again<br>><br>> Are pre/post conditions supported =
by default? I have a test program:<br>> class MAIN is<br>> [...]<br>&=
gt; create( a : INT ) : SAME <br>>
pre a < 10<br>> post self.a < 5<br>>=
is<br>> [...]</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; ">> main <br>> =
pre 1 > 2<br>> post 1 > 2<br>> 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; ">><br>> and it doesn't raise any error, displa=
ying the messages (as it should if the <br>> preconditions were not=
there). Do I need to somehow
switch on with some<br>> compiler switch?<br>><br>>-- <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--