13篇文章 · 1410字 · 1人关注
参考资料: 1 编译器常用优化方法 常量传播 将能够计算出结果的变量直接替换为常量 优化后 常量折叠 多个变量计算时,如果能直接计算出结果,变量...
对AST里的每个节点,也即每个AST类都定义Codegen方法。 这个方法会返回一个LLVM Value对象,表示的就是LLVM中的静态单赋值里...
调用 运行 从实现来看,程序读入源码文件,不断调用 next_token(),对于每次获得的token要么是关键字,要么是分号(行结束符),要么...
本文实现二元表达式的解析和构造。
本文实现简单表达式的解析和构造。
本文实现一个自顶向下的解析。 递归构造AST:
定义抽象语法树,也就是各种表达式的数据结构。
编写toy.cpp 编译 测试代码source.ty: 运行
实现词法分析器和语法分析器之前,需要先定义我们将要实现的语言的语法。 一个语言通常包含了变量、函数调用和常量等。为了简便,我们只有32位整数的数...
文集作者