Đưa ra một đầu vào của một chương trình được viết bằng oOo CODE , xuất mã BF mà nó đại diện.
Dưới đây là một mô tả ngắn về cách oOo CODE hoạt động:
Đầu tiên, tất cả các ký tự không phải là chữ cái được loại bỏ (mọi thứ không nằm trong phạm vi
A-Za-z
).Ví dụ: lấy chương trình
PROgRam reVERsES giVeN iNPut sEqUENcE
(một ví dụ được đưa ra trên trang wiki esolangs thực hiện chính xác những gì bạn mong đợi). Sau bước đầu tiên này, bây giờ chúng ta cóPROgRamreVERsESgiVeNiNPutsEqUENcE
.Tiếp theo, chia tất cả các ký tự còn lại thành các nhóm 3. Bây giờ chúng ta có
PRO,gRa,mre,VER,sES,giV,eNi,NPu,tsE,qUE,NcE
. Nếu có một nhóm kéo dài 1 hoặc 2 ký tự, hãy loại bỏ nó.Chuyển đổi từng nhóm 3 chữ cái thành lệnh BF dựa trên bảng sau:
ooo > ooO < oOo [ oOO ] Ooo - OoO + OOo . OOO ,
Nghĩa là, nếu chữ cái đầu tiên của một nhóm là chữ thường, chữ cái thứ hai là chữ hoa và chữ thứ ba là chữ thường, nó sẽ dịch sang lệnh
[
.Với ví dụ của chúng tôi, điều này cuối cùng trở thành chương trình BF
,[>,]<[.<]+
, thực sự đảo ngược đầu vào của nó.
Vì đây là môn đánh gôn , mã ngắn nhất tính bằng byte sẽ thắng.
Các trường hợp thử nghiệm:
<empty string> -> <empty string>
A -> <empty string>
Ab -> <empty string>
Abc -> -
AbcD -> -
AbcDe -> -
AbcDef -> --
1A_b%c*D[]e\\\f! -> --
PROgRamreVERsESgiVeNiNPutsEqUENcE -> ,[>,]<[.<]+