Dada a entrada de um programa escrito em oOo CODE , imprima o código BF que ele representa.
Aqui está uma breve descrição de como oOO CODE funciona:
Primeiro, todos os caracteres não alfabéticos são removidos (tudo que não estiver no intervalo
A-Za-z
).Por exemplo, considere o programa
PROgRam reVERsES giVeN iNPut sEqUENcE
(um exemplo dado na página wiki do esolangs que faz exatamente o que você esperaria). Após este primeiro passo, temos agoraPROgRamreVERsESgiVeNiNPutsEqUENcE
.Em seguida, divida todos os caracteres restantes em grupos de 3. Agora temos
PRO,gRa,mre,VER,sES,giV,eNi,NPu,tsE,qUE,NcE
. Se houver um grupo à direita de 1 ou 2 caracteres, descarte-o.Converta cada grupo de 3 letras em um comando BF com base na tabela a seguir:
ooo > ooO < oOo [ oOO ] Ooo - OoO + OOo . OOO ,
Ou seja, se a primeira letra de um grupo é minúsculas, o segundo é maiúscula, eo terceiro é minúscula, que se traduziria ao comando
[
.Com o nosso exemplo, isso finalmente se torna o programa BF
,[>,]<[.<]+
, que de fato inverte sua entrada.
Como esse é o código-golfe , o código mais curto em bytes será vencedor.
Casos de teste:
<empty string> -> <empty string>
A -> <empty string>
Ab -> <empty string>
Abc -> -
AbcD -> -
AbcDe -> -
AbcDef -> --
1A_b%c*D[]e\\\f! -> --
PROgRamreVERsESgiVeNiNPutsEqUENcE -> ,[>,]<[.<]+