From 85e948b432aa26dea5b20ff9998aaef5b2ee7f69 Mon Sep 17 00:00:00 2001 From: Marshall Lochbaum Date: Mon, 6 Jul 2020 12:53:17 -0400 Subject: Use file arguments in dzref --- spec/dzref | 7 ++++++- test/dt.js | 6 ++---- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/spec/dzref b/spec/dzref index 11106297..26c3e039 100755 --- a/spec/dzref +++ b/spec/dzref @@ -218,6 +218,7 @@ ProgressiveIndexOf ← {𝕨⊐○(≍˘⟜OccurrenceCount𝕨⊸⊐)𝕩} ⊒ ← OccurrenceCount⊘ ProgressiveIndexOf " +X←Raw←{≤4} { chrs←⟨ "!∧∨∾↑↕⌽⍉⍋⍒⊐⊒∊⍷⊔" @@ -267,5 +268,9 @@ ProgressiveIndexOf ← {𝕨⊐○(≍˘⟜OccurrenceCount𝕨⊸⊐)𝕩} lf ← •UCS 10 pre ← E_isdef◶E_proc‿E_redef¨ lf((⊢-˜¬×+`)∘=⊔⊢)impl - ⍎ ∾ ∾⟜lf¨ pre ∾ E_proc¨ •STDIN⟨⟩ + Raw↩⍎ + ExecFile←{Raw ∾ ∾⟜lf¨ E_proc¨ •LNS 𝕩} + X↩Raw∘E_proc + ⍎ ∾ ∾⟜lf¨ pre + ≠◶X‿{ExecFile ⊑𝕩}‿{ExecFile ⊑𝕩 ⋄ X 1⊑𝕩} •args }0 diff --git a/test/dt.js b/test/dt.js index 07be98e2..a5862ccf 100755 --- a/test/dt.js +++ b/test/dt.js @@ -1,5 +1,5 @@ //usr/bin/env node "$0" $@;exit $? -const exec = require('child_process').exec +const execFile = require('child_process').execFile , load=f=>require('fs').readFileSync(__dirname+'/'+f,'utf8') , runWasm=w=>new WebAssembly.Instance(new WebAssembly.Module(Uint8Array.from(w))) .exports.fn() @@ -8,7 +8,7 @@ const t=load('cases.bqn').split('\n').filter(x=>x).map(x=>x.split(' % ')) , test=t.map(e=>'"'+e[1]+'"').join('\n') , expt=t.map(e=>+e[0]) -var compiler = exec(__dirname+'/../spec/dzref', function (error, stdout, stderr) { +var compiler = execFile(__dirname+'/../spec/dzref',[__dirname+'/../dc.bqn','{•←Compile𝕩}¨⟨'+test+'⟩'], function (error, stdout, stderr) { const rslt=stdout.split('\n').filter(a=>a.length) .map(a=>runWasm(a.split("‿").map(n=>+n))) , pass=rslt.map((r,i)=>r===expt[i]) @@ -20,5 +20,3 @@ var compiler = exec(__dirname+'/../spec/dzref', function (error, stdout, stderr) ) process.exit(+(fail.length>0)) }); -compiler.stdin.write(load('../dc.bqn').concat('{•←Compile𝕩}¨⟨'+test+'⟩')) -compiler.stdin.end() -- cgit v1.2.3