UNPKG

@fauton/cfg

Version:

A package to work with context free grammars and LL1 parsers

63 lines (62 loc) 5.92 kB
"use strict"; var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); }) : (function(o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; })); var __exportStar = (this && this.__exportStar) || function(m, exports) { for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); }; Object.defineProperty(exports, "__esModule", { value: true }); exports.findFirst = exports.validateCfg = exports.simplifyCfg = exports.extractTerminalsFromCfg = exports.removeUselessProduction = exports.removeUnreachableProduction = exports.removeUnitProduction = exports.removeNullProduction = exports.removeNonTerminableProduction = exports.removeEmptyProduction = exports.generateCfgLanguage = exports.cykParse = exports.convertToCnf = exports.convertStringToGrammar = exports.convertGrammarToString = exports.findFollow = exports.generateLL1ParsingTable = exports.parseWithLL1Table = exports.removeNonDeterminism = exports.removeLeftRecursion = exports.LRO = void 0; const convertGrammarToString_1 = require("./convertGrammarToString"); Object.defineProperty(exports, "convertGrammarToString", { enumerable: true, get: function () { return convertGrammarToString_1.convertGrammarToString; } }); const convertStringToGrammar_1 = require("./convertStringToGrammar"); Object.defineProperty(exports, "convertStringToGrammar", { enumerable: true, get: function () { return convertStringToGrammar_1.convertStringToGrammar; } }); const convertToCnf_1 = require("./convertToCnf"); Object.defineProperty(exports, "convertToCnf", { enumerable: true, get: function () { return convertToCnf_1.convertToCnf; } }); const cykParse_1 = require("./cykParse"); Object.defineProperty(exports, "cykParse", { enumerable: true, get: function () { return cykParse_1.cykParse; } }); const extractTerminalsFromCfg_1 = require("./extractTerminalsFromCfg"); Object.defineProperty(exports, "extractTerminalsFromCfg", { enumerable: true, get: function () { return extractTerminalsFromCfg_1.extractTerminalsFromCfg; } }); const findFirst_1 = require("./findFirst"); Object.defineProperty(exports, "findFirst", { enumerable: true, get: function () { return findFirst_1.findFirst; } }); const findFollow_1 = require("./findFollow"); Object.defineProperty(exports, "findFollow", { enumerable: true, get: function () { return findFollow_1.findFollow; } }); const generateCfgLanguage_1 = require("./generateCfgLanguage"); Object.defineProperty(exports, "generateCfgLanguage", { enumerable: true, get: function () { return generateCfgLanguage_1.generateCfgLanguage; } }); const generateLL1ParsingTable_1 = require("./generateLL1ParsingTable"); Object.defineProperty(exports, "generateLL1ParsingTable", { enumerable: true, get: function () { return generateLL1ParsingTable_1.generateLL1ParsingTable; } }); const generateLR0ParsingTable_1 = require("./generateLR0ParsingTable"); const parseWithLL1Table_1 = require("./parseWithLL1Table"); Object.defineProperty(exports, "parseWithLL1Table", { enumerable: true, get: function () { return parseWithLL1Table_1.parseWithLL1Table; } }); const removeEmptyProduction_1 = require("./removeEmptyProduction"); Object.defineProperty(exports, "removeEmptyProduction", { enumerable: true, get: function () { return removeEmptyProduction_1.removeEmptyProduction; } }); const removeLeftRecursion_1 = require("./removeLeftRecursion"); Object.defineProperty(exports, "removeLeftRecursion", { enumerable: true, get: function () { return removeLeftRecursion_1.removeLeftRecursion; } }); const removeNonDeterminism_1 = require("./removeNonDeterminism"); Object.defineProperty(exports, "removeNonDeterminism", { enumerable: true, get: function () { return removeNonDeterminism_1.removeNonDeterminism; } }); const removeNonTerminableProduction_1 = require("./removeNonTerminableProduction"); Object.defineProperty(exports, "removeNonTerminableProduction", { enumerable: true, get: function () { return removeNonTerminableProduction_1.removeNonTerminableProduction; } }); const removeNullProduction_1 = require("./removeNullProduction"); Object.defineProperty(exports, "removeNullProduction", { enumerable: true, get: function () { return removeNullProduction_1.removeNullProduction; } }); const removeUnitProduction_1 = require("./removeUnitProduction"); Object.defineProperty(exports, "removeUnitProduction", { enumerable: true, get: function () { return removeUnitProduction_1.removeUnitProduction; } }); const removeUnreachableProduction_1 = require("./removeUnreachableProduction"); Object.defineProperty(exports, "removeUnreachableProduction", { enumerable: true, get: function () { return removeUnreachableProduction_1.removeUnreachableProduction; } }); const removeUselessProduction_1 = require("./removeUselessProduction"); Object.defineProperty(exports, "removeUselessProduction", { enumerable: true, get: function () { return removeUselessProduction_1.removeUselessProduction; } }); const simplifyCfg_1 = require("./simplifyCfg"); Object.defineProperty(exports, "simplifyCfg", { enumerable: true, get: function () { return simplifyCfg_1.simplifyCfg; } }); const validateCfg_1 = require("./validateCfg"); Object.defineProperty(exports, "validateCfg", { enumerable: true, get: function () { return validateCfg_1.validateCfg; } }); // TODO: Create separate classes for grouping modules // Name-spacing lr0 parser related modules exports.LRO = { addDotToProductionRule: generateLR0ParsingTable_1.addDotToProductionRule, generateClosureOfLR0Item: generateLR0ParsingTable_1.generateClosureOfLR0Item, generateLR0ParsingTable: generateLR0ParsingTable_1.generateLR0ParsingTable, }; __exportStar(require("./types"), exports);