Étant donné l'entrée d'un programme écrit en oOo CODE , indiquez le code BF qu'il représente.
Voici une brève description du fonctionnement de oOo CODE:
Tout d'abord, tous les caractères non alphabétiques sont supprimés (tout ce qui n'est pas dans la plage
A-Za-z
).Par exemple, prenons le programme
PROgRam reVERsES giVeN iNPut sEqUENcE
(un exemple donné sur la page wiki esolangs qui fait exactement ce que vous attendez). Après cette première étape, nous avons maintenantPROgRamreVERsESgiVeNiNPutsEqUENcE
.Ensuite, divisez tous les caractères restants en groupes de 3. Nous avons maintenant
PRO,gRa,mre,VER,sES,giV,eNi,NPu,tsE,qUE,NcE
. S'il existe un groupe de fin de 1 ou 2 caractères, éliminez-le.Convertissez chaque groupe de 3 lettres en une commande BF en fonction du tableau suivant:
ooo > ooO < oOo [ oOO ] Ooo - OoO + OOo . OOO ,
En d’autres termes, si la première lettre d’un groupe est en minuscule, la seconde en majuscule et la troisième en minuscule, la traduction sera renvoyée à la commande
[
.Avec notre exemple, cela devient finalement le programme BF
,[>,]<[.<]+
, qui inverse son entrée.
Puisqu'il s'agit de code-golf , le code le plus court en octets va gagner.
Cas de test:
<empty string> -> <empty string>
A -> <empty string>
Ab -> <empty string>
Abc -> -
AbcD -> -
AbcDe -> -
AbcDef -> --
1A_b%c*D[]e\\\f! -> --
PROgRamreVERsESgiVeNiNPutsEqUENcE -> ,[>,]<[.<]+