形式语义学
Basic Category Theory for Computer Scientists
Douban
Benjamin C. Pierce publishing house: The MIT Press 1991 - 8
Category theory is a branch of pure mathematics that is becoming an increasingly important tool in theoretical computer science, especially in programming language semantics, domain theory, and concurrency, where it is already a standard language of discourse. Assuming a minimum of mathematical preparation, Basic Category Theory for Computer Scientists provides a straightforward presentation of the basic constructions and terminology of category theory, including limits, functors, natural transformations, adjoints, and cartesian closed categories. Four case studies illustrate applications of category theory to programming language design, semantics, and the solution of recursive domain equations. A brief literature survey offers suggestions for further study in more advanced texts. Benjamin C. Pierce received his doctoral degree from Carnegie Mellon University.Contents : Tutorial. Applications. Further Reading.
Understanding Petri Nets
Douban
Reisig, Wolfgang 2013 - 7
With their intuitive graphical approach and expressive analysis techniques, Petri nets are suitable for a wide range of applications and teaching scenarios, and they have gained wide acceptance as a modeling technique for computer science-based systems. This book is a clear, thorough introduction to Petri nets. The explanations are supported throughout with fully integrated graphical illustrations, with only the analysis and verification presented in a formal manner. The author clearly explains the core of each related topic, leaving the reader to explore other sources for further details. The book will be suitable for students of computer science and related subjects. The book includes exercises and the solutions are available online.
Compilers
Douban Goodreads
★ 8.4 5 ratings
Alfred V. Aho / Monica S. Lam … publishing house: Addison Wesley 2006 - 9
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.
Read
Dec. 27, 2020
学习了前9章的核心内容,最初被语言分析技术所吸引,后来才明白编译的精髓还是在后端。以及只有我一个人是Parser理论学得很开心,真动手实现起编译器直挠头吗?
编译原理 计算机科学 语法分析 形式语义学
编译原理
Douban Goodreads
★ 9.1 7 ratings
Alfred V. Aho / Monica S.Lam … translator: 赵建华 / 郑滔 … publishing house: 机械工业出版社 2008
本书全面、深入地探讨了编译器设计方面的重要主题,包括词法分析、语法分析、语法制导定义和语法制导翻译、运行时刻环境、目标代码生成、代码优化技术、并行性检测以及过程间分析技术,并在相关章节中给出大量的实例。与上一版相比,本书进行了全面的修订,涵盖了编译器开发方面的最新进展。每章中都提供了大量的系统及参考文献。 本书是编译原理课程方面的经典教材,内容丰富,适合作为高等院校计算机及相关专业本科生及研究生的编译原理课程的教材,也是广大技术人员的极佳参考读物。
Read
Dec. 27, 2020
部分名词的译法增加了阅读难度,比如“到达定值”(Reaching Definition),但整体上翻译质量还不错。第358页关于寄存器冲突图的例子死活读不懂,一查英文版果然是字母编号出现了低级错误。
编译原理 计算机科学 语法分析 形式语义学
程序设计语言原理
Concepts of Programming Languages Douban
(美)賽巴斯塔(Sebesta,R.W.) translator: 张勤,王方矩 publishing house: 机械工业出版社 2008 - 6
本书从为什么学习程序设计语言入手,深入细致地讲解了命令式语言的主要结构及其设计与实现,内容涉及变量、数据类型、表达式和赋值语句、控制语句、子程序、数据抽象机制、支持面向对象程序设计(继承和动态方法绑定)、并发和异常处理等方面。最后两章介绍了函数式程序设计语言和逻辑程序设计语言。 本书内容丰富,剖析透彻,被美国和加拿大多所高等院校采用作为教材。本书既可用做高等院校计算机及相关专业本科生程序设计语言课程的教材和参考书,也可供程序设计人员参考。
Programming Languages
Douban
Terrence W. Pratt / Marvin V. Zelkowitz publishing house: Prentice Hall 2000 - 9
For sophomore/junior-level courses in Programming Languages, Comparative Programming Languages, Language Design, and Organization of Programming Languages, in departments of Computer Science and Computer Engineering. Comprehensive in approach, this text explores the major issues in both design and implementation of modern programming languages and provides a basic introduction to the underlying theoretical models on which these languages are based. It focuses on the underlying software and hardware architecture that guides language design, helping students understand why certain decisions are more rational than others in building a program. The emphasis throughout is on fundamental concepts-students learn important ideas, not minor language differences-but several languages are highlighted in sufficient detail to enable students to write programs that demonstrate the relationship between a source program and its execution behavior, without having to purchase separate language reference manuals.