Source: utils.js

/**
 * Universidad de La Laguna
 * Escuela Superior de Ingeniería y Tecnología
 * Grado en Ingeniería Informática
 * Procesadores de Lenguajes
 *
 * @author Juan Rodríguez Suárez
 * @since Mar 04 2024
 * @desc Contains some utility functions.
 */

/**
 * @brief Returns the string '$' + id
 * @param {string} id - The input
 * @returns {string} The output
 */
const $ = id => '$' + id;

/**
 * @brief Calculates the difference between two sets.
 * @param {Set} setA - The first set
 * @param {Set} setB - The second set
 * @returns {Set} The difference
 */
function difference(setA, setB) {
  let difference = new Set(setA);
  for (const ELEMENT of setB) {
    difference.delete(ELEMENT);
  }
  return difference;
}

module.exports = {
  $, 
  difference
};