WiredC:用Rust为我的C版本的WiredC编写的编译器

时间:2021-02-13 10:30:07
【文件属性】:
文件名称:WiredC:用Rust为我的C版本的WiredC编写的编译器
文件大小:19KB
文件格式:ZIP
更新时间:2021-02-13 10:30:07
Rust 有线C 用Rust为我的C版本WiredC编写的编译器。 为什么? 该项目的目的是学习编译器的工作原理,并更好地理解底层内容。 脚步 读入文件 编写可获取代码并返回词素(令牌)列表的词法分析器 定义抽象语法树(AST) 编写使用令牌并返回AST的解析器(还会引发编译错误) 为汇编中的给定AST生成代码(x86_64) 将程序集写入文件 使用GCC将程序集转换为可执行文件 目前的进展 当前,该程序能够从提供的文件中识别标记,并分离其中的哪些标记是功能主体的一部分。 然后,它解析函数主体并识别其中包含哪种类型的语句。 我目前在第3步和第4步之间。 内部示例/simple_exp.wc $ cat examples/simple_exp.wc int main(int a, int b) { print("Hello World! 2+2 is "); int a
【文件预览】:
WiredC-main
----Cargo.lock(137B)
----LICENSE(34KB)
----src()
--------ast.rs(759B)
--------main.rs(377B)
--------token.rs(6KB)
--------parser.rs(6KB)
----Cargo.toml(198B)
----examples()
--------return_0.wc(45B)
--------data_types.wc(90B)
--------simple_exp.wc(125B)
--------concat.wc(85B)
----.gitignore(8B)
----README.md(2KB)

网友评论