Developing a C Compiler From Scratch – Module 1

Developing a C Compiler From Scratch - Module 1编译器设计、编译器开发、词法分析、解析、代码生成、抽象语法树

你将会学到的

  • 如何从头开始构建 C 编译器
  • 完全理解堆栈框架以及如何为 C 源文件生成汇编语言
  • 完全理解词法分析和语法分析
  • 将获得更强的汇编语言技能
  • 编译器设计

要求

  • 您必须具有汇编语言的基本经验。

说明

您准备好学习编译器设计和编译器开发并证明您是一名编程大师了吗?

学习从头开始创建您自己的 C 编译器。在本课程中,我们开发了一个编译器,用于编译 C 编程语言的一个子集。完成本课程的所有模块后,您将能够编译使用指针、结构、联合、数组、函数、for 循环和 while 循环的 C 程序。执行 while 循环、if 语句、开关等等!

我们的编译器还有一个预处理器宏系统,允许您像在任何 C 文件中一样包含头文件和创建定义。

您的编译器足够先进,可以使用 GCC 标准库,因此我们可以从我们的编译器调用 C 函数。您的编译器将能够编译 C 编程语言。

本课程不依赖任何框架,我们从头开始做所有事情,以确保为学生提供最佳的学习体验

模块 1

在本课程的模块 1 中,我们将要编译的 C 源文件加载到内存中。我们创建了一个词法分析器来对源输入进行词法分析,它将源代码转换为我们的编译器可以轻松理解的一堆标记。然后我们将标记传递给解析器以生成抽象语法树。AST 以逻辑方式描述 C 程序,使我们的编译器更容易理解。例如,对于表达式 50 + 20,您最终会得到一个根表达式节点,该节点的左操作数的节点值为 50,右操作数的节点值为 20。以这种方式分解问题可以使问题变得更更容易创建编译器。

在整个课程系列中,您将学习创建功能齐全的 C 编译器。

此课程面向哪些人:

  • 对编译器设计感兴趣的人
  • 对汇编语言感兴趣的人
  • 对 C 编程语言感兴趣的人

 

声明:本站所有资源、素材等全部来源于互联网,赞助VIP仅用于对IT资源服务器带宽等费用支出做支持,从本站下载资源,说明你已同意本条款。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
TheItzy » Developing a C Compiler From Scratch – Module 1