Паттерн: Интерпретатор (Interpreter)
Исходник: OrExp.java, язык: java [code #497, hits: 8933]
автор: this [добавлен: 05.10.2007]
  1. package interpreter;
  2.  
  3. public class OrExp implements BooleanExp {
  4. private BooleanExp operand1, operand2;
  5.  
  6. public OrExp(BooleanExp operand1, BooleanExp operand2) {
  7. super();
  8. this.operand1 = operand1;
  9. this.operand2 = operand2;
  10. }
  11.  
  12. public boolean Evaluate(Context c) {
  13. return operand1.Evaluate(c) || operand2.Evaluate(c);
  14. }
  15.  
  16. public BooleanExp Replace(String str, BooleanExp exp) {
  17. return new OrExp(operand1.Replace(str, exp), operand2.Replace(str, exp));
  18. }
  19.  
  20. public BooleanExp Copy() {
  21. return new OrExp(operand1.Copy(), operand2.Copy());
  22. }
  23. }
Сущность NonterminalExpression

Реализация операции "логическое ИЛИ"
Тестировалось на: java 1.5.0_04

+добавить реализацию