EmojiCoder
EmojiCoder is an esoteric programming language that uses emoji to represent commands and arguments. Designed and created by Sarah Nathanson and Jeremey at HackRPI 2015. Lines of code are formatted as [command][modifier][parameter][new-line] .
Language
Commands
π: push [param] on to the stack
π: pop off the stack
β: output top item on stack
π: output [param]
π¦: set accumulator [param]
β : add [param] to accumulator
β : subtract [param] from accumulator
β : divide accumulator by [param]
β : multiply accumulator by [param]
π«: output accumulator
π: output newline
π»: push accumulator on to the stack
πΊ: set accumulator to the top of the stack
π: set x to [param]
π₯: push x on to stack
π¦: set x to the top of stack
πΉ: set x to accumulator
πΈ: set accumulator to x
ββ: add x to accumulator
ββ: subtract x from accumulator
ββ: divide accumulator by x
ββ: mulitply accumulator by x
πͺ: output x
π: compares x to a
- if param=0 in binary, <
- if param=1 in binary, =
- if param=2 in binary, >
- if statement is true, compile next line else skip
π: repeat next line [param] times
π§: set stringbuilder to [param]
π₯: add [param] to stringbuilder
π€: remove last character from stringbuilder
π¨: output stringbuilder
π: pushes random num zero to [param] on to stack
π: sets x to random num zero to [param]
Modifers
π‘: Ascii Character 0-255
π’: Integer Number 0-255
Parameters
As binary where π=0 and π=1
Ex: ππππππππ
=0100 0001
=65
="A"
Variable Reference
Stack: An implementation of a stack
Has operations push and pop
Accumulator: Used to store and do arithmetic on a number
X: Used to temporarily store a number
String builder: Used to store and build up a string
Comments
Comments are in progress
On lines which take parameters putting //comment on the end is π
Examples
Hello World!
ππ‘ππππππππ //Output H ππ‘ππππππππ //Output e ππ‘ππππππππ //Output l ππ‘ππππππππ //Output l ππ‘ππππππππ //Output o ππ‘ππππππππ //Output , ππ‘ππππππππ //Output space ππ‘ππππππππ //Output w ππ‘ππππππππ //Output o ππ‘ππππππππ //Output r ππ‘ππππππππ //Output l ππ‘ππππππππ //Output d ππ‘ππππππππ //Output !
External resources
[1] contains an interpreter, about and reference pages, and example programs.