默认按页码顺序显示所有勘误,也可以通过选择印次,来查过该印次的勘误。如果您有新发现的勘误,欢迎提交!

  • 第5页
    第13行,“本书中会使用C语言作为编程语言语法处理器(编译器、解释器等)来编写语言”改为“本书将C语言作为编程语言语法处理器(编译器、解释器等)的编写语言”
    zangxt 提交于 2013-12-25 09:12 · 纸质版 · 第3印 ·
  • 第11页
    第一行Perl的右侧批注,批注原文是:“*Perl 6还不知道什么时候出来,就不管它了:-)”
    因为2015年12月25日Perl 6正式发布了,请在以后的版本将这个批注去掉。
    刘祺 提交于 2016-01-08 13:33 · 纸质版 · 第4印 ·
  • 第19页
    图2-2 语句排列 应改为 语句序列
    jcw2001 提交于 2014-01-15 20:27 · 纸质版 · 第3印 ·
  • 第27页
    p27 第3改为
    第6~9行声明了记号以及非终结符的值的类型。正如前文所写,记号不仅需要包含种类,还需要包含值。记号的值可能会有很多类型,这些类型都声明在联合体中。

    p28 第1段改为
    第10~11行是记号的声明。mycalc所用到的记号种类都在这里定义。ADD、SUB、MUL、DIV、CR等记号只需要包含记号的种类就可以了,而种类为DOUBLE_LITERAL的记号,其值被指定为<double_value>。这里的double_value是来自上面代码中%union联合体的一个成员名。

    p28 第2段改为
    第12行声明了非终结符的种类,并指明了这些非终结符的值在联合体中对应的成员名。

    p33 第1行 {$$ = $1}改为{$$ = $1;}
    jcw2001 提交于 2014-01-15 23:57 · 纸质版 · 第3印 ·
  • 第54页
    第7行 if (token.kind == MUL_OPERATOR_TOKEN) { 改为 if (kind == MUL_OPERATOR_TOKEN) {
    第9行 } else if (token.kind == DIV_OPERATOR_TOKEN) { 改为 } else if (kind == DIV_OPERATOR_TOKEN) {
    grissiom 提交于 2014-02-10 16:46 · 纸质版 · 第3印 ·
  • 第72页
    方框中的第二行,使用大写字母连接单词 → 使用下划线连接单词
    聪Hit 提交于 2015-06-15 15:55 · 纸质版 · 第4印 ·
  • 第83页
    第21行,BEGIN COMMIT 改为 BEGIN COMMENT
    Learning 提交于 2014-06-06 16:28 · 纸质版 · 第3印 ·
  • 第90页
    倒数第2行,代码清单3-6 改为 代码清单3-5
    ClarenceAu 提交于 2014-03-30 01:25 · 纸质版 · 第3印 ·
  • 第116页
    第三行,“上面这个的语句”改为“上面这个语句”。
    zangxt 提交于 2013-12-24 09:13 · 纸质版 · 第3印 ·
  • 第154页
    倒数第2行,EF应为FE
    simonclickk 提交于 2016-02-27 09:35 · 纸质版 · 第4印 ·