const fs=require('fs'), vm=require('vm'); const B=require('./bible-lexicon.js'); const src=fs.readFileSync('engine.js','utf8'); const sb={console};vm.createContext(sb); vm.runInContext(src.slice(src.indexOf('const SCRIPT_NO_SPACES'), src.indexOf('function applyFixes')), sb); const rows=require('/tmp/all-corpus.json'); for (const lang of B.languages()) { const bl=B.forLanguage(lang)||{}, fx=B.fixesFor(lang)||{}; const p1=Object.keys(bl).map(f=>({from:f,to:bl[f]})); const p2=Object.keys(fx).map(f=>({from:f,to:fx[f]})); let n=0,tot=0; const seen={}; for (const r of rows){ const t=String((r.tr&&r.tr[lang])||''); if(!t) continue; tot++; let out=sb.applyTable(t,p1); if(p2.length) out=sb.applyTable(out,p2); if(out===t) continue; n++; const a=t.split(/\s+/),b=out.split(/\s+/),d=[]; for(let i=0;ib[1]-a[1]).slice(0,10).forEach(([d,c])=>console.log(' '+String(c).padStart(3)+'x '+d)); }