Cantitate/Preț
Produs

Introduction to Compiler Design

Autor John I. Moore
en Limba Engleză Paperback – 4 oct 2020

Observăm că această a doua ediție a Introduction to Compiler Design își păstrează structura pragmatică, fiind adaptată pentru un curs universitar intensiv de un semestru. Actualizarea pune accent pe simplificarea procesului de învățare, eliminând complexitatea teoretică excesivă în favoarea unei experiențe practice directe. Autorul John I. Moore a ales să utilizeze Kotlin ca limbaj de implementare, oferind o punte modernă pentru cei familiarizați cu ecosistemul Java.

Apreciem decizia de a utiliza o mașină virtuală cu arhitectură bazată pe stivă pentru generarea codului, o soluție care facilitează înțelegerea mecanismelor interne fără a bloca cititorul în detaliile hardware-ului specific. În procesul de analiză sintactică, volumul se concentrează exclusiv pe metoda descendenței recursive cu un singur simbol de anticipare (lookahead), asigurând astfel o claritate conceptuală necesară debutanților.

Complementar lui A Practical Approach to Compiler Construction, care oferă o perspectivă generală asupra implementării limbajelor de nivel înalt, acest volum de John I. Moore acoperă zona specifică a proiectării de la zero a unui compilator funcțional într-un mediu controlat, oferind asamblorul și emulatorul necesar pe site-ul suport. Față de Compiler Construction de William M. Waite, care pune un accent major pe descompunerea modulară și principii de inginerie software pentru sisteme complexe, lucrarea de față este mult mai accesibilă, fiind optimizată pentru studenții care doresc să vadă rezultate imediate fără a utiliza generatoare automate de scannere sau parsere.

Citește tot Restrânge

Specificații

ISBN-13: 9781734139112
ISBN-10: 1734139110
Pagini: 302
Dimensiuni: 191 x 235 x 17 mm
Greutate: 0.52 kg
Ediția:Second Edition
Editura: SoftMoore Consulting

De ce să citești această carte

Recomandăm această carte studenților și programatorilor care doresc să demistifice funcționarea internă a limbajelor de programare. Veți câștiga experiență practică construind un compilator funcțional în Kotlin, învățând cum se transformă codul sursă în instrucțiuni pentru o mașină virtuală. Este o resursă tehnică excelentă pentru cei care preferă învățarea prin implementare, nu doar prin parcurgerea unor demonstrații teoretice abstracte.


Despre autor

John I. Moore este un specialist în dezvoltare software și consultant în cadrul SoftMoore Consulting, cu o experiență vastă în predarea conceptelor fundamentale de informatică. Expertiza sa se concentrează pe limbaje moderne de programare precum Kotlin și Java, precum și pe arhitecturi de sisteme. Prin publicațiile sale de la editura SoftMoore Consulting, Moore urmărește să ofere materiale didactice care reduc barierele de intrare în domenii complexe ale ingineriei software, transformând subiecte dificile, precum proiectarea compilatoarelor, în proiecte gestionabile și educative pentru studenți.


Descriere scurtă

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.

Notă biografică

John I. Moore, Jr., Professor Emeritus of Cyber and Computer Sciences at The Citadel in Charleston, SC, has a wide range of experience in both industry and academia, with specific expertise in the areas of object-oriented technology, software engineering, compilers, and mobile applications. For more than four decades John has designed and developed software using several high-order languages, and he has worked extensively in Java since version 1.1. In addition, he has developed and taught numerous academic courses and industrial seminars on advanced topics in computer science, training several thousand software professionals throughout the United States and Canada.