งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

เอาไว้ใช้ในการอธิบายกระบวนการแปลภาษาให้เข้าใจได้ง่ายขึ้น

งานนำเสนอที่คล้ายกัน


งานนำเสนอเรื่อง: "เอาไว้ใช้ในการอธิบายกระบวนการแปลภาษาให้เข้าใจได้ง่ายขึ้น"— ใบสำเนางานนำเสนอ:

1 เอาไว้ใช้ในการอธิบายกระบวนการแปลภาษาให้เข้าใจได้ง่ายขึ้น
Tombstone Diagrams เอาไว้ใช้ในการอธิบายกระบวนการแปลภาษาให้เข้าใจได้ง่ายขึ้น Program P implemented in L L P S --> T L Translator implemented in L M Machine implemented in hardware M L Language interpreter in L

2 Tombstone diagrams: Combination rules
P S P T S --> T M OK! OK! OK! OK! M L P L P S --> T M WRONG! WRONG!

3 Compilation ตัวอย่าง คอมไพล์โปรแกรมภาษาซีเพื่อให้รันบน CPU ตระกูล X86 ได้ C Tetris Tetris x86 x86 Tetris C --> x86 x86 x86

4 Cross compilation Cross compiler เป็นคอมไพเลอร์ที่ผลิต machine code ของ CPU ที่ไม่ใช่ของเครื่องที่เป็น host C Tetris Tetris PPC PPC Tetris download C --> PPC x86 Host ≠ Target x86

5 Compiling a Compiler ตัวอย่าง: เขียนคอมไพเลอร์เพื่อแปลงจาก Java ให้เป็น X86 machine code โดยใช้ภาษา C++ Java-->x86 C++ x86 C++-->x86 x86 Java-->x86

6 Interpreters Interpreter เป็นโปรแกรมที่ประมวลผลชุดคำสั่ง จำลองการทำงานของการประมวลชุดคำสั่งโดย CPU ตัวอย่างของ interpreter เช่น Java Virtual Machine (JVM) JVM Tetris JVM x86 x86

7 Full Bootstrap เริ่มต้นสร้างคอมไพเลอร์อย่างไร
สมมุติว่าเราต้องการสร้าง Ada compiler สำหรับ CPU M ใช้กระบวนการที่เรียกกันว่า bootstrapping เริ่มสร้าง compiler Ada แบบพื้นฐานที่สุดโดยใช้ machine code M เขียน optimized Ada compiler โดยใช้ Ada ใช้คอมไพเลอร์พื้นฐานที่อยู่ในรูป machine code M คอมไพล์ optimized Ada compiler

8 ได้คอมไพเลอร์ที่คอมไพล์ได้เร็วและผลิด machine code ที่รันได้เร็ว!
Bootstrapping ต้องการเขียน optimized Ada compiler โดยใช้ Ada เริ่มต้นจาก: Ada-->Mslow Mslow Ada-->Mfast Ada Ada-->Mfast Ada M Mslow Step 1 Ada-->Mslow Step 2 Ada-->Mfast Ada M Mfast Mslow ได้คอมไพเลอร์ที่คอมไพล์ได้เร็วและผลิด machine code ที่รันได้เร็ว!


ดาวน์โหลด ppt เอาไว้ใช้ในการอธิบายกระบวนการแปลภาษาให้เข้าใจได้ง่ายขึ้น

งานนำเสนอที่คล้ายกัน


Ads by Google