Este artigo não cita fontes confiáveis. (Junho de 2022) |
Braintwist é uma variante da linguagem de programação esotérica brainfuck. O que difere as linguagens é a capacidade de código auto-modificável, em Braintwist.
Forma da Linguagem
A linguagem, como brainfuck, acessa a memória através de células de memória, mas o Braintwist usa um outro conceito, área de memória. Uma área de memória é um conjunto limitado de células de memória. Um mesmo programa pode usar várias áreas de memória. Não há um padrão para o tamanho de cada célula de memória ou para o número de células de memória em cada área de memória.
Comandos
Comando | Função |
---|---|
> |
Acessa a célula de memória seguinte. |
< |
Acessa a célula de memória anterior. |
+ |
Aumenta em 1 o valor da célula de memória selecionada. |
- |
Diminui em 1 o valor da célula de memória selecionada. |
. |
Imprime na tela o caractere relativo à célula de memória selecionada. |
, |
Espera até obter, na célula de memória selecionada, o código de uma tecla clicada. |
[ |
Repete uma série de comandos enquanto a célula de memória selecionada for diferente de zero. |
] |
Fim da estrutura [ .
|
X |
Transforma a área memória do programa em execução em um outro programa Braintwist. Executa esse novo programa, criando para ele uma nova área de memória. Quando um programa terminar, continua o anterior. |
Compatibilidade com brainfuck
Os códigos brainfuck são compatíveis com Braintwist, desde que não contenham o caractere "X
" nos comentários, o que pode causar resultados indesejados. Os códigos Braintwist podem não ser compatíveis com brainfuck, pois o comando X
é considerado um comentário em brainfuck.