学习llvm:Kaleidoscope: Implementing a Language with LLVM


一、Introduction

引言,介绍教程背景,将要完成的任务和计划完成时间等信息。


二、Implementing a Language

介绍Kaleidoscope语言的语法和特性,并分析如何将其实现为一个LLVM IR。

三、Implementing a Lexer

实现Lexer来解析Kaleidoscope语言的标记。

四、Implementing a Parser and AST

实现Parser解析Kaleidoscope的表达式,并生成一个AST(Abstract Syntax Tree)。

五、Code Generation to LLVM IR

实现LLVM IR代码生成器,将AST转换为LLVM IR。

六、Adding JIT and Optimizer Support

了解LLVM JIT(Just-in-Time)编译器,将生成的LLVM IR编译为本地机器代码并运行.

七、Extending the Language: Control Flow

扩展Kaleidoscope语言,实现控制流结构(if/then/else)。

八、Extending the Language: User-defined Operators

扩展Kaleidoscope语言,实现用户定义的二元和一元操作符。

九、Interlude: Building a “Real” Compiler

介绍如何创建一个正式的编译器,而不是只是一个语言解释器,并简要介绍编译器的基本架构。

十、 Building a JIT

深入研究JIT编译器的实现细节,并实现具有多级缓存的JIT编译器。

经验分享 程序员 微信小程序 职场和发展