713 |
|
|
714 |
int Or::evalInt() { |
int Or::evalInt() { |
715 |
IntExpr* pLHS = dynamic_cast<IntExpr*>(&*lhs); |
IntExpr* pLHS = dynamic_cast<IntExpr*>(&*lhs); |
716 |
|
if (pLHS->evalInt()) return 1; |
717 |
IntExpr* pRHS = dynamic_cast<IntExpr*>(&*rhs);; |
IntExpr* pRHS = dynamic_cast<IntExpr*>(&*rhs);; |
718 |
return pLHS->evalInt() || pRHS->evalInt(); |
return (pRHS->evalInt()) ? 1 : 0; |
719 |
} |
} |
720 |
|
|
721 |
void Or::dump(int level) { |
void Or::dump(int level) { |
731 |
|
|
732 |
int And::evalInt() { |
int And::evalInt() { |
733 |
IntExpr* pLHS = dynamic_cast<IntExpr*>(&*lhs); |
IntExpr* pLHS = dynamic_cast<IntExpr*>(&*lhs); |
734 |
IntExpr* pRHS = dynamic_cast<IntExpr*>(&*rhs);; |
if (!pLHS->evalInt()) return 0; |
735 |
return pLHS->evalInt() && pRHS->evalInt(); |
IntExpr* pRHS = dynamic_cast<IntExpr*>(&*rhs); |
736 |
|
return (pRHS->evalInt()) ? 1 : 0; |
737 |
} |
} |
738 |
|
|
739 |
void And::dump(int level) { |
void And::dump(int level) { |