@fauton/cfg
Version:
A package to work with context free grammars and LL1 parsers
18 lines (17 loc) • 668 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.setCrossProduct = exports.setDifference = void 0;
function setDifference(setA, setB) {
return new Set(Array.from(setA).filter((setAElement) => !setB.has(setAElement)));
}
exports.setDifference = setDifference;
function setCrossProduct(setA, setB) {
const crossProductSet = new Set();
if (setA.size === 0 || setB.size === 0)
return crossProductSet;
setA.forEach((setAItem) => {
setB.forEach((setBItem) => crossProductSet.add(`${setAItem} ${setBItem}`));
});
return crossProductSet;
}
exports.setCrossProduct = setCrossProduct;