diff options
| author | Marshall Lochbaum <mwlochbaum@gmail.com> | 2020-11-21 11:31:49 -0500 |
|---|---|---|
| committer | Marshall Lochbaum <mwlochbaum@gmail.com> | 2020-11-21 11:31:49 -0500 |
| commit | 3ea7eb8d18be52a989285e1a659be6ab76cc02b4 (patch) | |
| tree | adc6d77c137f36a7e1e983524b3116a3bf0f938e /src | |
| parent | bac1b187aae5b524b98f0f70223d3b1d02175a80 (diff) | |
Stop encoding bytecode with LEB128; that can be done later for serialization
Diffstat (limited to 'src')
| -rw-r--r-- | src/c.bqn | 11 | ||||
| -rwxr-xr-x | src/cjs.bqn | 2 | ||||
| -rw-r--r-- | src/e.bqn | 5 |
3 files changed, 3 insertions, 15 deletions
@@ -191,16 +191,7 @@ Parse ← {r‿vn‿i‿e←𝕨⋄nv←≠vn bc←or⊏∾idbc∾⟨0¨cn,ob,15¨bk,1+↕≠bk,14¨dr,⥊⍉(3+l⊏aa)≍ll 11⌈(11-1+⊑bG)+(af/ai)⊏ma+𝕩,5+oa⊏r,(⊢+9×10⊸=)16+dy-7×fa⊏er,25¨rt⟩ oj←i(≠-1˙)⊸⌊oi(-⊸↓˜⟜≠∾⊢)g⊏˜∾⟨1-˜af/at,oa,fa,rt⟩ - bcl‿el‿ol←LEB bc∾25 - ⟨bcl,u,⟨ft,¬fx,el/˜1∾or≥bc-○≠rt,lc+fsc⟩, (ol/¯1∾˜or⊏oj)⊸⊏¨i‿e⟩ -} - -LEB←{ - b←128 - s←+`»i←1+l←⌊b⋆⁼1⌈𝕩 - o←⍋⍋↕∘≠⊸-i/s - v←o⊏l{f←×𝕨⋄(𝕨-1)(b⊸(×⟜f+|)∾𝕊⟜(⌊÷⟜b)○(f⊸/))⍟(∨´f)𝕩}𝕩 - v‿s‿i + ⟨bc∾25,u,⟨ft,¬fx,/1∾or≥bc-○≠rt,lc+fsc⟩, (¯1∾˜or⊏oj)⊸⊏¨i‿e⟩ } Compile←{ diff --git a/src/cjs.bqn b/src/cjs.bqn index 5abe7409..8041b9bc 100755 --- a/src/cjs.bqn +++ b/src/cjs.bqn @@ -12,7 +12,7 @@ L ← "["∾"]"∾˜1↓·∾","⊸∾⟜⍕¨ J ← ∾∾⟜(@+10)¨ Fout ← (≠↑⟨⊢,Fconst,L,⊢⟩˙) {L𝕎¨𝕩}¨ ⊢ Frun ← ("provide.concat("∾∾⟜")")⌾(1⊸⊑) Fout -Long ← ∾ (≠↑1‿3/⟨" new Uint8Array("∾∾⟜")"⋄((@+10)∾" ,")⊸∾⟩˙) {𝕎𝕩}¨ ⊢ +Long ← ∾ (≠↑1‿3/⟨" "⊸∾⋄((@+10)∾" ,")⊸∾⟩˙) {𝕎𝕩}¨ ⊢ •Out (⊑"r"‿"c"‿"fmt"‿"e"⊐⊏)◶⟨ {𝕩⋄ref‿len←•Import"pr.bqn"⋄Long Frun len⊸↓⌾(1⊸⊑)Comp ref} {𝕩⋄Long Fout Comp J •LNS "c.bqn"} @@ -45,10 +45,7 @@ Explain ← { "00000110111001001101000100" # Position determiner ⟩ m ← { # Mask of instruction starts - a ← ba(⊣⊏˜≠⊸>×⊢)b - na← ∾⟜≠ (≠-(1+↕∘≠)⊸(»·⌈`×)⌾⌽) <⟜128 b - n ← 1+{(𝕩=⌜a) +˝∘× >⊏⟜na⍟𝕩↕≠a}↕3 - ! ∧´ ↕∘≠⊸< n + n ← (↕≠b)+1+ba(⊣⊏˜≠⊸>×⊢)b Se←{(⊏˜𝕨)Se 1¨⌾((𝕩/𝕨)⊸⊏)𝕩}⍟(0=¯1⊑⊢) (≠↑∾⟜≠Se 1∾0¨) n } |
