L00P é uma linguagem de programação esotérica, baseada na linguagem brainfuck e criada por Georg Westenberger.

Estrutura da Linguagem Como em brainfuck, a memória é acessada por um programa em L00P através de células de memória. Não há um padrão definido para o total de células de memória, nem para o tamanho de cada célula de memória. Em sua versão original, cada célula de memória era um Word (2 Bytes).

Uma das diferenças entre brainfuck e L00P é que, em L00P, as células de memória podem conter números negativos.

Os comandos de controle de fluxo de brainfuck são aceitos, mas [ é interpretado como (, e ] é interpretado como ).

O programa é executado em um loop implícito e contínuo.

Comandos CaractereFunçãoC>Acessa a célula de memória seguinte.p++;<Acessa a célula de memória anterior.p--;+Aumenta um à célula de memória selecionada.*p++;-Subtrai um da célula de memória selecionada.*p--;.Imprime na tela o caractere relativo à célula de memória selecionada.printf("%c",*p);:Imprime na tela o valor numérico da célula de memória selecionado.printf("%i",*p);,Salva na célula de memória selecionada o código de uma tecla clicada.*p=getch();;Salva na célula de memória selecionada o valor númerico relativo a uma tecla clicada.scanf("%i",p);0Zera a célula de memória selecionada.*p=0;*Duplica a célula de memória selecionada.*p=*p*2;_Inverte o sinal da célula de memória selecionada.*p=-*p;#Soma o valor da célula de memória selecionada ao valor do ponteiro.*p=*p+p;@Torna o valor da célula de memória selecionada igual à célula de memória em seu valor mais seu ponteiro.*p=*(p+*p);$Faz a célula de memória em seu valor mais seu ponteiro ser igual ao seu valor.*(p+*p)=*p;&Finaliza o programareturn(0);SObtém o sinal da célula de memória selecionada.*p=(*p>0)?1:((*p==0)?0:-1);(Início da estrutura de controle de fluxo IF.if(*p){|Estrutura de controle de fluxo ELSE.}else{)Fim da estrutura IF.};

Compatibilidade com brainfuck Os códigos em L00P são quase 100% incompatíveis com brainfuck, e isso é recíproco. A ausência das estruturas convencionais de loop ([ e ]), e a existência do loop implícito fazem as técnicas de programação serem muito diferentes. Poucos são os códigos que oferecem suporte a ambas as linguagens.

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

Ligações externas Site oficial

Categoria:Linguagens de programação esotéricas