[心得]程序设计语言实践之路第2版知识整理

本书深入探讨编程语言的工作原理和技术,强调编程语言的重要基础概念。内容涵盖正则表达式、上下无关文法、扫描器与语法分析器、类型系统、异常处理、并发模型以及代码优化等核心主题。推荐在学习具体编程语言前阅读,有助于建立扎实的理论基础。
摘要由CSDN通过智能技术生成

前言

原书第4版已经与2015年圣诞节问世,我看的第2版是10年前的版本。里面列举的例子有点过时。第2版比第3版翻译得更好一点。不过像现在通常称为垃圾回收的,在译本里叫物料回收,一码事儿。另外,第4版已经从原来的13章经扩充为17章经了。
这本书讨论编程语言的工作原理和技术,阐述编程语言的重要基础概念。我特别推荐在学习具体编程以前学学这本书。当然要是之前再学一点编译原理更完美。

干货

正则表达式和上下无关文法是语言的生成器,它们描述如何构造出合法的字符或者单词的串。
扫描器和语法分析器是语言的识别器,确定一个给定的串是否合法。扫描器的作用是减少语法分析器必须处理信息的量。

使用语法分析器分为自上而下(称为LL或者预测性的)和自下而上(称为LR或者移入归约的)。

子程序是控制抽象,类是数据抽象。

一个属性文法将一些属性关联到一个上下文无关文法或树文法的各个符合,或者将一些属性规则关联于各个产生式。
严格地说,属性文法只允许复制规则,和对语义的简单调用。

虽然可以构造出分析属性流和标注分析树的自动化工具,但是大部分编译器还是依靠动作例程。
在一遍编译器里,扫描,语法分析,语义分析,和代码生成,在对输入的一次遍历中交错进行。

描述顺序的机制分为7类:顺序执行,选择,迭代,过程抽象,递归,并发和非确定性。
顺序就是按序
选择是在两个或多个控制流中选择一个执行。
递归基于一个操作的更简单实例来定义操作。
迭代则重复操作,利用操作的副作用。

在值模型中,变量就是命名的数据容器。在引用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值