我建议从经典老书、David Gries 写的《数字计算机的编译程序构造》(Compiler Construction for Digital Computers)开始。把它和这里推荐的一些现代书籍搭配着看,就差不多齐活了。David Gries - https://www.cs.cornell.edu/gries/ 以及 https://en.wikipedia.org/wiki/David_Gries 荷兰裔计算机科学家……
I suggest starting with the old but classic Compiler Construction for Digital Computers by David Gries. Pair it with some modern books recommended here and you should be good. David Gries - https://www.cs.cornell.edu/gries/ and https://en.wikipedia.org/wiki/David_Gries Dutch computer scientist…
我很久以前买过一本书,看起来像是用标准的 IBM 1401 行式打印机印出来的。书名《数字计算机的编译程序构造》(Compiler construction for digital computers),作者 David Gries,插图版,Wiley 1971 年出版,原藏于加州大学
I bought a book a long time ago that appears to have been printed on a standard IBM 1401 line printer. Title Compiler construction for digital computers Author David Gries Edition illustrated Publisher Wiley, 1971 Original from the University of California
……手痒通常是通过实现一个 Wirth 语言的子集来过瘾,而不是自己从头造一套。我写的东西全都不留存,因为以后从头再搞一遍才好玩。[0] 我想我手头最老的一本书是 David Gries 的《数字计算机的编译程序构造》(Compiler Construction for Digital Computers)。我最喜欢的其实不算严格意义上的编译器书,而是 Wirth 的《算法 + 数据结构 = 程序》,因为他在里面实现了 PL/0。我以前存过一些 Thomas Christopher 写的 PDF,里面用到了矩阵……
…is usually scratched by implementing a subset of a Wirth language as opposed to creating my own. I don't keep anything I write because it's fun to do it all over again later. [0] I think my oldest is "Compiler Construction for Digital Computers" by David Gries. My favorite isn't really a compiler book, it's Wirth's "Algorithms + Data Structures = Programs" because he implements PL/0. I used to have some PDFs by Thomas Christopher that used matrices…
……arr: array[-2..10] of integer; pointer(@arr) == pointer(@arr[0])。或者你也可以用描述符(dope vectors),但这会带来相当大的开销。70年代关于编译器的书(比如 Gries 的《数字计算机的编译程序构造》/ Compiler construction for digital computers)对这两种方法都有相当深入的讨论。
…arr: array[-2..10] of integer; pointer(@arr) == pointer(@arr[0]) Or you can use descriptors (dope vectors), but that involves quite an overhead. The books on compilers from the 70s (e.g. Gries's "Compiler construction for digital computers") have rather extensive discussions on both approaches.
……用 Pascal 下标,但我觉得这对于我写的这种程序来说不太自然。我更希望用函数/类来做这类转换。> 70年代关于编译器的书(比如 Gries 的《数字计算机的编译程序构造》/ Compiler construction for digital computers)黄皮封面的,没记错吧?大约在 1984 年左右,我当时的女友买来送我当圣诞礼物的。依我拙见,在这个领域算不上最好的书。
…with Pascal indexes, but I don't find them very natural for the kind of programs I write. I want functions/classes to do any sort of translation. > The books on compilers from the 70s (e.g. Gries's "Compiler construction for digital computers") Yellow cover, I think? My then GF bought it for Xmas at about 1984 or so. Not the best book on the topic, IMHO.
我挺喜欢 1971 年有本书的书名叫《数字计算机的编译程序构造》(Compiler Construction for Digital Computers)。特意强调这不是给模拟计算机写的,可太有必要了!
I like how one of the books from 1971 is titled Compiler Construction for Digital Computers. Very important to make clear this wasn't for analog computers!
我建议从经典老书、David Gries 写的《数字计算机的编译程序构造》(Compiler Construction for Digital Computers)开始。把它和这里推荐的一些现代书籍搭配着看,就差不多齐活了。David Gries - https://www.cs.cornell.edu/gries/ 以及 https://en.wikipedia.org/wiki/David_Gries 荷兰裔计算机科学家……
I suggest starting with the old but classic Compiler Construction for Digital Computers by David Gries. Pair it with some modern books recommended here and you should be good. David Gries - https://www.cs.cornell.edu/gries/ and https://en.wikipedia.org/wiki/David_Gries Dutch computer scientist…
我很久以前买过一本书,看起来像是用标准的 IBM 1401 行式打印机印出来的。书名《数字计算机的编译程序构造》(Compiler construction for digital computers),作者 David Gries,插图版,Wiley 1971 年出版,原藏于加州大学
I bought a book a long time ago that appears to have been printed on a standard IBM 1401 line printer. Title Compiler construction for digital computers Author David Gries Edition illustrated Publisher Wiley, 1971 Original from the University of California
……手痒通常是通过实现一个 Wirth 语言的子集来过瘾,而不是自己从头造一套。我写的东西全都不留存,因为以后从头再搞一遍才好玩。[0] 我想我手头最老的一本书是 David Gries 的《数字计算机的编译程序构造》(Compiler Construction for Digital Computers)。我最喜欢的其实不算严格意义上的编译器书,而是 Wirth 的《算法 + 数据结构 = 程序》,因为他在里面实现了 PL/0。我以前存过一些 Thomas Christopher 写的 PDF,里面用到了矩阵……
…is usually scratched by implementing a subset of a Wirth language as opposed to creating my own. I don't keep anything I write because it's fun to do it all over again later. [0] I think my oldest is "Compiler Construction for Digital Computers" by David Gries. My favorite isn't really a compiler book, it's Wirth's "Algorithms + Data Structures = Programs" because he implements PL/0. I used to have some PDFs by Thomas Christopher that used matrices…
……arr: array[-2..10] of integer; pointer(@arr) == pointer(@arr[0])。或者你也可以用描述符(dope vectors),但这会带来相当大的开销。70年代关于编译器的书(比如 Gries 的《数字计算机的编译程序构造》/ Compiler construction for digital computers)对这两种方法都有相当深入的讨论。
…arr: array[-2..10] of integer; pointer(@arr) == pointer(@arr[0]) Or you can use descriptors (dope vectors), but that involves quite an overhead. The books on compilers from the 70s (e.g. Gries's "Compiler construction for digital computers") have rather extensive discussions on both approaches.
……用 Pascal 下标,但我觉得这对于我写的这种程序来说不太自然。我更希望用函数/类来做这类转换。> 70年代关于编译器的书(比如 Gries 的《数字计算机的编译程序构造》/ Compiler construction for digital computers)黄皮封面的,没记错吧?大约在 1984 年左右,我当时的女友买来送我当圣诞礼物的。依我拙见,在这个领域算不上最好的书。
…with Pascal indexes, but I don't find them very natural for the kind of programs I write. I want functions/classes to do any sort of translation. > The books on compilers from the 70s (e.g. Gries's "Compiler construction for digital computers") Yellow cover, I think? My then GF bought it for Xmas at about 1984 or so. Not the best book on the topic, IMHO.
我挺喜欢 1971 年有本书的书名叫《数字计算机的编译程序构造》(Compiler Construction for Digital Computers)。特意强调这不是给模拟计算机写的,可太有必要了!
I like how one of the books from 1971 is titled Compiler Construction for Digital Computers. Very important to make clear this wasn't for analog computers!