35 lines
752 B
Text
35 lines
752 B
Text
Module Short_circuit_evaluation {
|
|
function a(a as boolean) {
|
|
=a
|
|
doc$<=format$(" Called function a({0}) -> {0}", a)+{
|
|
}
|
|
}
|
|
function b(b as boolean) {
|
|
=b
|
|
doc$<=format$(" Called function b({0}) -> {0}", b)+{
|
|
}
|
|
}
|
|
boolean T=true, F, iv, jv
|
|
variant L=(F, T), i, j
|
|
i=each(L)
|
|
global doc$ : document doc$
|
|
while i
|
|
j=each(L)
|
|
while j
|
|
(iv, jv)=(array(i), array(j))
|
|
doc$<=format$("Calculating x = a({0}) and b({1}) -> {2}", iv, jv, iv and jv)+{
|
|
}
|
|
x=if(a(iv)->b(jv), F)
|
|
doc$<=format$("x={0}", x)+{
|
|
}+ format$("Calculating y = a({0}) or b({1}) -> {2}", iv, jv, iv or jv)+{
|
|
}
|
|
y=if(a(iv)->T, b(jv))
|
|
doc$<=format$("y={0}", y)+{
|
|
|
|
}
|
|
end while
|
|
end while
|
|
clipboard doc$
|
|
report doc$
|
|
}
|
|
Short_circuit_evaluation
|