diff options
| author | Marshall Lochbaum <mwlochbaum@gmail.com> | 2020-11-23 22:04:07 -0500 |
|---|---|---|
| committer | Marshall Lochbaum <mwlochbaum@gmail.com> | 2020-11-23 22:04:50 -0500 |
| commit | b8cff56030d664073f4c753ed2f3fff219d14bbf (patch) | |
| tree | 1b03c139b081b65901b6fd1525a68f863465f44c /src/c.bqn | |
| parent | e0258afc53f675f327b8f196d342f82bad7c486d (diff) | |
Comments for final parsing (and initial instruction generation) steps
Diffstat (limited to 'src/c.bqn')
| -rw-r--r-- | src/c.bqn | 16 |
1 files changed, 8 insertions, 8 deletions
@@ -177,15 +177,15 @@ Parse ← {r‿vn‿i‿e←𝕨⋄nv←≠vn idor←∾¯1⌽1‿3/⟨3/id∾ex∾sp,ed⊏ex⟩ idbc←¯1⌽⟨⥊⍉>ib,3¨ed,ex≠⊸(«-⊢)ed,14¨ed⟩ - ta←tr∧2(>∨|)ps(⊢-T)+`¬ro - fa←/(fe←ta∨ro∨«⊸∨ps<aa)<ff←(r=1)∨»op + ta←tr∧2(>∨|)ps(⊢-T)+`¬ro # Train argument (first-level) + fa←/(fe←ta∨ro∨«⊸∨ps<aa)<ff←(r=1)∨»op # Active functions: cases fe are excluded "Second-level parts of a train must be functions"_err_(G) tr>fe∨ff - dy←fa⊏«(𝕩=⊑bO)<(tr∧r≥0)∨ro<r=0 - ob←pr⊏/¯1(⊢-»)u←⍷∧pr←𝕩⊏˜pi←/𝕩<sep - cn←pi∾lt←/𝕩≥ci←vi+nv⋄ob∾↩(ci-˜≠u)+lt⊏𝕩 - s←𝕩=sep⋄fo←𝕩=2+⊑bB⋄ls←s∧fo<○IT lo←𝕩=4+⊑bB - ll←sll∾˜(¬lo/1«ps)+-⟜»1↓(lo∾1)/+`ls∾0 - dr←/ls<s⋄rt←/fo + dy←fa⊏«(𝕩=⊑bO)<(tr∧r≥0)∨ro<r=0 # Dyadic + ob←pr⊏/¯1(⊢-»)u←⍷∧pr←𝕩⊏˜pi←/𝕩<sep # Objects to be loaded + cn←pi∾lt←/𝕩≥ci←vi+nv⋄ob∾↩(ci-˜≠u)+lt⊏𝕩 # Constants + s←𝕩=sep⋄fo←𝕩=2+⊑bB⋄ls←s∧fo<○IT lo←𝕩=4+⊑bB # List Separators: after ⟨lo, not {fo + ll←sll∾˜(¬lo/1«ps)+-⟜»1↓(lo∾1)/+`ls∾0 # List Length + dr←/ls<s⋄rt←/fo # Drop (block separator) and return or←⍋oi←idor∾g⊏˜∾⟨cn,cn,bk,bk,dr,2/l,af/at,oa+1⌈oa⊏os,(dy×⊏⟜os)⊸+fa+dy,rt⟩ bc←or⊏∾idbc∾⟨0¨cn,ob,15¨bk,1+↕≠bk,14¨dr,⥊⍉(3+l⊏aa)≍ll |
