1: <?php
2:
3: namespace BN\Compiler;
4:
5: use BN\Compiler\Postfix\Operands\OperandsSummary;
6:
7: class ResponderDecorator implements EvaluatorResponder
8: {
9: private $responder;
10:
11: public function setResponder(EvaluatorResponder $responder)
12: {
13: $this->responder = $responder;
14: }
15:
16: public function nextStatement($statement)
17: {
18: $this->responder->nextStatement($statement);
19: }
20:
21: public function unknownOperator($operator)
22: {
23: $this->responder->unknownOperator($operator);
24: }
25:
26: public function unknownToken($token)
27: {
28: $this->responder->unknownToken($token);
29: }
30:
31: public function mismatchedBrackets($mismatchedBracket)
32: {
33: $this->responder->mismatchedBrackets($mismatchedBracket);
34: }
35:
36: public function invalidOperands($operatorSymbol, OperandsSummary $operands)
37: {
38: $this->responder->invalidOperands($operatorSymbol, $operands);
39: }
40:
41: public function missingOperator($expectedOperandsCount)
42: {
43: $this->responder->missingOperator($expectedOperandsCount);
44: }
45:
46: public function undefinedVariable($variableName)
47: {
48: $this->responder->undefinedVariable($variableName);
49: }
50:
51: public function result($result)
52: {
53: $this->responder->result($result);
54: }
55:
56: public function exception(\Exception $e)
57: {
58: $this->responder->exception($e);
59: }
60: }
61: