From fa5da41ea5a0762b7aeee8ad97522e215651d054 Mon Sep 17 00:00:00 2001 From: Marshall Lochbaum Date: Sat, 31 Oct 2020 22:15:18 -0400 Subject: Move expression explanation code to src/e.bqn --- tutorial/evalexp.bqn | 54 +--------------------------------------------------- 1 file changed, 1 insertion(+), 53 deletions(-) (limited to 'tutorial') diff --git a/tutorial/evalexp.bqn b/tutorial/evalexp.bqn index eff3aad2..048181ee 100644 --- a/tutorial/evalexp.bqn +++ b/tutorial/evalexp.bqn @@ -1,54 +1,2 @@ -wh ← 10.75‿24 -pad← wh×2‿1 -to ← 1+wh÷2‿3 -t ← 10 - -ps ← At "class=Paren|stroke=currentColor|fill=none|stroke-width=1" -rc ← At "class=code|stroke-width=1|rx=10" -gr ← "g" At "font-family=BQN,monospace|font-size=18px" -gt ← "g" At "text-anchor=middle" -gb ← "g" At "class=codeCover|stroke-width=6|stroke-linejoin=round" -gf ← "g" At "font-size=15px|opacity=0.9" -Shadow ← { - t ← (⟨0,0‿¯2⟩+⌜𝕨) ("text" Attr Pos)⊸Enc¨ (⊢≍Highlight¨) ⥊¨𝕩 - gt Enc ⟨gb,gf⟩ Enc¨<˘ t -} - Compile ← (↕62)⊸(•Import "../src/c.bqn") -DrawEval←{ - b‿const‿blk‿i ← Compile 𝕩 - ba‿bc‿bo‿bp ← '0'-˜⟨ # For each instruction, number of: - "11111000000000010000022000" # Arguments - "000//232323223102303200121" # Stack values consumed - "11111111111111011101111111" # Stack values output - "00000110111001001101000100" # Position determiner - ⟩ - m ← { # Mask of instruction starts - a ← ba(⊣⊏˜≠⊸>×⊢)b - na← ∾⟜≠ (≠-(1+↕∘≠)⊸(»·⌈`×)⌾⌽) <⟜128 b - n ← 1+{(𝕩=⌜a) +˝∘× >⊏⟜na⍟𝕩↕≠a}↕3 - ! ∧´ ↕∘≠⊸< n - Se←{(⊏˜𝕨)Se 1¨⌾((𝕩/𝕨)⊸⊏)𝕩}⍟(0=¯1⊑⊢) - (≠↑∾⟜≠Se 1∾0¨) n - } - mb‿mi ← m⊸/¨ b‿i - mi↓˜↩¯1 - - r←+`(mb⊏bo)-na←mb⊏bc - ! 1=¯1⊑r - p←((¯1↓r)⍋⊸⊏○⍋(⊏⟜r+⊒))⊸⊏/na - j←¯1↓mi⊏˜⊏˜⍟≠{s←𝕩⊏˜g←⍋𝕩⋄(g/˜(⊒s)=s⊏mb⊏bp)⌾((⍷s)⊸⊏)↕≠mb}p - je←j∾¯1.25 - d←+`⊸×f←0