GGD/node_modules/chevrotain/diagrams/src/diagrams_serializer.js

21 lines
819 B
JavaScript
Raw Normal View History

/**
* @param {string} targetFilePath - The path and file name to serialize to.
* @param {string} varName - The name of the global variable to expose the serialized contents/
* @param {chevrotain.Parser} parserInstance - A parser instance whose grammar will be serialized.
*/
function serializeGrammarToFile(targetFilePath, varName, parserInstance) {
var fs = require("fs")
var serializedGrammar = parserInstance.getSerializedGastProductions()
var serializedGrammarText = JSON.stringify(serializedGrammar, null, "\t")
// generated a JavaScript file which exports the serialized grammar on the global scope (Window)
fs.writeFileSync(
targetFilePath,
"var " + varName + " = " + serializedGrammarText
)
}
module.exports = {
serializeGrammarToFile: serializeGrammarToFile
}