EE
Jump to navigation
Jump to search
EE is an Esoteric programming language created by User:Goldos24 and MisterJaJo in 2019. It is just another fully backwards compatible one-dimensional brainfuck derivative with 8 extra instructions.
Paradigm(s) | imperative |
---|---|
Designed by | User:Goldos24, MisterJaJo |
Appeared in | 2020 |
Memory system | tape-based |
Dimensions | one-dimensional |
Computational class | Turing complete |
Major implementations | Original |
Influenced by | brainfuck |
File extension(s) | .e , .ee |
Memory
EE has a tape-based Memory system with an extra cell referred to as accumulator which can only be accessed using the $ (copy) and § (paste) instructions.
Instructions
Command | Description |
---|---|
>
|
Move the pointer to the right |
<
|
Move the pointer to the left |
+
|
Increment the memory cell under the pointer |
-
|
Decrement the memory cell under the pointer |
.
|
Output the character signified by the cell at the pointer |
,
|
Input a character and store it in the cell at the pointer |
[
|
Jump past the matching ] if the cell under the pointer is 0
|
]
|
Jump back to the matching [ if the cell under the pointer is nonzero
|
$
|
Copy the cell under the pointer to the accumulator |
§
|
Paste into the cell under the pointer from the accumulator |
"
|
Declare a function |
{
|
Start of function content |
}
|
End of function content and return |
;
|
Return |
(
|
Call a function; Start of function name |
)
|
Call a function; End of function name |
Example Code
Here is some example code for the EE programming language. You can also use brainfuck code since EE is fully backwards compatible.
Hello, world!
"=0" {[-]} Sets selected cell to 0 like it is done in brainfuck "H" {(=0) > (=0) +++++ +++ [- < +++++ ++++ > ] <} Sets selected cell to 8x9 / 'H' "e" {(=0) > (=0) +++++ +++++ [- < +++++ +++++ > ] < + } Sets selected cell to 10x10 plus 1 / 'e' "l" {(=0) > (=0) +++++ +++++ [- < +++++ +++++ + > ] < -- } Sets selected cell to 10x11 minus 2 / 'l' "o" {(=0) > (=0) +++++ +++++ [- < +++++ +++++ + > ] < + } Sets selected cell to 10x11 plus 1 / 'o' "," {(=0) > (=0) ++++ [- < +++++ +++++ + > ] < } Sets selected cell to 4x11 / comma "space" {(=0) > (=0) ++++ [- < +++++ +++ > ] < } Sets selected cell to 4x8 / ' ' "w" {(=0) > (=0) +++++ +++++ [- < +++++ +++++ ++ > ] < - } Sets selected cell to 10x12 minus 1 / 'w' "r" {(=0) > (=0) +++++ +++++ [- < +++++ +++++ + > ] < ++++ } Sets selected cell to 10x11 plus 4 / 'r' "d" {(=0) > (=0) +++++ +++++ [- < +++++ +++++ > ] < } Sets selected cell to 10x10 / 'd' "!" {(=0) > (=0) +++ [- < +++++ +++++ + > ] < } Sets selected cell to 3x11 / '!' (H) . Calls 'H' function and outputs selected cell (e) . Calls 'e' function and outputs selected cell (l) . Calls 'l' function and outputs selected cell (l) . Calls 'l' function and outputs selected cell (o) . Calls 'o' function and outputs selected cell (,) . Calls comma function and outputs selected cell (space) . Calls 'space' function and outputs selected cell (w) . Calls 'w' function and outputs selected cell (o) . Calls 'o' function and outputs selected cell (r) . Calls 'r' function and outputs selected cell (l) . Calls 'l' function and outputs selected cell (d) . Calls 'd' function and outputs selected cell (!) . Calls '!' function and outputs selected cell
Conditional function call, no loop
Creating the function:
"f" { Place your function content here }
Call f
if the selected cell is zero:
"if_zero_call_f" {](f);[} declaring a function which is the same as an if statement (if_zero_call_f) call this function when you want to use the if statement
Call f
if the selected cell is nonzero:
"if_nonzero_call_f" {[(f);]} declaring a function which is the same as an if statement (if_nonzero_call_f) call this function when you want to use the if statement
Infinite loop using a self-calling function
This is a simple infinite loop doing nothing, but repeating:
"loop" {(loop)} creating the loop function (loop) calling the loop function
Filling your whole memory with an input character
This program asks you for a character, then it fills every cell with that character:
"fill" {$>§(fill)} creating the 'fill' function , input (fill) calling 'fill'