aboutsummaryrefslogtreecommitdiff
path: root/src/NXP/Classes/Calculator.php
diff options
context:
space:
mode:
authorBruce Wells <brucekwells@gmail.com>2019-01-12 16:23:25 +0300
committerAlexander Kiryukhin <alexander@kiryukhin.su>2019-01-12 16:23:25 +0300
commit816c112fcdf22e40bae460c78840a29447f2457f (patch)
tree190b74be3dbbf1e8fba00ac4885c08555b0d5dce /src/NXP/Classes/Calculator.php
parent92445b50835cb68aa98cb92f1422695cae8c7343 (diff)
Fixed function parameter order (#42)v0.7.1
* Fixed parsing for () * sync (#5) * Documentation fixes (#34) Fixing typos in and clarifying documentation. * MathExecutor allow override default operators, functions and vars (#36) * Added simple coc (#37) * Added simple coc * Fix * Replaceable operators (#38) * Updated from NeonXP/MathExecutor * Fixed function in () block issue * Fixing typos in and clarifying documentation. * Syncing from origin (#3) * Documentation fixes (#34) Fixing typos in and clarifying documentation. * MathExecutor allow override default operators, functions and vars (#36) * Allow for operators to be replaced based on regex expression * Fix md typo (#39) * Updated from NeonXP/MathExecutor * Fixed function in () block issue * Fixing typos in and clarifying documentation. * Syncing from origin (#3) * Documentation fixes (#34) Fixing typos in and clarifying documentation. * MathExecutor allow override default operators, functions and vars (#36) * Syncing to origin (#4) * Documentation fixes (#34) Fixing typos in and clarifying documentation. * MathExecutor allow override default operators, functions and vars (#36) * Added simple coc (#37) * Added simple coc * Fix * Replaceable operators (#38) * Updated from NeonXP/MathExecutor * Fixed function in () block issue * Fixing typos in and clarifying documentation. * Syncing from origin (#3) * Documentation fixes (#34) Fixing typos in and clarifying documentation. * MathExecutor allow override default operators, functions and vars (#36) * Allow for operators to be replaced based on regex expression * \\ instead of \ * Update README.md Some small fixes * Fix single quotes parsing (#41) * Fix single quotes parsing Fix e-mails Some small fixes * Mistake in test * More PHP versions * Update README.md Deleted `dev` branch * Fixed function parameter order Corrected $places default value for addFunction to match TokenFactory Added function order test and put expected order first in assertEquals If else blocks in calculator Updated docs
Diffstat (limited to 'src/NXP/Classes/Calculator.php')
-rw-r--r--src/NXP/Classes/Calculator.php12
1 files changed, 4 insertions, 8 deletions
diff --git a/src/NXP/Classes/Calculator.php b/src/NXP/Classes/Calculator.php
index 1ceac84..62dbc17 100644
--- a/src/NXP/Classes/Calculator.php
+++ b/src/NXP/Classes/Calculator.php
@@ -38,22 +38,18 @@ class Calculator
foreach ($tokens as $token) {
if ($token instanceof TokenNumber) {
array_push($stack, $token);
- }
- if ($token instanceof TokenStringDoubleQuoted) {
+ } else if ($token instanceof TokenStringDoubleQuoted) {
array_push($stack, $token);
- }
- if ($token instanceof TokenStringSingleQuoted) {
+ } else if ($token instanceof TokenStringSingleQuoted) {
array_push($stack, $token);
- }
- if ($token instanceof TokenVariable) {
+ } 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) {
+ } else if ($token instanceof InterfaceOperator || $token instanceof TokenFunction) {
array_push($stack, $token->execute($stack));
}
}