Dada una entrada de un programa escrito en oOo CODE , genera el código BF que representa.
Aquí hay una breve descripción de cómo funciona oOo CODE:
Primero, se eliminan todos los caracteres no alfabéticos (todo lo que no está en el rango
A-Za-z
).Por ejemplo, tome el programa
PROgRam reVERsES giVeN iNPut sEqUENcE
(un ejemplo dado en la página wiki de esolangs que hace exactamente lo que esperaría). Después de este primer paso, ahora tenemosPROgRamreVERsESgiVeNiNPutsEqUENcE
.Luego, divide todos los personajes restantes en grupos de 3. Ahora tenemos
PRO,gRa,mre,VER,sES,giV,eNi,NPu,tsE,qUE,NcE
. Si hay un grupo final de 1 o 2 caracteres, deséchelo.Convierta cada grupo de 3 letras en un comando BF basado en la siguiente tabla:
ooo > ooO < oOo [ oOO ] Ooo - OoO + OOo . OOO ,
Es decir, si la primera letra de un grupo es minúscula, la segunda es mayúscula y la tercera es minúscula, se traduciría al comando
[
.Con nuestro ejemplo, esto finalmente se convierte en el programa BF
,[>,]<[.<]+
, que de hecho invierte su entrada.
Como se trata de code-golf , ganará el código más corto en bytes.
Casos de prueba:
<empty string> -> <empty string>
A -> <empty string>
Ab -> <empty string>
Abc -> -
AbcD -> -
AbcDe -> -
AbcDef -> --
1A_b%c*D[]e\\\f! -> --
PROgRamreVERsESgiVeNiNPutsEqUENcE -> ,[>,]<[.<]+