UNPKG

unfuck

Version:

A brainfuck to Javascript compiler with optimizations.

23 lines (21 loc) 510 B
function setZero ( settings, ast ) { return ast.reduce(( acc, ins ) => { if (ins.is === 'IF') { if ((ins.body.length === 1) && (ins.body[0].is === 'SFT') && ((ins.body[0].body === -1) || (ins.body[0].body === 1))) { acc.push({ is: 'SET', body: 0 }); } else { acc.push({ is: 'IF', body: setZero(settings, ins.body) }); } } else { acc.push(ins); } return acc; }, []) } module.exports = setZero;