The programming language implementation pattern is designed to impart the experience and ideas of building language applications (tools) and to teach readers to build their own language applications. The language application here does not specifically use compilers or interpreters to implement programming languages, but rather refers to any program that processes, parses, and translates input files, such as configuration file readers, data readers, model-driven code generators, source-to-source translators, source analysis tools, interpreters, and such tools. For this reason, the author explains the working mechanism of the existing language application, dismantling and summing up 31 easy-to-understand and common design patterns (each of which includes general data structure, algorithm, strategy). Although the examples are written in Java, it is believed that readers can comprehend by analogy and use these design patterns to build applications for other programming languages, including both specific domain languages and common programming languages.
Although the book does not specifically discuss how to design a programming language, readers will absorb a wealth of knowledge in the process of reading. Comparing the characteristics of different programming languages and understanding the development history of programming languages is a good way to learn to design programming languages.
Programming language Implementation Pattern Catalog: Part 1th Read input
The 1th chapter on language application
3
The 2nd Chapter Basic Analytic mode
21st
3rd Chapter High-order analytic mode
49
Part 2nd Analysis Input
The 4th chapter constructs the middle representation from the syntax tree
73
5th Chapter traverse and rewrite the tree structure
101
The 6th Chapter records and identifies the symbols in the program
131
The 7th chapter of Management data aggregation symbol table
155
8th Chapter Static Type check
181
Part 3rd Interpretation of implementation
The 9th chapter constructs the high-level interpreter
219
The 10th chapter constructs the byte-code interpreter
239
Section 4 Generating output
The translation of the 11th chapter of language
278
12th. Creating a DSL using a template 312
Chapter 13th Knowledge Summary 348
"Programming language Implementation Mode" PDF download link:
https://u253469.ctfile.com/fs/253469-231196316
For more books and recommended ebooks, please pay attention to:
http://zhaozhiyong.cn
Programming language Implementation Mode "PDF" download