Kami memiliki konverter Brainf *** ke TinyBF, tetapi tidak sebaliknya, jadi inilah salah satunya.
Aturan:
- Penerjemah Anda harus mengambil program TinyBF yang valid, pada satu baris, dan itu harus menampilkan program BrainF *** yang sesuai, pada satu baris, dengan spasi / baris baru trailing opsional. Tidak ada spasi putih terkemuka dibolehkan
- Input mungkin atau mungkin tidak mengandung karakter yang bukan salah satu dari empat karakter TinyBF. Jika demikian, Anda harus mencetak semua karakter ini di tempat yang sama.
- Jawaban akan diterima pada 1 April (tidak bercanda), berdasarkan beberapa kriteria tidak jelas yang akan saya gunakan (jk;) Saya akan menerima program terpendek yang tidak curang oleh aturan berikut ini)
- Tidak ada solusi 0-byte atau 1-byte, karena itu merusak kesenangan jika Anda membuat (atau ada) bahasa pemrograman hanya untuk tujuan ini)
Uji Kasus
Input 1: +++++>+++++=>=|>>+=>>+|=>|>+=>+|
(Menghitung 5 (byte 1) + 5 (byte 2) = 10 (byte 3))
Output 1:+++++>+++++<[>>+<<-]>[>+<-]
Input 2: +++>++++Hi+++:P+=>=|>|>+>+=>>&&+|=>>|=>>=+!!>>=+|>>>+|
(Menghitung 3 (byte 1) * 8 (byte 2) = 24 (byte 3)) Output 2:+++>++++Hi+++:P+<[>[>+>+<<&&-]>>[<<+!!>>-]<<<-]
==
adalah brainfuck's.
.Jawaban:
Python 2, 106 byte
Menerapkan spesifikasi TinyBF seperti yang ditemukan di sini . Cobalah online . Perbaikan dilakukan menggunakan teknik dari jawaban @ Dica . Membutuhkan input string yang dikutip.
sumber
r+=b.get(c,c+c)[a]*(c!='=')
. Anda juga dapat membuat for loop satu baris untuk menghemat 3 lagi. Anda dapat memasukkan dict untuk menyimpan lebih banyak. Inlininginput()
adalah 4. lainnyaraw_input
atau beralih ke Python 3 dan mengambil hukuman byteprint
. Sekarang saya mengertiSyntaxError: invalid syntax
.Python 3, 97 byte
Skrip ini didasarkan pada jawaban @ Mego
sumber