How we did it:
For any feedback, any questions, any notes or just for chat - feel free to follow us on social networks
Alfred V. Aho
Compilers: Principles, Techniques and Tools, known to professors, students, and developers worldwide as the "Dragon Book," is available in a new edition. Every chapter has been completely revised to reflect developments in software engineering, programming languages, and computer architecture that have occurred since 1986, when the last edition published. The authors, recognizing that few readers will ever go on to construct a compiler, retain their focus on the broader set of problems faced in software design and software development.
Alfred V. Aho, Ravi Sethi
This book provides the foundation for understanding the theory and pracitce of compilers. Revised and updated, it reflects the current state of compilation. Every chapter has been completely revised to reflect developments in software engineering, programming languages, and computer architecture that have occurred since 1986, when the last edition published.& The authors, recognizing that few readers will ever go on to construct a compiler, retain their focus on the broader set of problems faced in software design and software development. Computer scientists, developers, & and aspiring students that want to learn how to build, maintain, and execute a compiler for a major programming language.
Marc J. Rochkind
The long-awaited revision to one of the foundation titles in UNIX programming covers the latest POSIX standards, updated for Linux, FreeBSD, and Mac OS X. Includes a wide range of examples, including a Web browser, a Web server, a keystroke recorder/player and a real shell. Rochkind is regarded as one of the pioneers in UNIX programming, and this book is a true classic.
Richard Jones, Rafael Lins
Eliminating unwanted or invalid information from a computer's memory can dramatically improve the speed and officiency of the program. this reference presents full descriptions of the most important algorithms used for this eliminatino, called garbage collection. Each algorith is explained in detail with examples illustrating different results.
Long-awaited revision to a unique guide that covers both compilers and interpreters Revised, updated, and now focusing on Java instead of C++, this long-awaited, latest edition of this popular book teaches programmers and software engineering students how to write compilers and interpreters using Java. You?ll write compilers and interpreters as case studies, generating general assembly code for a Java Virtual Machine that takes advantage of the Java Collections Framework to shorten and simplify the code. In addition, coverage includes Java Collections Framework, UML modeling, object-oriented programming with design patterns, working with XML intermediate code, and more.
John K. Ousterhout, Ken Jones
The world's #1 Tcl/Tk tutorial, now thoroughly updated for the brand-new Tcl 8.5, written by the creator of Tcl • •Perfect for newcomers who want to master Tcl/Tk 8.5 fast - and experienced Tcl/Tk programmers who want to master its advanced features. •Includes unsurpassed coverage of Tcl 8.5's updated C programming interface. •Straightforward, concise, and packed with reliable code examples. Tcl and the Tk Toolkit, Second Edition is the fastest way for newcomers to master Tcl/Tk. And it's also the most authoritative resource for experienced Tcl/Tk programmers who want to master Tcl's important C interfaces, both to integrate Tcl/Tk code with C applications, or to create new Tcl/Tk commands. Co-authored by Tcl/Tk creator John Osterhout, it shares the extraordinarily clarity and careful organization that made the First Edition a worldwide Tcl/Tk best-seller, while incorporating substantial updates for the brand-new Tcl/Tk 8.5. For newcomers, it offers a lucid introduction to the language and its key features, as well as practical, hands-on guidance for developing production applications. For experienced Tcl/Tk programmers, it presents unsurpassed coverage of Tcl/Tk's C interfaces, with examples of using C to create new Tcl commands, and integrating Tcl with existing C applications. (A bonus section on using Tcl/Tk interfaces to develop custom Tk widgets is available for download.)
Andrew W. Appel
The control and data flow of a program can be represented using continuations, a concept from denotational semantics that has practical application in real compilers. This book shows how continuation-passing style is used as an intermediate representation on which to perform optimisations and program transformations. Continuations can be used to compile most programming languages. The method is illustrated in a compiler for the programming language Standard ML. However, prior knowledge of ML is not necessary, as the author carefully explains each concept as it arises. This is the first book to show how concepts from the theory of programming languages can be applied to the producton of practical optimising compilers for modern languages like ML. This book will be essential reading for compiler writers in both industry and academe, as well as for students and researchers in programming language theory.
Quickly master all the skills you need to build your own compilers and interpreters in C++ Whether you are a professional programmer who needs to write a compiler at work or a personal programmer who wants to write an interpreter for a language of your own invention, this book quickly gets you up and running with all the knowledge and skills you need to do it right. It cuts right to the chase with a series of skill-building exercises ranging in complexity from the basics of reading a program to advanced object-oriented techniques for building a compiler in C++. Here's how it works: Every chapter contains anywhere from one to three working utility programs that provide a firsthand demonstration of concepts discussed, and each chapter builds upon the preceding ones. You begin by learning how to read a program and produce a listing, deconstruct a program into tokens (scanning), and how to analyze it based on its syntax (parsing). From there, Ron Mak shows you step by step how to build an actual working interpreter and an interactive debugger. Once you've mastered those skills, you're ready to apply them to building a compiler that runs on virtually any desktop computer. Visit the Wiley Computer Books Web page at: http://www.wiley.com/compbooks/
Michael Lee Scott
Programming Language Pragmatics addresses the fundamental principles at work in the most important contemporary languages, highlights the critical relationship between language design and language implementation, and devotes special attention to issues of importance to the expert programmer. Thanks to its rigorous but accessible teaching style, you'll emerge better prepared to choose the best language for particular projects, to make more effective use of languages you already know, and to learn new languages quickly and completely. * Addresses the most recent developments in programming language design, spanning more than forty different languages, including Ada 95, C, C++, Fortran 95, Java, Lisp, Scheme, ML, Modula-3, Pascal, and Prolog. * Places a special emphasis on implementation issues how the techniques used by compilers and related tools influence language design, and vice versa. * Covers advanced topics in language design and implemenation, such as iterators, coroutines, templates (generics), separate compilation, I/O, type inference, and exception handling. * Reviews language-related topics in assembly-level architecture critical for understanding what a compiler does to a program. * Offers in-depth coverage of object-oriented programming, including multiple inheritance and dynamic method binding. * Devotes a special section to static and dynamic linking. * Includes a comprehensive chapter on concurrency, with detailed coverage of both shared-memory and message-passing languages and libraries. * Provides an accessible introduction to the formal foundations of compilation (automata theory), functional programming (lambda calculus), and logic programming (predicate calculus).