aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMarshall Lochbaum <mwlochbaum@gmail.com>2020-09-06 14:43:27 -0400
committerMarshall Lochbaum <mwlochbaum@gmail.com>2020-09-06 14:47:06 -0400
commit7335545abf46a399f17d7e86d923d3268788b128 (patch)
tree045647b2d3fef67bf182e46bf6f888f6f5b820cf /src
parentf45f2d4ab369412bbe95f1d7b8a49b45c964d068 (diff)
Simplify compiler constant definitions
Diffstat (limited to 'src')
-rw-r--r--src/c.bqn15
1 files changed, 7 insertions, 8 deletions
diff --git a/src/c.bqn b/src/c.bqn
index 3d1a1b41..5c205177 100644
--- a/src/c.bqn
+++ b/src/c.bqn
@@ -1,6 +1,6 @@
nl←@+10
-charSet←∾charGroups←⟨
- chF←"+-×÷⋆√⌊⌈|¬∧∨<>≠=≤≥≡≢⊣⊢⥊∾≍↑↓↕⌽⍉/⍋⍒⊏⊑⊐⊒∊⍷⊔!" # Function
+charSet‿cgl←(∾ ≍○< ≠¨)⟨
+ "+-×÷⋆√⌊⌈|¬∧∨<>≠=≤≥≡≢⊣⊢⥊∾≍↑↓↕⌽⍉/⍋⍒⊏⊑⊐⊒∊⍷⊔!" # Function
"˙˜˘¨⌜⁼´˝`" # Modifier
"∘○⊸⟜⌾⊘◶⎉⚇⍟" # Composition
nl∾"⋄," # Separator
@@ -25,11 +25,10 @@ CharCode←charSet{
Chk ← ⊢⊣ErrUnknownChars∘(≠/⊣)⍟≢⟜(⊏⟜𝕗)
g←⍋𝕗 ⋄ ⊢ Chk g⊏˜1-˜1⌈(g⊏𝕗)⍋⊢
}
-bF‿bM‿bC‿bS‿bG‿bB‿bL‿bO‿bI‿bU‿bD‿bN‿bA‿bW←≍¨˜⟜(+`≠↑0∾⊢)≠¨charGroups
-bA_e←4+⊑bA
+bF‿bM‿bC‿bS‿bG‿bB‿bL‿bO‿bI‿bU‿bD‿bN‿bA‿bW←≍¨˜⟜(+`≠↑0∾⊢)cgl
M←1⊸⊑(0⊸≤∧>)-⟜⊑
-vi←+´≠¨9↑charGroups
-charRole←((vi-1⊑bI)↑/0∾≠¨3↑charGroups)∾(5/⌽↕2)∾0
+vi←⊑bU
+charRole←((⊑bI)↑/0∾3↑cgl)∾(5/⌽↕2)∾0
spc←⥊3‿5‿6-⌜3‿0
Tokenize←{
@@ -61,12 +60,12 @@ Tokenize←{
}
ReadNum←{
- n‿d‿p‿i←4↕⊸+⊑bN # ¯.π∞
+ n‿d‿p‿i←+⟜↕´bN # ¯.π∞
Nat←+⟜(10⊸×)´∘⌽ -⟜(⊑bD)
Int←(n=⊑)◶⟨Nat,-·Nat 1⊸↓⟩
Dec←⊐⟜(<d)⊸(Nat∘↑ + ·(0<≠)◶⟨0,Nat÷10⋆≠⟩+⟜1⊸↓)
Pos←(⊑p‿i⊐⊏)◶⟨π,∞,Dec⟩
- e←⊑𝕩⊐bA_e
+ e←⊑𝕩⊐(-´"ea")+⊑bA
m←(n=⊑)◶⟨Pos,-·Pos 1⊸↓⟩e↑𝕩
𝕩×⟜(10⋆·Int(e+1)↓⊣)˜⍟(e<≠𝕩)m
}