1
Brainf ** k Debugger
ความท้าทายของคุณคือการรับข้อมูลเช่นนี้ (โปรแกรม Hello World): ++++++++[>++++[>++>+++>+++>+<<<<-]>+>+>->>+[<]<-]>>.>---.+++++++..+++.>>.<-.<.+++.------.--------.>>+.>++. และเอาท์พุทพรอมต์ (ซึ่งจะเป็น"> "): > ผู้ใช้สามารถป้อนอะไรก็ได้ที่พรอมต์ ดีบักเกอร์แบบง่ายของคุณต้องมีคำสั่งเหล่านี้: S - ขั้นตอน เอาท์พุทตำแหน่งปัจจุบัน (ดูL) หลังจากก้าว S(a positive integer) - ขั้นตอนที่ช่องว่างมากมาย L - ที่ตั้ง คำว่า "ตำแหน่ง" หมายถึงตำแหน่งที่คุณอยู่ในโปรแกรมเสมอ (เช่นตัวชี้คำสั่ง) จัดรูปแบบดังนี้: v +++++++[>+++++++<-]>. +ซึ่งหมายความว่าสถานที่ตั้งปัจจุบันของโปรแกรมเป็นที่สาม G(an integer) - ไปที่ นี่หมายถึงก้าวไปเรื่อย ๆ จนกว่าคุณจะไปถึงที่ตั้งนั้น หากคุณไปถึงจุดสิ้นสุดของโปรแกรมและคุณไม่ได้อยู่ที่นั่นเพียงออกจากโปรแกรม จำนวนเต็มลบหมายความว่าอักขระจำนวนมากจากจุดสิ้นสุด ใช่นี่หมายความว่า-0แตกต่างจาก0และ-1เป็นตัวอักษรที่สองถึงตัวสุดท้าย อย่าส่งเอาต์พุตอะไรสำหรับคำสั่งนี้ D - อาร์เรย์การถ่ายโอนข้อมูล รูปแบบที่ชอบ 1, 2, …