1
var parseBoolExpr = function (expression) {4
op = { t: true, f: false };5
for (let i = 0; i < expression.length; i++) {6
if (expression[i] != ")") {7
if (expression[i] !== ",") stack.push(expression[i]);11
while (stack.slice(-1)[0] !== "(") {12
findings.push(stack.pop());15
let operator = stack.pop();16
if (operator == "|") {17
ko = findings.reduce((a, b) => ((op[a] || op[b]) === true ? "t" : "f"));19
if (operator == "&") {20
ko = findings.reduce((a, b) => ((op[a] && op[b]) === true ? "t" : "f"));22
if (operator == "!") {23
ko = findings.pop() === "f" ? "t" : "f";28
return stack.pop() == "f" ? false : true;