自己动手写java虚拟机_《自己动手写Python虚拟机》勘误表

自从《自己动手写Python虚拟机》一书出版以来,收到了很多读者的反馈。发现了很多书中的拼写错误,或者用词不准确的地方,在此向读者朋友们表示歉意。

最近该书准备新一次印刷,趁此机会,书中的一些错误之处将会得到更正。本次勘误,一些标点错误会在新版中修正,因为不影响阅读体验,所以这里的勘误表不再详细列出(下面的略的部分即是标点错误)

现将错误变更处发布如下:

1. 第2页,"函数foo方法",删掉"函数"二字。

2. 第4页,"对字节码文件进行加载、分析,执行",逗号改为"和"。

3. 第9页,"词法分析的思路大体上是这样的,",指代不清楚,改为"词法分析的思路大体上如上文所介绍。"

4. 第15页,"只展示了加法结点AddNode",改为"只展示了代表加法的结点AddNode "。

5. 第15页,第一段,"减法和除法结点与加法和乘法是相同的",改为"减法与加法,除法与乘法是相同的"。

6. 第17页,代码第8行,排版错误,缺少换行。

7. 第21页,"只需要把输出换成向字节码文件写入...",改为"只需要把输出到控制台换成向字节码文件写入..."

8. 第26页,代码第61行,"s->visit(a)"改为"s->visit(d)"

9. 第35页,代码第21行,"BuffedInputStream"之前缺少波浪号,代表析构函数。

10. 第76页,"除此之外,并没有什么意义",改为"除此之外,并没有其他意义"

11. 第79页,"就先创建一个再把创建的object赋值给_instance属性存起来",改为"就先创建一个实例,再把创建的实例赋值给_instance属性存起来"

12. 第91页,"通过CodeObject创建一个FunctionObject,已经实现了这个构造方法",改为"通过CodeObject创建一个FunctionObject。而FunctionObject的构造方法已经实现好了"

13. 第93页,"代码如代码清单6.6",改为"代码如清单6.6"

14. 第97页,"True和False实际上是个变量",改为"True和False实际上是变量",将"个"删掉。

15. 第98页,"把局部变量放在了FrameObject的局部变量表里",改为被动语句:"局部变量已经被放在了FrameObject的局部变量表里"

16. 第106页,"为FrameObject的构造函数增加了新的参数",删除"为"

17. 第110页,图6.2,"dcfaults",改为"defaults"

18. 第148页,"在命令行下手动输入Python",改为"在命令行下手动输入python",因为这里是一个命令,必须小写。

19. 第156页,"但我们并没有使用它"改为"但这个参数值并没有用,它是因为历史原因而保留下来的"

20. 第160页,最后一段第一句改为"代码7.15第11行的遍历出现了一种新的赋值机制,它使用了两个变量作为循环变量,这是用一个新的字节码..."

21. 第165页,7.3节第一段"先提供了最简陋的"改为"先实现最简陋的"

22. 第166页,第三段的最后一句"将512右移8位,就得到了2",改为"在这个例子中,键参数个数是2,而将512右移8位,就得到了2,这才是真正的键参数的数量"

23. 第167页,"扩展键参数都必须按照一定的顺序排列",改为"扩展键参数必须按照固定的顺序排列"

24. 第169页,第一段最后一句改为被动句,"build_frame的定义被修改了,op_arg也被传了进来 ..."

25. 标点,不再列出,只在新版书中修订。

26. 第186页,图8.3中"StrngKlass"改为"StringKlass"。

27. 第194,195页,图8.5,8.6中,引号中的"__name__"应该是"__main__"

28. 标点,略

29. 第208页,表8.1最后四行的运算符分别为"$","||", "~", "^",按位取反的调用方式应该是"~X",原书缺少波浪号。

30. 第232页,第一行,"栈上的对象都是roots",改为"栈上的引用都属于roots集合"

31. 略

32. 第236页,"把forwarding作为返回值返回给用者",改为"把forwarding作为返回值返回给调用者"

33. 第240页,文字部分的最后一句,改为"meta空间也叫元信息空间,虚拟机运行所需要的基础数据都存储在这里。meta空间中的信息相对稳定,不需要频繁回收。所以把Klass放到meta空间里是比较合适的。"

34. 第250页,"scavenge的代码实现是比较简单的",改为"scavenge的实现是比较简单的"

35. 略

36. 略

37. 第286页,行号有误,"最重要的是第21行...第22行,修改解释器的状态..."

38. 略

39. 第316页,代码第10行,"evalating"改为"evaluating"

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值