EE

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.
===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'
Category:Languages Category:2020 Category:Brainfuck derivatives Category:Turing complete Category:Cell-based Category:Implemented