《编译原理》阅读笔记:p19-p24

《编译原理》学习第 4 天,p19-p24总结,总计 5 页。

一、技术总结

1.grouping of phases

这里谈到分组(group),那么就会有一个疑问,分组的依据是什么?即根据什么来分组。

(1) front end & back end

编译器包含很多阶段(phase)------lexical analyzer, syntax analyzer, semantic analyzer, intermediate code generator, code optimizer, code generator, 这些阶段可以分为front end和back end两组。这里是根据phase的作用进行分组------"The front end consists of those phases, or parts of phases, that depend primarily on the source language and are largely independent of the target machine"。

(2)pass

可以将多个phase分成一个pass。分组的依据是什么?暂时没有理解,先继续往下读。

2.compiler-construction tools

有哪些tool,这些tool的作用是什么。这里只需要大概了解即可,用到的时候自然会知道。

3.参考文献

本书会在最后Bibliography章节列出所有的参考文献,翻了一下Wexelblat在1981年写的《history if programming languages》,介绍了FORTRAN,LISP,COBOL等编程语言,果然历史久远。

二、其它

p24, Ascribing credit for techniques remains a perilous task。这句话初看不好理解,ascribe: xxx的原因,credit: 赞誉,perilous: 危险的。中译版将"ascribing credit"翻译成"论功",甚是准确,但是翻译成"为编译技术论功是一项艰难的任务",却有点生硬,我个人觉得应该将其翻译成"这些编译技术归功于谁?这真不好下结论,因为同一个技术,有时候确实是不同的人都发现了。"

四、参考资料

1. 编程

(1)Alfred V. Aho,Monica S. Lam,Ravi Sethi,Jeffrey D. Ullman,《编译原理(英文版·第1版)》:https://book.douban.com/subject/5416783/

2. 英语

(1)Etymology Dictionary:https://www.etymonline.com

(2) Cambridge Dictionary:https://dictionary.cambridge.org

欢迎搜索及关注:编程人(a_codists)

相关推荐
无厘头三四十2 天前
现代编译器直接生成机器码的原理
编译原理
猪哥帅过吴彦祖5 天前
从源码到可执行文件:揭秘程序编译与执行的底层魔法
操作系统·编译原理·编译器
poemyang11 天前
性能优化之母:为什么说“方法内联”是编译器优化中最关键的一步棋?
java虚拟机·编译原理·即时编译器·方法内联
poemyang14 天前
new出来的对象,不一定在堆上?聊聊Java虚拟机的优化技术:逃逸分析
java虚拟机·编译原理·逃逸分析·即时编译器
前端缘梦15 天前
解锁webpack核心技能(三):从源代码到打包产物编译过程的原理指南
webpack·编译原理·前端工程化
poemyang15 天前
解锁硬件潜能:Java向量化计算,性能飙升W倍!
java虚拟机·编译原理·jit·向量化计算·smid
poemyang16 天前
Java编译器优化秘籍:字节码背后的IR魔法与常见技巧
java虚拟机·编译原理·ir·即时编译器
poemyang17 天前
“代码跑着跑着,就变快了?”——揭秘Java性能幕后引擎:即时编译器
java·java虚拟机·编译原理·jit·即时编译器
poemyang18 天前
“同声传译”还是“全文翻译”?为何HotSpot虚拟机仍要保留解释器?
java·java虚拟机·aot·编译原理·解释执行
漂流瓶jz21 天前
JavaScript语法树简介:AST/CST/词法/语法分析/ESTree/生成工具
前端·javascript·编译原理