blob: d2b86a91f463709d9765730bd0c67298264c5523 (
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
|
# Single-Byte Character System (SBCS) for BQN
# This file implements an alternative character encoding for BQN, in
# which each character uses one byte.
# It must exist in order to count BQN characters as bytes for code golf,
# but never needs to be used.
#
# To use:
# $ bqn sbcs.bqn -ef infile.bqn outfile.bqn # Encode with SBCS
# $ bqn sbcs.bqn outfile.bqn # Run with SBCS
cs←"×÷⋆√⌊⌈¬∧∨≠≤≥≡≢⊣⊢⥊∾≍⋈↑↓↕«»⌽⍉⍋⍒⊏⊑⊐⊒∊⍷⊔˙˜˘¨⌜⁼´˝∘○⊸⟜⌾⊘◶⎉⚇⍟⎊⋄⇐←↩⟨⟩‿·𝕊𝕏𝕎𝔽𝔾𝕤𝕩𝕨𝕗𝕘π∞¯•"
base←@+128
off←0∾˜cs-base+↕≠cs
Decode ← (off(⊣⊏˜¯1⌈≠⊸⌊)-⟜base)⊸+
Encode ← -⟜(cs⊸⊐⊏off˙)
WriteFile ← •FBytes⟜Encode
RunFile ← •BQN Decode∘•FBytes
(⊑"-e"‿"-ef"‿"--"⊐⊏)◶⟨
•Out∘Encode 1⊸⊑
WriteFile⟜•FChars˜´ 1⊸↓
RunFile 1⊸⊑
RunFile ⊑
⟩ •args
|