Completed
Push — master ( 5a3549...a99ba3 )
by Michal
02:57
created

Operator::operate()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 6
Code Lines 4

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 6
rs 9.4285
c 0
b 0
f 0
cc 1
eloc 4
nc 1
nop 2
1
<?php
2
/*
3
    Copyright (c) 2016 Michal Čihař <[email protected]>
4
5
    This file is part of SimpleMath.
6
7
    This program is free software; you can redistribute it and/or modify
8
    it under the terms of the GNU General Public License as published by
9
    the Free Software Foundation; either version 2 of the License, or
10
    (at your option) any later version.
11
12
    This program is distributed in the hope that it will be useful,
13
    but WITHOUT ANY WARRANTY; without even the implied warranty of
14
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15
    GNU General Public License for more details.
16
17
    You should have received a copy of the GNU General Public License along
18
    with this program; if not, write to the Free Software Foundation, Inc.,
19
    51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
20
*/
21
namespace SimpleMath\Expressions;
22
23
abstract class Operator extends \SimpleMath\Expression {
24
25
    public function isOperator() {
26
        return true;
27
    }
28
29
    public function operate(\SimpleMath\Stack $stack, $variables=array())
30
    {
31
        $right = $stack->pop()->operate($stack, $variables);
32
        $left = $stack->pop()->operate($stack, $variables);
33
        return $this->calculate($left, $right);
34
    }
35
36
    protected function calculate($left, $right)
37
    {
38
        return 0;
39
    }
40
}
41
42