#Whitespace, 291 bytes
Whitespace, 291 bytes
NSSTTNNSTNNSTNNSTTNNSSTSNSSNSNSTNTSTTTSSSTSSSTTNTSSTSNSNTSSSSNSSSTTSSSNTSSTNTSSSTNNSNTSNNSSSSSNSNNNSTSSNNSTSTNNSTSTNNSTSNNSTTNNSTSNNSTNNSTSTNNSTTNNSTNNSTNNSNTTNNSSSSTNNSTSSNNSTSNNSTTNNSTSNNSTSSNNSNTSNNSSTNSSSTSTSNTNSSNTNNSSSSNNSTNNSTNNSSNSSSTSSSSSNTNSSNTNNSSSTNNSTSNNSTSNNSSSNSSSTSSTNTNSSNTN
Replace S by space, T by tab and N by a newline.
Generating whitespace in whitespace is not the most efficient thing in the world. Generating any kind of dynamic code requires significant bit-twiddling which, in a language without bitwise operations, would cause the code size to explode. Therefore, this program does not attempt to do something smart, instead opting for just translating the source program one to one. It disassembles to the following:
early:
call S
call S
call N
start:
push 0
dup
ichr
get
push 35
sub
dup
jz hash
push 24
sub
jz semi
jmp start
hash:
pop
call SSS
call TTT
call TTT
call T
call N
call T
call S
call TTT
call N
call S
call S
jmp early
semi:
call SSS
call T
call N
call T
call SSS
jmp start
N:
push 10
pchr
ret
SSS:
call S
call S
S:
push 32
pchr
ret
TTT:
call T
call T
T:
push 9
pchr
ret
The code generated by the program looks like:
push 0
push 1
add
push 1
add
push 1
add
push 1
add
push 1
add
push 1
add
push 1
add
push 1
add
push 1
add
push 1
add
push 1
add
push 127
mod
pchr
push 0
push 1
add
...
#Whitespace, 291 bytes
NSSTTNNSTNNSTNNSTTNNSSTSNSSNSNSTNTSTTTSSSTSSSTTNTSSTSNSNTSSSSNSSSTTSSSNTSSTNTSSSTNNSNTSNNSSSSSNSNNNSTSSNNSTSTNNSTSTNNSTSNNSTTNNSTSNNSTNNSTSTNNSTTNNSTNNSTNNSNTTNNSSSSTNNSTSSNNSTSNNSTTNNSTSNNSTSSNNSNTSNNSSTNSSSTSTSNTNSSNTNNSSSSNNSTNNSTNNSSNSSSTSSSSSNTNSSNTNNSSSTNNSTSNNSTSNNSSSNSSSTSSTNTNSSNTN
Replace S by space, T by tab and N by a newline.
Generating whitespace in whitespace is not the most efficient thing in the world. Generating any kind of dynamic code requires significant bit-twiddling which, in a language without bitwise operations, would cause the code size to explode. Therefore, this program does not attempt to do something smart, instead opting for just translating the source program one to one. It disassembles to the following:
early:
call S
call S
call N
start:
push 0
dup
ichr
get
push 35
sub
dup
jz hash
push 24
sub
jz semi
jmp start
hash:
pop
call SSS
call TTT
call TTT
call T
call N
call T
call S
call TTT
call N
call S
call S
jmp early
semi:
call SSS
call T
call N
call T
call SSS
jmp start
N:
push 10
pchr
ret
SSS:
call S
call S
S:
push 32
pchr
ret
TTT:
call T
call T
T:
push 9
pchr
ret
The code generated by the program looks like:
push 0
push 1
add
push 1
add
push 1
add
push 1
add
push 1
add
push 1
add
push 1
add
push 1
add
push 1
add
push 1
add
push 1
add
push 127
mod
pchr
push 0
push 1
add
...
Whitespace, 291 bytes
NSSTTNNSTNNSTNNSTTNNSSTSNSSNSNSTNTSTTTSSSTSSSTTNTSSTSNSNTSSSSNSSSTTSSSNTSSTNTSSSTNNSNTSNNSSSSSNSNNNSTSSNNSTSTNNSTSTNNSTSNNSTTNNSTSNNSTNNSTSTNNSTTNNSTNNSTNNSNTTNNSSSSTNNSTSSNNSTSNNSTTNNSTSNNSTSSNNSNTSNNSSTNSSSTSTSNTNSSNTNNSSSSNNSTNNSTNNSSNSSSTSSSSSNTNSSNTNNSSSTNNSTSNNSTSNNSSSNSSSTSSTNTNSSNTN
Replace S by space, T by tab and N by a newline.
Generating whitespace in whitespace is not the most efficient thing in the world. Generating any kind of dynamic code requires significant bit-twiddling which, in a language without bitwise operations, would cause the code size to explode. Therefore, this program does not attempt to do something smart, instead opting for just translating the source program one to one. It disassembles to the following:
early:
call S
call S
call N
start:
push 0
dup
ichr
get
push 35
sub
dup
jz hash
push 24
sub
jz semi
jmp start
hash:
pop
call SSS
call TTT
call TTT
call T
call N
call T
call S
call TTT
call N
call S
call S
jmp early
semi:
call SSS
call T
call N
call T
call SSS
jmp start
N:
push 10
pchr
ret
SSS:
call S
call S
S:
push 32
pchr
ret
TTT:
call T
call T
T:
push 9
pchr
ret
The code generated by the program looks like:
push 0
push 1
add
push 1
add
push 1
add
push 1
add
push 1
add
push 1
add
push 1
add
push 1
add
push 1
add
push 1
add
push 1
add
push 127
mod
pchr
push 0
push 1
add
...
#Whitespace, 291 bytes
NSSTTNNSTNNSTNNSTTNNSSTSNSSNSNSTNTSTTTSSSTSSSTTNTSSTSNSNTSSSSNSSSTTSSSNTSSTNTSSSTNNSNTSNNSSSSSNSNNNSTSSNNSTSTNNSTSTNNSTSNNSTTNNSTSNNSTNNSTSTNNSTTNNSTNNSTNNSNTTNNSSSSTNNSTSSNNSTSNNSTTNNSTSNNSTSSNNSNTSNNSSTNSSSTSTSNTNSSNTNNSSSSNNSTNNSTNNSSNSSSTSSSSSNTNSSNTNNSSSTNNSTSNNSTSNNSSSNSSSTSSTNTNSSNTN
Replace S by space, T by tab and N by a newline.
Generating whitespace in whitespace is not the most efficient thing in the world. Generating any kind of dynamic code requires significant bit-twiddling which, in a language without bitwise operations, would cause the code size to explode. Therefore, this program does not attempt to do something smart, instead opting for just translating the source program one to one. It disassembles to the following:
early:
call S
call S
call N
start:
push 0
dup
ichr
get
push 35
sub
dup
jz hash
push 24
sub
jz semi
jmp start
hash:
pop
call SSS
call TTT
call TTT
call T
call N
call T
call S
call TTT
call N
call S
call S
jmp early
semi:
call SSS
call T
call N
call T
call SSS
jmp start
N:
push 10
pchr
ret
SSS:
call S
call S
S:
push 32
pchr
ret
TTT:
call T
call T
T:
push 9
pchr
ret
The code generated by the program looks like:
push 0
push 1
add
push 1
add
push 1
add
push 1
add
push 1
add
push 1
add
push 1
add
push 1
add
push 1
add
push 1
add
push 1
add
push 127
mod
pchr
push 0
push 1
add
...