手把手教你构建 C 语言编译器(9)——总结

恭喜你完成了自己的 C 语言编译器,本章中我们发一发牢骚,说一说编写编译器值得注意的一些问题;编写编译器时遇到的一些难题。 [注: 该...     Read more
thychan's avatar
thychan Mar 12, 2017

手把手教你构建 C 语言编译器(8)——表达式

这是整个编译器的最后一部分,解析表达式。什么是表达式?表达式是将各种语言要素的一个组合,用来求值。例如:函数调用、变量赋值、运算符运算等等。...     Read more
thychan's avatar
thychan Mar 12, 2017

手把手教你构建 C 语言编译器(7)——语句

整个编译器还剩下最后两个部分:语句和表达式的解析。它们的内容比较多,主要涉及如何将语句和表达式编译成汇编代码。这章讲解语句的解析,相对于表达式来说它...     Read more
thychan's avatar
thychan Mar 12, 2017

手把手教你构建 C 语言编译器(6)——函数定义

由于语法分析本身比较复杂,所以我们将它拆分成 3 个部分进行讲解,分别是:变量定义、函数定义、表达式。本章讲解函数定义相关的内容。 [...     Read more
thychan's avatar
thychan Mar 12, 2017

手把手教你构建 C 语言编译器(5)——变量定义

本章中我们用 EBNF 来大致描述我们实现的 C 语言的文法,并实现其中解析变量定义部分。 由于语法分析本身比较复杂,所以我们将它拆分...     Read more
thychan's avatar
thychan Mar 12, 2017

手把手教你构建 C 语言编译器(4)——递归下降

本章我们将讲解递归下降的方法,并用它完成一个基本的四则运算的语法分析器。 [注: 该系列转载自     Read more
thychan's avatar
thychan Mar 12, 2017

手把手教你构建 C 语言编译器(3)——词法分析器

本章我们要讲解如何构建词法分析器。 [注: 该系列转载自     Read more
thychan's avatar
thychan Mar 12, 2017

手把手教你构建 C 语言编译器(2)- 虚拟机

    Read more
thychan's avatar
thychan Mar 12, 2017

手把手教你构建 C 语言编译器(1)—设计

本章是“手把手教你构建 C 语言编译器”系列的第二篇,我们要从整体上讲解如何设计我们的 C 语言编译器。 [注: 该系列转载自     Read more
thychan's avatar
thychan Mar 12, 2017

手把手教你构建 C 语言编译器(0)- 前言

“手把手教你构建 C 语言编译器” 这一系列教程将带你从头编写一个 C 语言的编译器。希望通过这个系列,我们能对编译器的构建有一定的了解,同时,我们...     Read more
thychan's avatar
thychan Mar 12, 2017