UNPKG

@fauton/cfg

Version:

A package to work with context free grammars and LL1 parsers

18 lines (17 loc) 668 B
"use strict"; 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;