มีการปรับแต่งคอมไพเลอร์อย่างเต็มที่เพื่อยุติโปรแกรมหรือไม่?
ในหนังสือของแอนดรูวแตะของโมเดิร์นคอมไพเลอร์ดำเนินการใน MLเขากล่าวว่าภายใต้บทที่ 17 ว่าComputability ทฤษฎีแสดงให้เห็นว่ามันจะเป็นไปได้ที่จะคิดค้นแปลงเพิ่มประสิทธิภาพใหม่และวิธีการที่จะพิสูจน์ว่าคอมไพเลอร์เพิ่มประสิทธิภาพอย่างเต็มที่จะแก้ปัญหาที่เกิดขึ้นเป็นง่อย: โปรแกรมQที่ไม่สร้างเอาต์พุตและไม่สามารถหยุดได้โดยง่ายด้วยการแทนค่าที่เหมาะสมที่สุดOpt (Q)คือ "L: goto L" คอมไพเลอร์ที่ปรับให้เหมาะสมที่สุดสามารถแก้ปัญหาการหยุดชะงักได้ ดังนั้นคำถามของฉันคือ: คอมไพเลอร์ปรับแต่งอย่างเต็มที่มีอยู่สำหรับการยกเลิกโปรแกรมหรือไม่? ความคิดเดียวของฉันมีดังต่อไปนี้: แม้ว่าโปรแกรมจะรับประกันว่าจะยุติมันก็ยังคงมีความซับซ้อนโดยพลการและสำหรับคอมไพเลอร์การเพิ่มประสิทธิภาพที่เป็นรูปธรรม, C, หนึ่งอาจสร้างโปรแกรมที่ใช้ C เป็นอินพุท เคสชนิดมุม นอกจากนี้อะไรคือความหมายของการ จำกัด ตัวเองให้ยกเลิกโปรแกรม?