diff options
author | Bruce Wells <bruce.wells@simparel.com> | 2019-08-16 15:35:06 +0300 |
---|---|---|
committer | Bruce Wells <bruce.wells@simparel.com> | 2019-08-16 15:35:06 +0300 |
commit | 2bc89df821e2b98577a1b8daa1fd7349b18dcf92 (patch) | |
tree | 50fad589e827aa2904c65b27a6f9cba759316458 /src/NXP/Classes/Calculator.php | |
parent | e03df64281a1c33639b13c9f490d4452c1a1784d (diff) | |
parent | e1b770d6c884d79b8c3c6226d2e6cc8cc5a633ca (diff) |
Merge branch 'master' of https://github.com/phpfui/MathExecutor
# Conflicts:
# src/NXP/Classes/Token/TokenFunction.php
Diffstat (limited to 'src/NXP/Classes/Calculator.php')
-rw-r--r-- | src/NXP/Classes/Calculator.php | 20 |
1 files changed, 6 insertions, 14 deletions
diff --git a/src/NXP/Classes/Calculator.php b/src/NXP/Classes/Calculator.php index 1ceac84..980a52b 100644 --- a/src/NXP/Classes/Calculator.php +++ b/src/NXP/Classes/Calculator.php @@ -36,25 +36,17 @@ class Calculator { $stack = []; foreach ($tokens as $token) { - if ($token instanceof TokenNumber) { - array_push($stack, $token); - } - if ($token instanceof TokenStringDoubleQuoted) { - array_push($stack, $token); - } - if ($token instanceof TokenStringSingleQuoted) { - array_push($stack, $token); - } - if ($token instanceof TokenVariable) { + if ($token instanceof TokenNumber || $token instanceof TokenStringDoubleQuoted || $token instanceof TokenStringSingleQuoted) { + $stack[] = $token; + } else if ($token instanceof TokenVariable) { $variable = $token->getValue(); if (!array_key_exists($variable, $variables)) { throw new UnknownVariableException($variable); } $value = $variables[$variable]; - array_push($stack, new TokenNumber($value)); - } - if ($token instanceof InterfaceOperator || $token instanceof TokenFunction) { - array_push($stack, $token->execute($stack)); + $stack[] = new TokenNumber($value); + } else if ($token instanceof InterfaceOperator || $token instanceof TokenFunction) { + $stack[] = $token->execute($stack); } } $result = array_pop($stack); |