อ่าน 2 นาที
คอมไพเลอร์แบบเพิ่มทีละขั้น
คอม ไพเลอร์แบบเพิ่มทีละส่วน (Incremental compiler) คือ การคำนวณแบบเพิ่มทีละส่วน ชนิดหนึ่งที่นำมาใช้ในด้าน การคอมไพล์ โดยทั่วไปแล้ว คอมไพเลอร์ทั่วไปจะทำการ สร้างแบบสะอาด (clean...
คอมไพเลอร์แบบเพิ่มทีละขั้น
คอมไพเลอร์แบบเพิ่มทีละส่วน (Incremental compiler) คือ การคำนวณแบบเพิ่มทีละส่วนชนิดหนึ่งที่นำมาใช้ในด้านการคอมไพล์โดยทั่วไปแล้ว คอมไพเลอร์ทั่วไปจะทำการสร้างแบบสะอาด (clean build) กล่าวคือ สร้างโมดูลโปรแกรมทั้งหมดขึ้นมาใหม่ ในขณะที่คอมไพเลอร์แบบเพิ่มทีละส่วนจะคอมไพล์เฉพาะส่วนที่ได้รับการแก้ไขของโปรแกรมเท่านั้น
คำนิยาม
การเขียนโปรแกรมเชิงคำสั่ง
ในการเขียนโปรแกรมเชิงคำสั่งและการพัฒนาซอฟต์แวร์การคอมไพล์แบบเพิ่มทีละส่วนจะประมวลผลเฉพาะการเปลี่ยนแปลงของชุดไฟล์ต้นฉบับ ที่ทราบแล้ว และอัปเดตไฟล์เอาต์พุตที่เกี่ยวข้อง (ในภาษาเป้าหมายของคอมไพเลอร์ ซึ่งมักจะเป็นไบต์โค้ด ) ที่อาจมีอยู่แล้วจากการคอมไพล์ครั้งก่อน ด้วยการสร้างต่อยอดจากไฟล์เอาต์พุตที่คอมไพล์แล้วก่อนหน้านี้ คอมไพเลอร์แบบเพิ่มทีละส่วนจึงหลีกเลี่ยงการคอมไพล์ไฟล์ต้นฉบับทั้งหมดใหม่โดยไม่จำเป็น ซึ่งส่วนใหญ่ของโค้ดยังคงไม่เปลี่ยนแปลง สำหรับคอมไพเลอร์แบบเพิ่มทีละส่วนส่วนใหญ่ การคอมไพล์โปรแกรมที่มีการเปลี่ยนแปลงเล็กน้อยในโค้ดต้นฉบับมักจะเกิดขึ้นเกือบจะในทันที อาจกล่าวได้ว่าคอมไพเลอร์แบบเพิ่มทีละส่วนช่วยลดความละเอียดของหน่วยการคอมไพล์แบบดั้งเดิมของภาษาในขณะที่ยังคงรักษาความหมาย ของภาษา ไว้ ทำให้คอมไพเลอร์สามารถเพิ่มและแทนที่ส่วนเล็กๆ ได้
เครื่องมือเขียนโปรแกรมหลายอย่างใช้ประโยชน์จากคอมไพเลอร์แบบเพิ่มทีละส่วน (incremental compiler) เพื่อมอบสภาพแวดล้อมการเขียนโปรแกรมแบบโต้ตอบที่มากขึ้นให้กับนักพัฒนา ไม่ใช่เรื่องแปลกที่คอมไพเลอร์แบบเพิ่มทีละส่วนจะถูกเรียกใช้ทุกครั้ง ที่ มีการเปลี่ยนแปลงไฟล์ต้นฉบับ ทำให้ผู้พัฒนาได้รับแจ้งเกี่ยวกับข้อผิดพลาดในการคอมไพล์ที่เกิดขึ้นจากการเปลี่ยนแปลงโค้ดแทบจะทันที วิธีการนี้แตกต่างจากการคอมไพล์แบบดั้งเดิม เพราะช่วยลดวงจรการพัฒนาของโปรแกรมเมอร์ได้อย่างมาก เนื่องจากพวกเขาไม่ต้องรอขั้นตอนการคอมไพล์ที่ยาวนานก่อนที่จะได้รับแจ้งข้อผิดพลาดอีกต่อไป
ข้อเสียอย่างหนึ่งของคอมไพเลอร์แบบเพิ่มทีละส่วนนี้คือ ไม่สามารถปรับแต่งโค้ดที่คอมไพล์ได้อย่างง่ายดาย เนื่องจากข้อจำกัดด้านพื้นที่และขอบเขตของการเปลี่ยนแปลง โดยปกติแล้วนี่ไม่ใช่ปัญหา เพราะการปรับแต่งมักจะทำเฉพาะใน ขั้นตอน การวางจำหน่าย เท่านั้น ดังนั้นคอมไพเลอร์แบบเพิ่มทีละส่วนจึงถูกใช้ตลอดการพัฒนา และคอมไพเลอร์แบบแบตช์มาตรฐานจะถูกใช้ในขั้นตอนการวางจำหน่าย
การเขียนโปรแกรมเชิงโต้ตอบ
ใน กระบวนทัศน์ การเขียนโปรแกรมแบบโต้ตอบเช่น ในเอกสารที่เกี่ยวข้องกับPoplog [ 1 ]และ[ 2 ]คอมไพเลอร์แบบโต้ตอบหมายถึงคอมไพเลอร์ที่เป็นส่วนหนึ่งของระบบรันไทม์ของภาษาต้นฉบับ คอมไพเลอร์สามารถถูกเรียกใช้ในขณะรันไทม์บนซอร์สโค้ดหรือโครงสร้างข้อมูลบางอย่างที่จัดการโดยโปรแกรม ซึ่งจะสร้างส่วนของโปรแกรมที่คอมไพล์ใหม่ที่มีโค้ดเครื่องจักรซึ่งพร้อมใช้งานโดยระบบรันไทม์ได้ทันที หากส่วนที่คอมไพล์ใหม่แทนที่ขั้นตอนที่คอมไพล์ไว้ก่อนหน้านี้ ขั้นตอนเก่าจะถูกเก็บกวาดขยะ แผนการนี้อนุญาตให้มี การแก้ไขโค้ดด้วยตนเองในระดับหนึ่งและต้องการ คุณสมบัติของภาษา เมตาโปรแกรมมิ่งความสามารถในการเพิ่ม ลบ และแก้ไขโค้ดขณะทำงานเรียกว่าhot swappingแพลตฟอร์มการเขียนโปรแกรมแบบโต้ตอบบางแพลตฟอร์มผสมผสานการใช้โค้ดที่ตีความและคอมไพล์เพื่อให้เกิดภาพลวงตาว่าการเปลี่ยนแปลงใดๆ ในโค้ดสามารถเข้าถึงได้โดยโปรแกรมทันที
รายชื่อคอมไพเลอร์แบบเพิ่มทีละขั้น
- ภาษาเชิงคำสั่งและภาษาเชิงฟังก์ชัน
- PECAN Programming Environment Generator เป็นคอมไพเลอร์แบบเพิ่มทีละขั้น ซึ่งพัฒนาโดย Steven P. Reiss ในช่วงต้นทศวรรษ 1980 [ 3 ] [ 4 ]
- GNU Compiler Collectionได้แยกสาขา[ 5 ]การพัฒนาออกไปพร้อมกับ โครงการ IncrementalCompilerโดยมุ่งเน้นที่การจัดหาคอมไพเลอร์แบบเพิ่มทีละขั้นที่รวดเร็วสำหรับC / C++
- แพลตฟอร์มEclipse ได้รวมคอมไพเลอร์แบบเพิ่มทีละขั้นสำหรับJava ไว้เป็นส่วนหนึ่งของโครงการJava Development Tools [ 6 ]
- เครื่องมือ สร้าง Gradleรองรับการคอมไพล์ Java แบบเพิ่มทีละส่วนตั้งแต่เวอร์ชัน 2.1 [ 7 ]
- คอมไพเลอร์ IBM VisualAge C++ เวอร์ชัน 4.0
- เอ็มบาร์กาเดโร เดลฟี
- แพลตฟอร์มคอมไพเลอร์ .NET ( C#และVisual Basic .NET )
- สนิม[ 8 ]
- ไป[ 9 ]
- ไปข้างหน้า
- ศรีลังกา
- โอแคมล์
- GNATคือคอมไพเลอร์ GNU Ada
- PTC ObjectAda
- สภาพแวดล้อมแบบโต้ตอบและระบบรันไทม์
- Poplog (โดยใช้ภาษาหลักPOP-11และภาษารุ่นก่อนหน้าPOP-2 )
- เวอร์ชันต่างๆ ของLisp :
- เวอร์ชันของScheme :
- เวอร์ชันต่างๆ ของProlog :
- เวอร์ชันต่างๆ ของML :
- บริษัท สแตนดาร์ด เอ็มแอล แห่งรัฐนิวเจอร์ซีย์ ( สำนักงานใหญ่ของ เบลล์แล็บส์ตั้งอยู่ในรัฐนิวเจอร์ซีย์ )
- ป็อปล็อกเอ็มแอล
ดูเพิ่มเติม
ลิงก์ภายนอก
- บันทึกของดร.ด็อบบ์เกี่ยวกับการสร้างคอมไพเลอร์ C++ แบบเพิ่มทีละขั้นตอน
- R. Smith, A. Sloman และ J. Gibson, การสนับสนุนเครื่องเสมือนสองระดับของ POPLOG สำหรับภาษาเชิงโต้ตอบ ใน Research Directions in Cognitive Science Volume 5: Artificial Intelligence , บรรณาธิการD. Sleemanและ N. Bernsen, Lawrence Erlbaum, 1992, หน้า 203–231
สรุปเนื้อหา
ข้อมูลสำคัญจากบทความ
ข้อมูลสำคัญเกี่ยวกับ คอมไพเลอร์แบบเพิ่มทีละขั้น
คอม ไพเลอร์แบบเพิ่มทีละส่วน (Incremental compiler) คือ การคำนวณแบบเพิ่มทีละส่วน ชนิดหนึ่งที่นำมาใช้ในด้าน การคอมไพล์ โดยทั่วไปแล้ว คอมไพเลอร์ทั่วไปจะทำการ สร้างแบบสะอาด (clean...
การเขียนโปรแกรมเชิงคำสั่ง
ใน การเขียนโปรแกรมเชิงคำสั่ง และ การพัฒนาซอฟต์แวร์ การคอมไพล์แบบเพิ่มทีละส่วนจะประมวลผลเฉพาะ การเปลี่ยนแปลง ของชุด ไฟล์ต้นฉบับ ที่ทราบแล้ว และ อัปเดต ไฟล์เอาต์พุตที่เกี่ยวข้อง (ในภาษาเป้าหมายของคอมไพเลอร์ ซึ่งมักจะเป็น ไบต์โค้ด )...
การเขียนโปรแกรมเชิงโต้ตอบ
ใน กระบวนทัศน์ การเขียนโปรแกรมแบบโต้ตอบ เช่น ในเอกสารที่เกี่ยวข้องกับ Poplog [ 1 ] และ [ 2 ] คอมไพเลอร์แบบโต้ตอบหมายถึงคอมไพเลอร์ที่เป็นส่วนหนึ่งของ ระบบรันไทม์ ของภาษาต้นฉบับ...
รายชื่อคอมไพเลอร์แบบเพิ่มทีละขั้น
ภาษาเชิงคำสั่งและภาษาเชิงฟังก์ชัน PECAN Programming Environment Generator เป็นคอมไพเลอร์แบบเพิ่มทีละขั้น ซึ่งพัฒนาโดย Steven P.