diff options
| author | Marshall Lochbaum <mwlochbaum@gmail.com> | 2020-10-26 18:37:32 -0400 |
|---|---|---|
| committer | Marshall Lochbaum <mwlochbaum@gmail.com> | 2020-10-26 18:37:32 -0400 |
| commit | 0c59728d5f8bae5ae6add34de9db76ae86cf95ae (patch) | |
| tree | 2bc45ce1023b417f9a300da58647bc1dce10805f /src | |
| parent | d3fc34c70fbb8c3adac739506c801cc8990b0b1f (diff) | |
Add _tmpl error formatting utility
Diffstat (limited to 'src')
| -rw-r--r-- | src/c.bqn | 15 |
1 files changed, 6 insertions, 9 deletions
@@ -17,14 +17,13 @@ charSet‿cgl←(∾ ≍○< ≠¨)⟨ "#'""@" # Preprocessed characters ⟩ bF‿b1‿b2‿bS‿bG‿bB‿bL‿bO‿bI‿bD‿bN‿bA‿bW‿bP←≍¨˜⟜(+`»)cgl -M←1⊸⊑(0⊸≤∧>)-⟜⊑ # ∊ for an init,length pair 𝕩 as above +M←1⊸⊑(0⊸≤∧>)-⟜⊑ # ∊ for an init,length pair 𝕩 as above sep←⊑bS -Pl←∾⟜("s"/˜1<≠) # Pluralize +Pl←∾⟜("s"/˜1<≠) # Pluralize +_tmpl←{∾𝕗{𝕎𝕩}¨<𝕩} # Template # Convert characters to numbers, mostly the same as tokens CharCode←charSet{ - ErrUnknownChars←{ - ⟨"Unknown character"Pl𝕩,": ",𝕩⟩∾⊸!0 - } + ErrUnknownChars←0!˜⟨"Unknown character"⊸Pl,": ",⊢⟩_tmpl Chk ← ⊢⊣ErrUnknownChars∘(≠/⊣)⍟≢⟜(⊏⟜𝕗) g←⍋𝕗 ⋄ ⊢ Chk g⊏˜1-˜1⌈(g⊏𝕗)⍋⊢ } @@ -78,11 +77,9 @@ Tokenize←{ # preceded by 0. Return the numbers. ReadNums←{ ind←𝕨 ⋄ _err_←{(0!˜/⟜𝔾⟜ind≍○<𝔽)⍟(∨´∘⊢)} - ErrNumericChars←{ - ∾⟨"Letter"Pl𝕩," """,𝕩⊏charSet,""" not allowed in numbers"⟩ - } + EChars←⟨"Letter"⊸Pl," """,⊏⟜charSet,""" not allowed in numbers"⟩_tmpl e‿p‿i‿n‿d←=⟜𝕩¨((⊑bA)+-´"ea")∾+⟜↕´bN # Masks for eπ∞¯. - ErrNumericChars∘(/⟜𝕩)_err_⊢ ¬e∨𝕩<⊑bA + EChars∘(/⟜𝕩)_err_⊢ ¬e∨𝕩<⊑bA s←d∨c←e∨z←0=𝕩⋄m←¬n∨c "Negative sign in the middle of a number"_err_⊢ n>»c "Portion of a number is empty"_err_⊢ (1«s)∧n∨s |
