ABC
Jump to navigation
Jump to search
- Not to be confused with tom7's ABC (compiler), AlPhAbEt, nor Abc.
ABC is an esoteric programming language created by User:Orange. The language is very simple and easy to implement. This language has nothing to do with the real programming language ABC.
Instructions
a - Increment the accumulator b - Decrement the accumulator c - Output the accumulator d - Invert accumulator r - Set accumulator to a random number between 0 and accumulator n - Set accumulator to 0 $ - Toggle ASCII output mode. When on, the c instruction prints the accumulator as an ASCII character. l - Loop back to the beginning of the program. Accumulator and ASCII mode does not reset. ; - Debug. Prints out accumulator as a number and ascii character.
Unknown instructions are treated as NOPs.
Examples
Print out 1337
acaaccaaaac
Simulate a dice throw
aaaaarac
Random phone number generator
ac naaaaaaaaradc naaaaaaaaarc naaaaaaaaarc naaaaaaaaradc naaaaaaaaarc naaaaaaaaarc naaaaaaaaradc naaaaaaaaarc naaaaaaaaarc naaaaaaaaarc
Hello World
$aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaa aaaaaaaaaaaaaaaaaaaaaaacaaaaaaaccaaacnaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aacbbbbbbbbbbbbcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaa aaaaaaaaaaaaaaaacaaacbbbbbbcbbbbbbbbcnaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaac
Count infinitely
acl
Beep infinitely using ASCII code 7 (bell)
aaaaaaa$cn$l
Resources
Interpreters
Java
public class ABC{ public static void interpreter(String code){ int acc=0; boolean stringMode=false; for(int i=0;i<code.length();i++){ switch(code.charAt(i)){ case'a':++acc;break; case'b':--acc;break; case'c':if(stringMode)System.out.print((char)acc); else System.out.print(acc); break; case'd':acc*=-1;break; case'r':acc=(int)Math.floor(Math.random()*(acc+1));break; case'n':acc=0;break; case'$':stringMode=(stringMode==false)?true:false;break; case'l':i=-1;break; case';':System.out.print(acc+" "+(char)acc); } } } }