/jack-compiler

实现一套简易的编译器流程,包括词法分析、语法分析、符号表、代码生成、虚拟机指令的解释执行

Primary LanguageC++GNU General Public License v3.0GPL-3.0

Jack Compiler : 一套编译器流程

该项目是我学习《计算机系统要素:从零开始构建现代计算机》这本书时 所写的项目。

这是这本书的内容介绍:

本书通过展现简单但功能强大的计算机系统之构建过程,为读者呈现了一幅完整、严格的计算机应用科学大图景。本书作者认为,理解计算机工作原理的最好方法就是亲自动手,从零开始构建计算机系统。
通过12个章节和项目来引领读者从头开始,本书逐步地构建一个基本的硬件平台和现代软件阶层体系。在这个过程中,读者能够获得关于硬件体系结构、操作系统、编程语言、编译器、数据结构、算法以及软件工程的详实知识。通过这种逐步构造的方法,本书揭示了计算机科学知识中的重要成分,并展示其它课程中所介绍的理论和应用技术如何融入这幅全局大图景当中去。全书基于“先抽象再实现”的阐述模式,每一章都介绍一个关键的硬件或软件抽象,一种实现方式以及一个实际的项目。完成这些项目所必要的计算机科学知识在本书中都有涵盖,只要求读者具备程序设计经验。本书配套的支持网站提供了书中描述的用于构建所有硬件和软件系统所必需的工具和资料,以及用于12个项目的200个测试程序。

目前已经完成: 编译前端包括手写的词法分析、语法分析、符号表,
尚未完成:代码生成及虚拟机VM执行