1 / 8

Tombstone Diagrams

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

oihane
Download Presentation

Tombstone Diagrams

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

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

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

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

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

  6. Tetris JVM Interpreters Interpreterเป็นโปรแกรมที่ประมวลผลชุดคำสั่ง จำลองการทำงานของการประมวลชุดคำสั่งโดย CPU ตัวอย่างของ interpreter เช่น Java Virtual Machine (JVM) 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. Step 1 Ada-->Mfast Ada-->Mfast Ada-->Mfast ได้คอมไพเลอร์ที่คอมไพล์ได้เร็วและผลิด machine code ที่รันได้เร็ว! Ada Ada Ada M Ada-->Mfast Ada-->Mfast Mslow Mfast Ada-->Mslow Ada-->Mfast Step 2 Ada-->Mslow Mslow Mslow Mslow M Bootstrapping ต้องการเขียน optimized Ada compiler โดยใช้ Ada เริ่มต้นจาก:

More Related