Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | 2x 2x 2x 2x 2x 2x 2x 30x 30x 30x 1x 1x 1x 29x 29x 29x 29x 29x | #!/usr/bin/env node
const {deb} = require('./deb.js');
const p = require("./calc").parser;
const fs = require('fs/promises');
const { scopeAnalysis, dependencies } = require('./scope.js');
const codeGen = require('./code-generation.js')
const writeCode = require('./write-code.js');
module.exports = async function transpile(inputFile, outputFile) {
let input = await fs.readFile(inputFile, 'utf-8')
let ast;
try {
ast = p.parse(input);
} catch (e) {
let m = e.message
console.error(m);
return m;
}
ast = dependencies(ast);
ast = scopeAnalysis(ast);
let output = codeGen(ast);
await writeCode(output, outputFile);
return output;
}
|