aboutsummaryrefslogtreecommitdiff
path: root/test/ref.bqn
blob: 03ca48c36d514ffd172e0b0fcd228fda21a1e8d6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
src  ""¨/ (`'#')/¨ •FLines "../spec/reference.bqn"
lines  (¯1↓∾)¨(src¨@+10)˜+`»0=+`+´¨+˝-˝("{⟨""}⟩")=src
assumedefs  (´"←↩")¨ lines
LC  ⊢+('a'-'A')×1="A["
anamesnames  (LC' '/)¨¨ assume, (`·¬∊"←↩")/¨ defs

nIsP(1=≠)¨names
NextSame  (⊢⍋∾«¨)
range  {(⌜˜  nIsP 1 ⌜˜  (NextSame𝕩)>) ↕≠𝕩} names

idChars  "_¯.π∞𝕣"∾∾"0aA"+¨102626
defTok  (¯1+`·¬·»∧∊idChars)¨ defs
depend  </˘ range  > (names∊LC¨)¨ (0=·+`·-˝"{""}")/¨defTok
order  {{(𝕨∨𝕊(𝕩<≠⊢)𝕩∾/)(0»∨`)<𝕨<∧´𝕨¨l}/0¨l𝕩} depend

chrs  •Import "../src/glyphs.bqn"

defkeep  ¨(1) (1=≠)¨ anames
keep"⌾⎊"
pre"Type←•Type""_amend←{𝕨˙⌾(𝕗⊸⊑)𝕩}""Identity←{𝕏´⟨⟩}""Fill←⊑∘»1↑⥊"

GetRepls  {
  ki  (¨𝕩)keep
  (ki/)` 𝕩
}

E_proc  chrsGetRepls •Import "../src/pp.bqn"

rslt  "⟨""⟩"«∾","¨chrs  # Output all primitives
•BQN ∾∾(@+10)¨ pre  order⊏E_proc¨ defs∾<rslt