Fix toRPN cac

This commit is contained in:
kwaroran
2024-04-25 14:43:52 +09:00
parent a476bc9c05
commit 0ebc919080

View File

@@ -17,12 +17,12 @@ function toRPN(expression:string) {
}; };
expression = expression.replace(/\s+/g, ''); expression = expression.replace(/\s+/g, '');
let expression2 = expression.split(/([\+\-\*\/\^\%\>\<])/).filter(token => token); let expression2 = expression.split(/([\+\-\*\/\^\%\>\<\|\&])/).filter(token => token);
expression2.forEach(token => { expression2.forEach(token => {
if (parseFloat(token) || token === '0') { if (parseFloat(token) || token === '0') {
outputQueue += token + ' '; outputQueue += token + ' ';
} else if ('+-*/^%><'.includes(token)) { } else if ('+-*/^%><|&'.includes(token)) {
while (operatorStack.length > 0 && while (operatorStack.length > 0 &&
((operators[token].associativity === 'Left' && ((operators[token].associativity === 'Left' &&
operators[token].precedence <= operators[operatorStack[operatorStack.length - 1]].precedence) || operators[token].precedence <= operators[operatorStack[operatorStack.length - 1]].precedence) ||