logicParser = {
const expParserData = {
tokens: {
Space: /\s+/,
Literal: /\w+/,
Or: [/∨/, /\|/],
And: [/∧/, /&/],
Implies: [/→/, /->/],
Equiv: [/↔/, /<->/],
Xor: [/⊕/, /\^/],
Not: [/¬/, /\!/],
LeftParen: /\(/,
RightParen: /\)/
},
binaryOp: ["Or", "And", "Implies", "Equiv", "Xor"],
precedence: { Or: 3, And: 3, Xor: 3, Implies: 2, Not: 4, Equiv: 1 },
associativity: { Implies: "Right", Equiv: "Right" },
unaryOp: ["Not"],
terminal: ["Literal"]
};
return expressionParser(expParserData);
}