编译器简单的C语言解释运行器实现(三)—— 定义语法好的,词法分析就结束了,我们开始语法分析吧。 首先为了简化问题,我们对C语言作出如下限制: 没有switch语句 不支持函数指针 没有结构体、联合体 以及一些其他的语句 预处理器将在第七篇中讲到。编译阶段将不会有预处理指令(#include等)。 我们要处理的语法将在下面列出。 文法 定义文法 首先…2018-06-15
编译器简单的C语言解释运行器实现(一)—— 词法分析引入 编译器的构造想必度过编译原理的同学已经了解了。大概分为 预处理器 -> 编译器 -> 汇编器 -> 链接器,4个阶段。 编译器又可以分为词法分析 -> 语法分析 -> 语义分析 -> 中间代码生成 -> 代码优化 ->生成目标代码等阶段。 阶段 功能 预处理器 处理宏定义,如#include表…2018-06-14