diff options
author | Alexander Kiryukhin <alexander@kiryukhin.su> | 2019-01-16 10:27:56 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-01-16 10:27:56 +0300 |
commit | 36b252b7c91fada20489be9ee60f173b49b823cb (patch) | |
tree | a2d1f4dd6504745596efe10620997bcc1ce06b5a /src/NXP/Classes/Calculator.php | |
parent | 5a26d651dd241f2457cda49206e3439513ea4788 (diff) | |
parent | e1b770d6c884d79b8c3c6226d2e6cc8cc5a633ca (diff) |
Merge pull request #44 from phpfui/masterv0.7.2
* Fixed comma operator
Added unit tests for expressions in function arguments.
Changed array_push to $var[] = native code.
* Fixed merge error
* Fixed typo in constant
Diffstat (limited to 'src/NXP/Classes/Calculator.php')
-rw-r--r-- | src/NXP/Classes/Calculator.php | 12 |
1 files changed, 4 insertions, 8 deletions
diff --git a/src/NXP/Classes/Calculator.php b/src/NXP/Classes/Calculator.php index 62dbc17..980a52b 100644 --- a/src/NXP/Classes/Calculator.php +++ b/src/NXP/Classes/Calculator.php @@ -36,21 +36,17 @@ class Calculator { $stack = []; foreach ($tokens as $token) { - if ($token instanceof TokenNumber) { - array_push($stack, $token); - } else if ($token instanceof TokenStringDoubleQuoted) { - array_push($stack, $token); - } else if ($token instanceof TokenStringSingleQuoted) { - array_push($stack, $token); + 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)); + $stack[] = new TokenNumber($value); } else if ($token instanceof InterfaceOperator || $token instanceof TokenFunction) { - array_push($stack, $token->execute($stack)); + $stack[] = $token->execute($stack); } } $result = array_pop($stack); |