diff options
author | Bruce Wells <brucekwells@gmail.com> | 2020-04-21 18:12:55 +0300 |
---|---|---|
committer | Bruce Wells <brucekwells@gmail.com> | 2020-05-20 04:31:46 +0300 |
commit | 47ec6595468bed0ffbea3de9b8d9c4a68a9e0a14 (patch) | |
tree | 35f93e3f47d06ce9a03edea2b05b29f1b9147679 /src/NXP/Classes | |
parent | e7add2d36dce3a25389e359bd53e4b5ebc6160f9 (diff) |
Negative expression start (#60)
* Update documentation for PHPFUI/InstaDoc
* Support for negative numbers starting paren enclosed expressions
Diffstat (limited to 'src/NXP/Classes')
-rw-r--r-- | src/NXP/Classes/Lexer.php | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/NXP/Classes/Lexer.php b/src/NXP/Classes/Lexer.php index a7fe697..9964de9 100644 --- a/src/NXP/Classes/Lexer.php +++ b/src/NXP/Classes/Lexer.php @@ -76,10 +76,10 @@ class Lexer $output[] = $token; } elseif ($token instanceof TokenNumber) { // if the number starts with a minus sign, it could be a negative number, or it could be an operator grabbed by the greedy regex - // if previous token is an operator, then it negative, otherwise remove the minus sign and put a negative operator on the stack + // if previous token is an operator or open bracket, then it negative, otherwise remove the minus sign and put a negative operator on the stack if ($lastToken !== null) { $value = $token->getValue(); - if (($value < 0 || $this->isNegativeZero($value)) && ! ($lastToken instanceof AbstractOperator)) { + if (($value < 0 || $this->isNegativeZero($value)) && ! ($lastToken instanceof AbstractOperator || $lastToken instanceof TokenLeftBracket)) { $token = new TokenNumber(abs($value)); $output[] = $token; $output[] = new TokenMinus('-'); |