Revision de7b94f7-88a3-4ccd-851a-25d26b68ef6c - Code Golf Stack Exchange

#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
 ...

AltStyle によって変換されたページ (->オリジナル) /