ต่อคำแนะนำของฉันกำลัง reposting นี้จากกองมากเกิน
เมื่อเร็ว ๆ นี้ฉันกำลังคิดเกี่ยวกับปัญหาต่อไปนี้
พิจารณารหัสสำหรับมาตรฐาน "Hello world!" โปรแกรม:
main()
{
printf("Hello World");
}
ตอนนี้การเปลี่ยนแปลงใด ๆ ในรหัสนี้จะทำให้ไร้ประโยชน์อย่างสมบูรณ์ในความเป็นจริงการเปลี่ยนแปลงเกือบทุกครั้งจะป้องกันโค้ดจากการรวบรวม ตัวอย่างเช่น:
main(5
{
printf("Hello World");
}
ตอนนี้กับคำถามจริง มีภาษาการเขียนโปรแกรมหรือไม่ที่มีการรวมกันของสัญลักษณ์ต่าง ๆ ซึ่งก็คือทุก ๆ นิพจน์มีเหตุผลหรือไม่? ฉันลองคิดถึงวิธีแก้ปัญหาบางอย่างแล้วคิดหาสองวิธี:
Postfix ที่มีจำนวนตัวแปร จำกัด โดยพื้นฐานแล้วตัวแปรทั้งหมดจะถูกกำหนดไว้แล้วก่อนที่คุณจะเขียนโค้ดใด ๆ และคุณต้องทำงานกับมัน ในทางทฤษฎีคุณสามารถดำเนินการตามอำเภอใจได้โดยสร้างห่วงโซ่ของโปรแกรมง่าย ๆ โดยแต่ละโปรแกรมจะให้ผลลัพธ์แก่ผู้อื่น รหัสสามารถเขียนเป็นชุดอักขระในเครื่องหมาย postfix;
"Postfix" พร้อมกับสแต็กของตัวแปร ตัวแปรจะถูกเก็บไว้ในสแต็ก ทุกการดำเนินการใช้สองตัวแปรจากด้านบนและวางผลลัพธ์ไว้ในตำแหน่งของพวกเขา โปรแกรมจะสิ้นสุดลงเมื่อถึงการดำเนินการหรือตัวแปรสุดท้าย
ส่วนตัวฉันเกลียดทั้งสองอย่างนี้ ไม่เพียง แต่จะถูก จำกัด เท่านั้น พวกเขาไม่ได้แก้ปัญหาที่แท้จริงเช่นการแก้ปัญหาโดยเฉพาะอย่างยิ่ง "offshoring" งานบางอย่างกับกระบวนการภายนอก
ใครบ้างมีความคิดอื่น ๆ วิธีแก้ปัญหานี้หรือไม่
[
]
คำสั่งที่ตรงกัน(ตามหน้า Wiki) ความคิดของฉันคือดูที่ opcodes ของ CPU แต่ถึงอย่างนั้นบางรูปแบบอาจทำให้เกิดปัญหา (เช่นถ้า opcode เป็น 3 บิต แต่โปรแกรมของคุณมีเพียง 2 บิต) ยกเว้นปัญหาที่อาจเกิดจากการแพ็ดด้วย 0 บิตพิเศษบางอย่างสามารถคิดบน CPU ใด ๆ ที่มี ชุด opcode ที่สมบูรณ์ซึ่งจะตอบสนองการอ้างสิทธิ์ "ทุกสตริงเป็นโปรแกรมที่ถูกต้อง" อาจไม่มีความหมาย แต่ก็ยังใช้ได้
You are a bimbo.