js-slang
Version:
Javascript-based implementations of Source, written in Typescript
35 lines • 1.19 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
const fs = require("fs");
const acorn_1 = require("acorn");
const createContext_1 = require("./createContext");
const types_1 = require("./types");
const context = (0, createContext_1.default)(types_1.Chapter.SOURCE_4);
// Generate names.txt
const a = context.nativeStorage.builtins.keys();
const names_file = fs.createWriteStream('sicp_publish/names.txt');
names_file.on('error', function (e) {
console.log(e);
});
for (const name of a) {
names_file.write(name + '\n');
}
names_file.end();
// Generate prelude.txt
const prelude_file = fs.createWriteStream('sicp_publish/prelude.txt');
prelude_file.on('error', function (e) {
console.log(e);
});
prelude_file.write(context.prelude);
prelude_file.end();
// Generate prelude_names.txt
const b = (0, acorn_1.parse)(context.prelude || '', { ecmaVersion: 2020 });
const prelude_names = fs.createWriteStream('sicp_publish/prelude_names.txt');
prelude_names.on('error', function (e) {
console.log(e);
});
b.body
.map(node => node.id?.name)
.map(name => prelude_names.write(name + '\n'));
prelude_names.end();
//# sourceMappingURL=sicp-prepare.js.map
;