SNUSP é uma linguagem de programação esotérica bidimensional baseada em brainfuck. É mais próxima do brainfuck que sua semelhante, PATH.

Forma da linguagem A linguagem, tal qual brainfuck, usa o conceito de células de memória. Não há um padrão para o total de células de memória ou para o tamanho individual das células de memória.

Comandos ComandoFunção$Inicia o código, andando para a direita. Se não houver, começa no canto superior esquerdo.>Acessa a célula de memória seguinte.<Acessa a célula de memória anterior.+Incrementa o valor da célula de memória selecionada.-Decrementa o valor da célula de memória selecionada..Imprime no dispositivo de saída o caractere relativo à célula de memória selecionada.,Obtém, na célula de memória selecionada, o valor enviado por um dispositivo de entrada./ Se estiver andando para Baixo, vira para a Esquerda. Se estiver andando para a Esquerda, vira para Baixo. Se estiver andando para a Direita, vira para Cima. Se estiver andando para Cima, vira para a Direita.\ Se estiver andando para Baixo, vira para a Direita. Se estiver andando para a Direita, vira para Baixo. Se estiver andando para a Esquerda, vira para Cima. Se estiver andando para Cima, vira para a Esquerda.!Pula o comando seguinte.?Pula o comando seguinte se a célula de memória selecionada conter 0.@Indica uma subrotina, iniciada no comando seguinte. Quando finalizar a subrotina, retorna para esse ponto e pula o comando seguinte.#Termina uma subrotina. Se não estiver em subrotina nenhuma, termina a execução do programa.

Compatibilidade com brainfuck SNUSP não é diretamente compatível com brainfuck, nem brainfuck com SNUSP, pois os comandos de controle de fluxo [ e ], usados em brainfuck, não são válidos em SNUSP, cujos comandos de controle de fluxo são ?, !, \ e /.

Compatibilidade com PATH PATH e SNUSP não são intercambiáveis, apesar de serem muito semelhantes. Os comandos $, !, \, /, ., ,, + e - são válidos em ambas as linguagens. Os comandos @ e ? são específicos de SNUSP. Em cada uma das linguagens, >, < e # têm funções diferentes. Já os comandos {, ^, v e } são específicos de PATH.

Ver também Programa Olá Mundo em linguagens de programação esotéricas L00P Pbrain

Categoria:Linguagens de programação esotéricas