มาร์ตินชี้ให้เห็นว่ามีงานบางอย่างเกี่ยวกับการเป็นตัวแทนของแพทช์ Mimram และ Di Giusto ของ "เป็นหมวดหมู่ทฤษฎีของแพทช์" UNIX diff
เป็นวิธีการที่เด็ดขาดที่กว้างขวางที่สุดในการแก้ไขสคริปต์ที่ใช้โดย
ในความหมายคุณมีสิ่งที่คุณต้องการ วัตถุเป็นลำดับที่แน่นอนของคำบนตัวอักษรLซึ่งถูกมองว่าเป็นแผนที่A : [ n ] → Lโดยที่[ n ]หมายถึงเซตที่มีองค์ประกอบnลูกศรระหว่างA : [ n ] → LและB : [ m ] → Lคือการทำแผนที่แบบฉีดเพิ่มบางส่วนฉ: [ n ] → [ m ]. ความเฉื่อยชาและการเพิ่มขึ้นเป็นสิ่งที่บ่งชี้ว่าสำเนาไม่เคยข้ามกัน คุณสามารถค้นหารายละเอียดทั้งหมดที่อยู่บนกระดาษ
ใช่การรวมกันถูกมองว่าเป็นสิ่งที่ผลักดันให้ cocompletion ฟรีของหมวดหมู่ข้างต้น เราต้องการ cocompletion เพื่อให้แน่ใจว่าเราได้เพิ่มความขัดแย้งในการก่อสร้างของเรา ไม่ใช่กรณีที่มีการผสานอยู่เสมอ
สำหรับคำถามที่สองของคุณไม่มีความคิดเชิงหมวดหมู่ของสคริปต์การแก้ไขน้อยที่สุดด้วยเหตุผลหลักสองประการ
สคริปต์แก้ไขมาในรูปทรงและแบบฟอร์มทั้งหมด ผู้เขียนบางคนพิจารณาการแทรกการลบและการคัดลอกผู้เขียนบางคนต้องการเพิ่มการแทนที่เป็นการดำเนินการด้วย เมื่อคุณพูดคุยจากสตริงถึงต้นไม้ดังนั้นการดำเนินการอื่น ๆ จึงเป็นไปได้
ขข
มีงานจำนวนมากที่ใช้สคริปต์การแก้ไขทั่วไปกับแผนผัง สิ่งนี้ถูกแบ่งออกเป็นสองส่วนหลักของงาน:
ต้นไม้ที่ยังไม่ได้พิมพ์ : ให้นึกถึงนิพจน์ s เท่านั้น tree-edit-distance ระหว่างต้นไม้สองต้นคือระยะทางแบบสตริง - แก้ไข - ระหว่างเส้นทางการสั่งซื้อล่วงหน้าของต้นไม้ดังกล่าว คุณสามารถตรวจสอบบรรณานุกรมของDemaine และคณะ หรือPawlik และ Augstenเป็นต้น
ต้นไม้ที่พิมพ์แล้ว : แพทช์เหนือต้นไม้ไวยากรณ์ที่รับประกันว่าจะรักษาความเป็นตัวตนที่ดีของวัตถุเช่นการใช้โปรแกรมปะแก้จะทำให้ AST ที่ถูกต้องอยู่เสมอ ภายใต้ร่มพิมพ์มีการแก้ไขน้อยกว่าที่เราสามารถพิจารณาได้ ตัวอย่างเช่นการทดแทนไม่สมเหตุสมผล อย่างไรก็ตามมีความแตกต่างในการสำรวจเส้นทางของต้นไม้โดยLempsink และคณะ ซึ่งได้รับการขยายในภายหลังโดยVassena ฉันกำลังมุ่งเน้นไปที่วิธีการที่ห่างจากสคริปต์แก้ไขสำหรับปัญหาที่ฉันชี้ไปก่อนหน้านี้เช่นงานล่าสุดของเราหรืองานก่อนหน้าซึ่งพยายามใช้ประโยชน์จากโครงสร้างประเภทของค่าที่เป็น "แพทช์"
ในทั้งสองกรณีนี้ฉันไม่เคยเห็นการตีความอย่างละเอียดของแพทช์ที่มีโครงสร้างแบบต้นไม้