ben-sb-shift-codegen
Version:
code generator for Shift format ASTs (forked for use in https://github.com/ben-sb/javascript-deobfuscator)
41 lines (37 loc) • 980 B
JavaScript
const reduce = require('shift-reducer').default;
const { TokenStream } = require('./token-stream');
const MinimalCodeGen = require('./minimal-codegen');
function codeGen(script, generator = new MinimalCodeGen) {
let ts = new TokenStream;
let rep = reduce(generator, script);
rep.emit(ts);
return ts.result;
}
const { ExtensibleCodeGen, FormattedCodeGen, Sep } = require('./formatted-codegen');
const { Precedence, getPrecedence, escapeStringLiteral, CodeRep, Empty, Token, NumberCodeRep, Paren, Bracket, Brace, NoIn, ContainsIn, Seq, Semi, CommaSep, SemiOp } = require('./coderep');
const codeGenWithLocation = require('./with-location');
module.exports = {
default: codeGen,
codeGen,
MinimalCodeGen,
ExtensibleCodeGen,
FormattedCodeGen,
Sep,
Precedence,
getPrecedence,
escapeStringLiteral,
CodeRep,
Empty,
Token,
NumberCodeRep,
Paren,
Bracket,
Brace,
NoIn,
ContainsIn,
Seq,
Semi,
CommaSep,
SemiOp,
codeGenWithLocation,
};