&M"pp"
L!)(de
&c;`Che"
`!d!sick
!',@p"!'
'N'U`!Lu
เส้นโค้ง yadda yadda Hilbert
ก่อนอื่นเรากดอักขระที่สำคัญสามตัวลงบนสแต็ก:
!'
'N'U
จากนั้นเราตั้งเครื่องหมายจับและเริ่มต้นด้วยการอ่านตัวอักษรเดียว เราd
uplicate มันและลบล้างมันและถ้าผลลัพธ์ของสิ่งนี้เป็นความจริง (ดังนั้นถ้าสตริงว่างเปล่าดังนั้นอินพุตสิ้นสุด) เราจะข้ามไปยังจุดสิ้นสุด:
;`
d!
,@
ด้วยสำเนาที่เหลือของอักขระอินพุตเราตรวจสอบว่ามีอยู่ในสแต็กที่เหลือหรือไม่ (เช่นถ้าเป็นหนึ่งใน!, N, U) หากไม่เป็นเช่นนั้นเราแจ้งข้อผิดพลาดให้เรากลับไปที่เครื่องหมายที่เราอ่านตัวละครอื่น:
&c
`!
มิฉะนั้นเราจะโหลดสิ่งที่อยู่ในที่จัดเก็บข้อมูลอย่างรวดเร็ว (โดยปกติแล้วการลงทะเบียนที่เริ่มต้นเป็นสตริงว่างเปล่าเป็นเท็จ) คัดค้านและส่งกลับไปที่ที่จัดเก็บข้อมูลด่วนจากนั้นเพิ่มข้อผิดพลาดด้วย (กลับไปอ่านตัวอักษร)
&M
L!
เมื่ออินพุตหยุดลงเราจะถูกส่งไปยังจุดสิ้นสุด ที่นั่นเรากลับทิศทางกดเครื่องหมายอัศเจรีย์และโหลดที่เก็บข้อมูลอย่างรวดเร็วและคัดค้าน ถ้านั่นคือความจริง (เช่นเรามีจำนวนของสิ่งที่ปฏิเสธ) เราพิมพ์เครื่องหมายอัศเจรีย์ที่เราผลัก:
p !'
`!Lu
สุดท้ายเราดันสตริงออกเป็นสองส่วนและพิมพ์ (เพื่อเหตุผลในการประหยัดพื้นที่):
"pp"
)(de
Che"
sick
"
หลังจากนั้นโปรแกรมยังคงทำงานกลับไปที่จุดเริ่มต้นดั้งเดิม แต่เนื่องจากไม่มีคำสั่งใดที่ให้ผลลัพธ์หรือมีพฤติกรรมแบบวนรอบซึ่งไม่สำคัญ ที่จริงแล้วคำสั่งที่ไม่มีการใช้คำสั่งแรกที่เราเข้าถึงนั้นทำให้เกิดข้อยกเว้นโดยข้ามรหัสส่วนใหญ่เพราะเราข้ามไปที่เครื่องหมาย catch หมายถึง Aceto ทั้งหมดที่เห็นในส่วนนั้นคือ:
&
!' @
'N'U
ตั้งแต่U
อยู่ในขณะนี้ไม่ได้นำหน้าด้วยตัวอักษรอ้างเดียวและดังนั้นจึงไม่เห็นเป็นตัวอักษรตัวอักษรที่จะได้รับการตีความว่าเป็นคำสั่ง: U
ฝืนองค์ประกอบทั้งหมดที่อยู่ในสแต็ค (ตอนนี้ก็!
, N
, U
จากบน) และ'N
และ'!
ผลักดันมากขึ้น ตัวอักษรหมายถึงเราจบด้วยสแต็[U, N, !, N, !]
ก
บันทึก Side: นี่เป็นครั้งแรกที่โปรแกรม Aceto เขียน (บางส่วน) ด้วยความช่วยเหลือของแก้ไขใหม่ Aceto ของ
notunischecked
อย่างไร