LLVM漫谈(2-Implementing a Language)

Abstract

基于LLVM实现简单的编程语言kaleidoscope,来源于LLVM9.0.0 tutorial

LLVM的官方文档还是很不错的,阅读完其中的tutorials就能大致上手LLVM了。实现的代码对C++11要求比较高,我放在了Github上。

实现共分为10部分:

  • 实现词法分析器Lexer
  • 使用递归下降运算符优先级解析实现语法分析器Parser
  • AST转化成LLVM-IR
  • 添加JIT即时编译优化器的支持
  • 扩展——控制流,这一章会引入SSA概念
  • 扩展——用户定义运算符
  • 扩展——自动变量,深入SSA
  • 目标代码生成
  • 扩展——添加调试器
  • 深入——GC,异常等

Parser

编译原理

C++原理

LLVM-IR

本文标题:LLVM漫谈(2-Implementing a Language)

文章作者:HaotianMichael

发布时间:2020年07月06日 - 23:07

最后更新:2022年03月16日 - 18:03

原始链接:http://haotianmcihael.github.io/2020/07/07/LLVM漫谈(2-Implementing-a-Language)/

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。