Skip to main content
record updating from 333B to 330B
Source Link
angel_p_57
  • 251
  • 3
  • 4

Whitespace, 333333 330 bytes

   		 	  				 								 		  	  				   	 	 			    			 	 		 					 		       					 									 				   			   	 		 			 					 				 			 	 		 	 		 		     	  			  							  	 				 		 	 	 						  					     		 	   	   	 				 	 			  			 			  		 	  	 		 	  			 		   	 							  	 		 	       	 
   	 				  
   
 
 
 	 
	
 	  	
   
    	 

 	
   		

  
 
	 	  	
	 	  
 
	 	 
 
  	  	 

 	

  	 
 
		 		
   
  			   
	 		   	     
	   	
  
	

Try it online!
Try itthe 333B version online!

This is the same code as I postedas I posted to "Anarchy golf" ( http://golf.shinh.org/p.rb?Quine )

ssstssttttststtsstsstsstsssssttssttsssssssttsstsssttsststtsttstttttsttttstttststtssttsttssssstsssstttttttsstststtststssstttsssssttsssstssssststssttsssttstsststtstsstttsttssssttttttsststtstssssssstsststtttssnsssnsnsnstsnnstsnsnsssstsnnstnsssttnnssnsntstsstntstssnsntstnsnsstsstsnnstnnsstnsnttsttnsssnsstttsssntsttssstsssssntssstnssntnsssttstssstttttttsttsstsstttssstststttsssstttststtstttttsttssssssstttstttttttttstttssstssstsstssstttststtstssttsstttsssststttsstststtttttssttsssssstssstststtttststtsststttssstsststtssssssststsstssssssssssnssstsssssnsnstnsstnsssnsssstsnnstnsssttnnssnsntstsstntstssnsntssnsnsstsstsnnstnnsssnsnttsttsstttsssntsttssstsssssntssstnssntn
push +7969228294440588444206358371410407764689382769860480534316220+2636263872820036273590233982665123397718151559108318308901888(203b201b)  # 0000: ssstssttttststtsstsstsstsssssttssttsssssssttsstsssttsststtsttstttttsttttstttststtssttsttssssstsssstttttttsstststtststssstttsssssttsssstssssststssttsssttstsststtstsstttsttssssttttttsststtstssssssstsststtttssnsssttstssstttttttsttsstsstttssstststttsssstttststtstttttsttssssssstttstttttttttstttssstssstsstssstttststtstssttsstttsssststttsstststtttttssttsssssstssstststtttststtsststttssstsststtssssssststsstssssssssssn
push +0+32(0b6b)   # 02070205: sssnssstsssssn
dup           # 02110215: sns
callputc +0(0b)         # 02140218: nstsntnss
callputc +0(0b)         # 02190222: nstsntnss
dup           # 02240226: sns
push +2(2b)   # 02270229: ssstsn
call null     # 02330235: nstn
push +3(2b)   # 02370239: sssttn
mark null     # 02430245: nssn
swap          # 02470249: snt
copy +1(1b)   # 02500252: stsstn
div           # 02560258: tsts
dup           # 02600262: sns
jzero -0+0(0b)  # 02630265: ntstnntssn
dup           # 02680270: sns
copy +2(2b)   # 02710273: stsstsn
call null     # 02780280: nstn
mark -0+0(0b)   # 02820284: nsstnnsssn
swap          # 02870289: snt
mod           # 02900292: tstt
mark +0(0b)   # 0294: nsssn
push -24(5b)  # 02990296: sstttsssn
mod           # 03080305: tstt
push +32(6b)  # 03120309: ssstsssssn
add           # 03220319: tsss
putc          # 03260323: tnss
ret           # 03300327: ntn

Whitespace, 333 bytes

   	  				 	 		  	  	  	     		  		       		  	   		  	 		 		 					 				 			 	 		  		 		     	    							  	 	 		 	 	   			     		    	     	 	  		   		 	  	 		 	  			 		    						  	 		 	       	  	 				  
   
 
 
 	 

 	 
 
    	 

 	
   		

  
 
	 	  	
	 	  
 
	 	
 
  	  	 

 	

  	
 
		 		
   
  			   
	 		   	     
	   	
  
	

Try it online!

This is the same code as I posted to "Anarchy golf" ( http://golf.shinh.org/p.rb?Quine )

ssstssttttststtsstsstsstsssssttssttsssssssttsstsssttsststtsttstttttsttttstttststtssttsttssssstsssstttttttsstststtststssstttsssssttsssstssssststssttsssttstsststtstsstttsttssssttttttsststtstssssssstsststtttssnsssnsnsnstsnnstsnsnsssstsnnstnsssttnnssnsntstsstntstssnsntstnsnsstsstsnnstnnsstnsnttsttnsssnsstttsssntsttssstsssssntssstnssntn
push +7969228294440588444206358371410407764689382769860480534316220(203b)  # 0000: ssstssttttststtsstsstsstsssssttssttsssssssttsstsssttsststtsttstttttsttttstttststtssttsttssssstsssstttttttsstststtststssstttsssssttsssstssssststssttsssttstsststtstsstttsttssssttttttsststtstssssssstsststtttssn
push +0(0b)   # 0207: sssn
dup           # 0211: sns
call +0(0b)   # 0214: nstsn
call +0(0b)   # 0219: nstsn
dup           # 0224: sns
push +2(2b)   # 0227: ssstsn
call null     # 0233: nstn
push +3(2b)   # 0237: sssttn
mark null     # 0243: nssn
swap          # 0247: snt
copy +1(1b)   # 0250: stsstn
div           # 0256: tsts
dup           # 0260: sns
jzero -0(0b)  # 0263: ntstn
dup           # 0268: sns
copy +2(2b)   # 0271: stsstsn
call null     # 0278: nstn
mark -0(0b)   # 0282: nsstn
swap          # 0287: snt
mod           # 0290: tstt
mark +0(0b)   # 0294: nsssn
push -24(5b)  # 0299: sstttsssn
mod           # 0308: tstt
push +32(6b)  # 0312: ssstsssssn
add           # 0322: tsss
putc          # 0326: tnss
ret           # 0330: ntn

Whitespace, 333 330 bytes

   		 	   							 		  	  			   	 	 			    			 	 		 					 		       			 									 			   	   	  	   			 	 		 	  		  			    	 			  	 	 						  		      	   	 	 				 	 		  	 			   	  	 		       	 	  	          
   	     
 
 	
  	
   
    	 

 	
   		

  
 
	 	  	
	 	  
 
	  
 
  	  	 

 	

   
 
		 		  			   
	 		   	     
	   	
  
	

Try it online!
Try the 333B version online!

This is the same code as I posted to "Anarchy golf" ( http://golf.shinh.org/p.rb?Quine )

sssttstssstttttttsttsstsstttssstststttsssstttststtstttttsttssssssstttstttttttttstttssstssstsstssstttststtstssttsstttsssststttsstststtttttssttsssssstssstststtttststtsststttssstsststtssssssststsstssssssssssnssstsssssnsnstnsstnsssnsssstsnnstnsssttnnssnsntstsstntstssnsntssnsnsstsstsnnstnnsssnsnttsttsstttsssntsttssstsssssntssstnssntn
push +2636263872820036273590233982665123397718151559108318308901888(201b)  # 0000: sssttstssstttttttsttsstsstttssstststttsssstttststtstttttsttssssssstttstttttttttstttssstssstsstssstttststtstssttsstttsssststttsstststtttttssttsssssstssstststtttststtsststttssstsststtssssssststsstssssssssssn
push +32(6b)  # 0205: ssstsssssn
dup           # 0215: sns
putc          # 0218: tnss
putc          # 0222: tnss
dup           # 0226: sns
push +2(2b)   # 0229: ssstsn
call null     # 0235: nstn
push +3(2b)   # 0239: sssttn
mark null     # 0245: nssn
swap          # 0249: snt
copy +1(1b)   # 0252: stsstn
div           # 0258: tsts
dup           # 0262: sns
jzero +0(0b)  # 0265: ntssn
dup           # 0270: sns
copy +2(2b)   # 0273: stsstsn
call null     # 0280: nstn
mark +0(0b)   # 0284: nsssn
swap          # 0289: snt
mod           # 0292: tstt
push -24(5b)  # 0296: sstttsssn
mod           # 0305: tstt
push +32(6b)  # 0309: ssstsssssn
add           # 0319: tsss
putc          # 0323: tnss
ret           # 0327: ntn
Source Link
angel_p_57
  • 251
  • 3
  • 4

Whitespace, 333 bytes

   	  				 	 		  	  	  	     		  		       		  	   		  	 		 		 					 				 			 	 		  		 		     	    							  	 	 		 	 	   			     		    	     	 	  		   		 	  	 		 	  			 		    						  	 		 	       	  	 				  
   
 
 
 	 

 	 
 
    	 

 	
   		

  
 
	 	  	
	 	  
 
	 	
 
  	  	 

 	

  	
 
		 		
   
  			   
	 		   	     
	   	
  
	

Try it online!

This is the same code as I posted to "Anarchy golf" ( http://golf.shinh.org/p.rb?Quine )

To be a bit more readable, substitute space,tab,newline to "s","t","n" like below;

ssstssttttststtsstsstsstsssssttssttsssssssttsstsssttsststtsttstttttsttttstttststtssttsttssssstsssstttttttsstststtststssstttsssssttsssstssssststssttsssttstsststtstsstttsttssssttttttsststtstssssssstsststtttssnsssnsnsnstsnnstsnsnsssstsnnstnsssttnnssnsntstsstntstssnsntstnsnsstsstsnnstnnsstnsnttsttnsssnsstttsssntsttssstsssssntssstnssntn

or disassembled code with my original interpreter/disassembler;

push +7969228294440588444206358371410407764689382769860480534316220(203b)  # 0000: ssstssttttststtsstsstsstsssssttssttsssssssttsstsssttsststtsttstttttsttttstttststtssttsttssssstsssstttttttsstststtststssstttsssssttsssstssssststssttsssttstsststtstsstttsttssssttttttsststtstssssssstsststtttssn
push +0(0b)   # 0207: sssn
dup           # 0211: sns
call +0(0b)   # 0214: nstsn
call +0(0b)   # 0219: nstsn
dup           # 0224: sns
push +2(2b)   # 0227: ssstsn
call null     # 0233: nstn
push +3(2b)   # 0237: sssttn
mark null     # 0243: nssn
swap          # 0247: snt
copy +1(1b)   # 0250: stsstn
div           # 0256: tsts
dup           # 0260: sns
jzero -0(0b)  # 0263: ntstn
dup           # 0268: sns
copy +2(2b)   # 0271: stsstsn
call null     # 0278: nstn
mark -0(0b)   # 0282: nsstn
swap          # 0287: snt
mod           # 0290: tstt
mark +0(0b)   # 0294: nsssn
push -24(5b)  # 0299: sstttsssn
mod           # 0308: tstt
push +32(6b)  # 0312: ssstsssssn
add           # 0322: tsss
putc          # 0326: tnss
ret           # 0330: ntn

The key idea is to decode the same encoded number as binary digit for the 1st time, and as ternary digit for the next, with recursive operations like a Python code below;

def decode(x,b):               # b=2 or 3
  x //= b
  if x != 0:
    decode(x,b)
  print("stn"[x%b], end="")    # "s" for 0, "t" for 1, "n" for 2

This code decode a number as a binary or ternary digit, then add 0 at the top and remove the last digit, finally substitute 0,1,2 to "s","t","n" respectively.

For example, if you want to encode a Whitespace code "sstn", use an even number 502=200121(ternary)=111110110(binary). At the 1st decoding as binary, "stttttstt" is created, and the 2nd decoding as ternary, "snsstn" is created. Finally, concatenate "ss" and these, the decoded code will be "ssstttttsttsnsstn", which is "ssstttttsttsn" ( "push 502" in Whitespace ) + "sstn" and thus what you want.

In addition, the conversion from 0,1,2 to s,t,n ( ASCII 32,9,10 ) is implemented with a formula y=mod(x,-24)+32.