- 博客(4)
- 收藏
- 关注
转载 (基于Java)编写编译器和解释器-第2章:框架I:编译器和解释器-第三部分(连载)
初始后端实现框架后端支持编译器和解释器。现在框架抽象类Backend有两个极简版实现,一个为编译器另一个为解释器。图2-7 展示了它们的UML类图。图2-7 子类CodeGenerator和Executor分别是后端的编译器和解析器实现。编译器编译器后端做代码生成。backend.compiler包中的类CodeGenerator实现框架抽象类Backend
2016-07-04 16:05:32
352
转载 (基于Java)编写编译器和解释器-第2章:框架I:编译器和解释器-第二部分(连载)
消息(Messages)翻译源程序时,Parser需要汇报一些状态信息,比如发现语法错误后的错误消息。不过你不能让paser关心该在那儿发送消息或者消息收到之后该怎么处理。类似地,source(类)组件每读入一行时可发送一条包含行文本和行号的消息。接收者可能用这些消息产生一个源码清单,但是你不能让source组件操心这事。设计笔记保持消息的发送者(p
2016-07-04 16:03:28
329
转载 (基于Java)编写编译器和解释器-第2章:框架I:编译器和解释器-第一部分(连载)
本章将会从前一章的概念设计带你到初级的实现过程。你将先为编译器和解释器构造一个灵活的框架,接着将初级版的编译器解释器组件集成到框架中。最后编写端对端的测试用例检验这些框架和组件。==>> 本章中文版源代码下载:svn co http://wci.googlecode.com/svn/branches/ch2/ 源代码使用了UTF-8编码,下载到本地请修改!目标和方法此章的设
2016-07-04 16:01:16
292
转载 (基于Java)编写编译器和解释器-第1章:介绍(连载)
本章描述了本书的目标和用到的方法并鸟瞰编译器和解释器的全貌。目标和方法本书讲授编译器和解释器的基本写法,目标是呈现给你怎样设计和开发它们:用Java写的编译器,编译Pascal(一个高级的面向过程的编程语言)的一个主要子集。(即包含主要的语言特征,但去掉一些为写编译器方便而去掉的无关大雅的特性)。用Java写的解释器且包含一个交互式的符号调试器(符号调试器即基于符号表,而不
2016-07-04 15:58:12
737
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人