《编译原理系列》——”揭开编译器前端的神秘面纱“

亡梦爱人 提交于 2020-08-13 16:26:43

------------恢复内容开始------------

”揭开编译器前端的神秘面纱“——龙书附录读书总结

概述

​ 历时10+h左右的时间,终于把课本附录的代码和解读都过了一遍。在这个过程,对编译器前端的认识也从最初的敬畏和稍微的恐惧,再随着逐渐掌握后,变为“不过如此”的感觉。个人觉得这部分掌握的难点应该在于,类的数量繁多,遇到“又忘记了”的属性和方法,要经常翻回去看。另外,对重要的类和方法做一定的自我总结,也是非常必要的。下面,就书上的一些重要的类,给出一些我个人的总结。

词法分析器

这部分的工作是分词,也就是把一串字符串识别为了一个个的词

  • Tag:定义了词法单元常量,例如Tag.AND=256
  • Token:就是一个int
  • Word:把token的int和string绑起来了
  • Real:Tag.REAL(就是个数字)+ float
  • Lexer:维护Word哈希表(字符串到TAG数值的一个映射),readch和read用来辅助一个一个字符地读,scan函数用于匹配对应词法单元。

符号表和类型

------------恢复内容结束------------

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!