Instruções
Execute brain****
Escreva uma função para implementar um interpretador Brain\*\*\*\*. A função receberá uma string como parâmetro e deve retornar uma string como saída. Mais detalhes são dados abaixo:
RCBF é um conjunto de <a href="https://rosettacode.org/wiki/Brainf***" target="_blank" rel="noopener noreferrer nofollow">compiladores e interpretadores Brainf\*\*\*</a> escritos para Rosetta Code em várias linguagens.
Abaixo estão links para cada uma das versões do RCBF.
Uma implementação precisa apenas implementar adequadamente as seguintes instruções:
| Comando | Descrição |
| ----------------- | --------------------------------------------------------------------------------- |
| <code>></code> | Move o ponteiro para a direita |
| <code><</code> | Move o ponteiro para a esquerda |
| <code>+</code> | Incrementa a célula de memória sob o ponteiro |
| <code>-</code> | Decrementa a célula de memória sob o ponteiro |
| <code>.</code> | Exibe o caractere indicado pela célula no ponteiro |
| <code>,</code> | Recebe um caractere e armazena na célula no ponteiro |
| <code>\[</code> | Pula para além do <code>]</code> correspondente se a célula sob o ponteiro for 0 |
| <code>]</code> | Volta para o <code>\[</code> correspondente se a célula sob o ponteiro for diferente de zero |
Qualquer tamanho de célula é permitido, suporte a EOF (*E*nd-*O*-*F*ile) é opcional, assim como se a memória é limitada ou ilimitada.
O que fazer:
Testes:
- `brain(globalThis.hello)` deve retornar uma string
- `brain("++++++[>++++++++++<-]>+++++.")` deve retornar "A"
- `brain(globalThis.hello)` deve retornar `Hello World!\n`
- `brain(globalThis.fib)` deve retornar `1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89`
Console