There is such a thing as an interpreter.
A interpreter can interpret.
When an interpreter is to interpret:
There is a scribe called Troz.
There is a mathematician called Zort.
There is a linguist called The_World.
There is an inputter called Narf.
I have a phrase called Poit.
I have a phrase called Take_Over.
Narf is to readOne Poit.
The_World's first operand is Poit.
The_World's second operand is "+".
If Narf says it's done then Troz is to write "}\nmain\n".
If Narf says it's done then I am to quit.
The_World is to compare.
If The_World says it's equal then Troz is to write "incr memory($pointer)\n".
The_World's second operand is "-".
The_World is to compare.
If The_World says it's equal then Troz is to write "decr memory($pointer)\n".
The_World's second operand is "[".
The_World is to compare.
If The_World says it's equal then Troz is to write "while {$memory($pointer)} != 0} {\n".
The_World's second operand is "]".
The_World is to compare.
If The_World says it's equal then Troz is to write "}\n".
The_World's second operand is ">".
The_World is to compare.
If The_World says it's equal then Troz is to write "incr pointer\n".
The_World's second operand is "<".
The_World is to compare.
If The_World says it's equal then Troz is to write "decr pointer\n".
The_World's second operand is ".".
The_World is to compare.
If The_World says it's equal then Troz is to write "set memory($pointer) [getchar]\n".
The_World's second operand is ",".
The_World is to compare.
If The_World says it's equal then Troz is to write "puts -nonewline $memory($pointer)\n".
I am to loop.