Introduction to Compiler Design: An Object-Oriented Approach Using Java(R)
暫譯: 編譯器設計導論:使用 Java(R) 的物件導向方法

Moore, John I.

  • 出版商: Softmoore Consulting
  • 出版日期: 2020-10-05
  • 定價: $1,650
  • 售價: 9.5$1,568
  • 語言: 英文
  • 頁數: 302
  • 裝訂: Quality Paper - also called trade paper
  • ISBN: 1734139110
  • ISBN-13: 9781734139112
  • 相關分類: Object-orientedCompiler
  • 立即出貨(限量) (庫存=6)

買這商品的人也買了...

商品描述

This book is designed primarily for use as a textbook in a one-semester course on compiler design for undergraduate students and beginning graduate students. The only prerequisites for this book are familiarity with basic algorithms and data structures (lists, maps, recursion, etc.), a rudimentary knowledge of computer architecture and assembly language, and some experience with the Java programming language.

 

A complete study of compilers could easily fill several graduate-level courses, and therefore some simplifications and compromises are necessary for a one-semester course that is accessible to undergraduate students. Following are some of the decisions made in order to accommodate the goals of this book.

 

  1. The book has a narrow focus as a project-oriented course on compilers. Compiler theory is kept to a minimum, but the project orientation retains the "fun" part of studying compilers.
  2. The source language being compiled is relatively simple, but it is powerful enough to be interesting and challenging. It has basic data types, arrays, procedures, functions, and parameters, but it relegates many other interesting language features to the project exercises.
  3. The target language is assembly language for a virtual machine with a stack-based architecture, similar to but much simpler than the Java Virtual Machine (JVM). This approach greatly simplifies code generation. Both an assembler and an emulator for the virtual machine are provided on the course web site.
  4. No special compiler-related tools are required or used within the book. Students require access only to a Java compiler and a text editor, but most students will want to use Java with an Integrated Development Environment (IDE).
  5. One very important component of a compiler is the parser, which verifies that a source program conforms to the language syntax and produces an intermediate representation of the program that is suitable for additional analysis and code generation. There are several different approaches to parsing, but in keeping with the focus on a one-semester course, this book emphasizes only one approach, recursive descent parsing with one symbol lookahead.

 

商品描述(中文翻譯)

這本書主要設計用作本科生和初學研究生的編譯器設計一學期課程的教科書。這本書的唯一先決條件是對基本演算法和資料結構(如列表、映射、遞迴等)的熟悉,對計算機架構和組合語言的基本知識,以及對 Java 程式語言的一些經驗。

對編譯器的完整研究可以輕易填滿幾門研究生級別的課程,因此在一學期的課程中,為了讓本科生能夠理解,必須進行一些簡化和妥協。以下是為了適應本書目標而做出的一些決定。

1. 本書的重點是專注於編譯器的專案導向課程。編譯器理論保持在最低限度,但專案導向保留了學習編譯器的「樂趣」部分。
2. 被編譯的源語言相對簡單,但足夠強大以引起興趣和挑戰。它具有基本的資料類型、陣列、程序、函數和參數,但將許多其他有趣的語言特性 relegated 到專案練習中。
3. 目標語言是針對一個具有堆疊架構的虛擬機的組合語言,類似於但比 Java 虛擬機(JVM)簡單得多。這種方法大大簡化了代碼生成。課程網站上提供了虛擬機的組譯器和模擬器。
4. 書中不需要或使用任何特殊的編譯器相關工具。學生只需訪問 Java 編譯器和文本編輯器,但大多數學生會希望使用集成開發環境(IDE)中的 Java。
5. 編譯器的一個非常重要的組件是解析器,它驗證源程序是否符合語言語法,並生成適合進一步分析和代碼生成的中間表示。解析有幾種不同的方法,但為了符合一學期課程的重點,本書僅強調一種方法,即帶有一個符號前瞻的遞迴下降解析。

最後瀏覽商品 (20)