From 36f4d12287e58d52c1697f3d767cfa494da84d08 Mon Sep 17 00:00:00 2001 From: origami-b <972397381@qq.com> Date: Mon, 4 Dec 2023 14:09:31 +0800 Subject: [PATCH] init --- .gitignore | 3 + CMakeLists.txt | 37 + README.md | 117 +- Student/task1/demo/go_upstairs.c | 28 + Student/task1/ll/assign_hand.ll | 0 Student/task1/ll/func_hand.ll | 51 + Student/task1/ll/if_hand.ll | 0 Student/task1/ll/while_hand.ll | 49 + Student/task1/sy/assign_test.sy | 6 + Student/task1/sy/func_test.sy | 13 + Student/task1/sy/if_test.sy | 9 + Student/task1/sy/while_test.sy | 11 + Student/task2/CMakeLists.txt | 18 + Student/task2/cpp/CMakeLists.txt | 36 + Student/task2/cpp/assign_gen.cpp | 3 + Student/task2/cpp/func_gen.cpp | 3 + Student/task2/cpp/if_gen.cpp | 3 + Student/task2/cpp/while_gen.cpp | 3 + Student/task2/demo/CMakeLists.txt | 8 + Student/task2/demo/go_upstairs.sy | 28 + Student/task2/demo/go_upstairs_gen.cpp | 195 ++ Student/task2/sy/assign_test.sy | 6 + Student/task2/sy/func_test.sy | 13 + Student/task2/sy/if_test.sy | 9 + Student/task2/sy/while_test.sy | 11 + Student/task3/test.py | 92 + Student/task3/test/01_main.out | 1 + Student/task3/test/01_main.sy | 3 + Student/task3/test/02_var_defn.out | 1 + Student/task3/test/02_var_defn.sy | 8 + Student/task3/test/03_empty_stmt.out | 1 + Student/task3/test/03_empty_stmt.sy | 5 + Student/task3/test/04_arr_defn.out | 1 + Student/task3/test/04_arr_defn.sy | 4 + Student/task3/test/05_arr_assign.out | 1 + Student/task3/test/05_arr_assign.sy | 5 + Student/task3/test/06_const_defn.out | 1 + Student/task3/test/06_const_defn.sy | 5 + Student/task3/test/07_const_array_defn.out | 1 + Student/task3/test/07_const_array_defn.sy | 7 + Student/task3/test/08_var_defn_func.out | 1 + Student/task3/test/08_var_defn_func.sy | 8 + Student/task3/test/09_void_func.out | 1 + Student/task3/test/09_void_func.sy | 13 + Student/task3/test/10_if.out | 1 + Student/task3/test/10_if.sy | 9 + Student/task3/test/11_if_else.out | 1 + Student/task3/test/11_if_else.sy | 10 + Student/task3/test/12_while.out | 1 + Student/task3/test/12_while.sy | 11 + Student/task3/test/13_break.out | 1 + Student/task3/test/13_break.sy | 9 + Student/task3/test/14_continue.out | 1 + Student/task3/test/14_continue.sy | 11 + Student/task3/test/15_getint.in | 1 + Student/task3/test/15_getint.out | 1 + Student/task3/test/15_getint.sy | 5 + Student/task3/test/16_func_test.out | 1 + Student/task3/test/16_func_test.sy | 23 + Student/task3/test/17_equal.in | 1 + Student/task3/test/17_equal.out | 1 + Student/task3/test/17_equal.sy | 12 + Student/task3/test/18_scope.out | 1 + Student/task3/test/18_scope.sy | 17 + Student/task3/test/19_gcd.in | 2 + Student/task3/test/19_gcd.out | 1 + Student/task3/test/19_gcd.sy | 34 + Student/task3/test/20_hanoi.in | 5 + Student/task3/test/20_hanoi.out | 5 + Student/task3/test/20_hanoi.sy | 27 + Student/task3/test_stu/.gitkeep | 0 doc/AST.md | 473 ++++ doc/SysYFIR.md | 620 +++++ doc/SysYF语言定义.pdf | Bin 0 -> 873077 bytes doc/figs/核心类概念图.png | Bin 0 -> 30475 bytes doc/phase1.md | 79 + doc/phase2.md | 128 + doc/phase3.md | 132 + include/AST/SyntaxTree.h | 330 +++ include/AST/SyntaxTreePrinter.h | 43 + include/ErrorReporter/ErrorReporter.h | 29 + include/Frontend/FlexLexer.h | 225 ++ include/Frontend/SysYFDriver.h | 50 + include/Frontend/SysYFFlexLexer.h | 37 + include/Frontend/SysYFParser.h | 2911 ++++++++++++++++++++ include/Frontend/location.hh | 304 ++ include/Frontend/position.hh | 11 + include/Frontend/stack.hh | 8 + include/SysYFIR/BasicBlock.h | 86 + include/SysYFIR/Constant.h | 90 + include/SysYFIR/Function.h | 110 + include/SysYFIR/GlobalVariable.h | 31 + include/SysYFIR/IRPrinter.h | 25 + include/SysYFIR/IRStmtBuilder.h | 84 + include/SysYFIR/Instruction.h | 435 +++ include/SysYFIR/Module.h | 73 + include/SysYFIR/Type.h | 162 ++ include/SysYFIR/User.h | 41 + include/SysYFIR/Value.h | 63 + include/SysYFIRBuilder/IRBuilder.h | 226 ++ include/internal_macros.h | 20 + include/internal_types.h | 34 + lib/lib.c | 30 + report/contribution.md | 17 + report/report.md | 100 + src/AST/CMakeLists.txt | 9 + src/AST/SyntaxTree.cpp | 31 + src/AST/SyntaxTreePrinter.cpp | 317 +++ src/ErrorReporter/CMakeLists.txt | 4 + src/ErrorReporter/ErrorReporter.cpp | 22 + src/Frontend/CMakeLists.txt | 21 + src/Frontend/SysYFDriver.cpp | 62 + src/Frontend/SysYFParser.cpp | 2479 +++++++++++++++++ src/Frontend/SysYFScanner.cpp | 2339 ++++++++++++++++ src/SysYFIR/BasicBlock.cpp | 122 + src/SysYFIR/CMakeLists.txt | 13 + src/SysYFIR/Constant.cpp | 122 + src/SysYFIR/Function.cpp | 192 ++ src/SysYFIR/GlobalVariable.cpp | 41 + src/SysYFIR/IRPrinter.cpp | 93 + src/SysYFIR/Instruction.cpp | 792 ++++++ src/SysYFIR/Module.cpp | 144 + src/SysYFIR/Type.cpp | 284 ++ src/SysYFIR/User.cpp | 67 + src/SysYFIR/Value.cpp | 46 + src/SysYFIRBuilder/CMakeLists.txt | 4 + src/SysYFIRBuilder/IRBuilder.cpp | 81 + src/main.cpp | 61 + 128 files changed, 15363 insertions(+), 1 deletion(-) create mode 100644 .gitignore create mode 100644 CMakeLists.txt create mode 100644 Student/task1/demo/go_upstairs.c create mode 100644 Student/task1/ll/assign_hand.ll create mode 100644 Student/task1/ll/func_hand.ll create mode 100644 Student/task1/ll/if_hand.ll create mode 100644 Student/task1/ll/while_hand.ll create mode 100644 Student/task1/sy/assign_test.sy create mode 100644 Student/task1/sy/func_test.sy create mode 100644 Student/task1/sy/if_test.sy create mode 100644 Student/task1/sy/while_test.sy create mode 100644 Student/task2/CMakeLists.txt create mode 100644 Student/task2/cpp/CMakeLists.txt create mode 100644 Student/task2/cpp/assign_gen.cpp create mode 100644 Student/task2/cpp/func_gen.cpp create mode 100644 Student/task2/cpp/if_gen.cpp create mode 100644 Student/task2/cpp/while_gen.cpp create mode 100644 Student/task2/demo/CMakeLists.txt create mode 100644 Student/task2/demo/go_upstairs.sy create mode 100644 Student/task2/demo/go_upstairs_gen.cpp create mode 100644 Student/task2/sy/assign_test.sy create mode 100644 Student/task2/sy/func_test.sy create mode 100644 Student/task2/sy/if_test.sy create mode 100644 Student/task2/sy/while_test.sy create mode 100644 Student/task3/test.py create mode 100644 Student/task3/test/01_main.out create mode 100644 Student/task3/test/01_main.sy create mode 100644 Student/task3/test/02_var_defn.out create mode 100644 Student/task3/test/02_var_defn.sy create mode 100644 Student/task3/test/03_empty_stmt.out create mode 100644 Student/task3/test/03_empty_stmt.sy create mode 100644 Student/task3/test/04_arr_defn.out create mode 100644 Student/task3/test/04_arr_defn.sy create mode 100644 Student/task3/test/05_arr_assign.out create mode 100644 Student/task3/test/05_arr_assign.sy create mode 100644 Student/task3/test/06_const_defn.out create mode 100644 Student/task3/test/06_const_defn.sy create mode 100644 Student/task3/test/07_const_array_defn.out create mode 100644 Student/task3/test/07_const_array_defn.sy create mode 100644 Student/task3/test/08_var_defn_func.out create mode 100644 Student/task3/test/08_var_defn_func.sy create mode 100644 Student/task3/test/09_void_func.out create mode 100644 Student/task3/test/09_void_func.sy create mode 100644 Student/task3/test/10_if.out create mode 100644 Student/task3/test/10_if.sy create mode 100644 Student/task3/test/11_if_else.out create mode 100644 Student/task3/test/11_if_else.sy create mode 100644 Student/task3/test/12_while.out create mode 100644 Student/task3/test/12_while.sy create mode 100644 Student/task3/test/13_break.out create mode 100644 Student/task3/test/13_break.sy create mode 100644 Student/task3/test/14_continue.out create mode 100644 Student/task3/test/14_continue.sy create mode 100644 Student/task3/test/15_getint.in create mode 100644 Student/task3/test/15_getint.out create mode 100644 Student/task3/test/15_getint.sy create mode 100644 Student/task3/test/16_func_test.out create mode 100644 Student/task3/test/16_func_test.sy create mode 100644 Student/task3/test/17_equal.in create mode 100644 Student/task3/test/17_equal.out create mode 100644 Student/task3/test/17_equal.sy create mode 100644 Student/task3/test/18_scope.out create mode 100644 Student/task3/test/18_scope.sy create mode 100644 Student/task3/test/19_gcd.in create mode 100644 Student/task3/test/19_gcd.out create mode 100644 Student/task3/test/19_gcd.sy create mode 100644 Student/task3/test/20_hanoi.in create mode 100644 Student/task3/test/20_hanoi.out create mode 100644 Student/task3/test/20_hanoi.sy create mode 100644 Student/task3/test_stu/.gitkeep create mode 100755 doc/AST.md create mode 100644 doc/SysYFIR.md create mode 100755 doc/SysYF语言定义.pdf create mode 100755 doc/figs/核心类概念图.png create mode 100644 doc/phase1.md create mode 100644 doc/phase2.md create mode 100644 doc/phase3.md create mode 100755 include/AST/SyntaxTree.h create mode 100755 include/AST/SyntaxTreePrinter.h create mode 100755 include/ErrorReporter/ErrorReporter.h create mode 100644 include/Frontend/FlexLexer.h create mode 100755 include/Frontend/SysYFDriver.h create mode 100755 include/Frontend/SysYFFlexLexer.h create mode 100644 include/Frontend/SysYFParser.h create mode 100644 include/Frontend/location.hh create mode 100644 include/Frontend/position.hh create mode 100644 include/Frontend/stack.hh create mode 100644 include/SysYFIR/BasicBlock.h create mode 100644 include/SysYFIR/Constant.h create mode 100644 include/SysYFIR/Function.h create mode 100644 include/SysYFIR/GlobalVariable.h create mode 100644 include/SysYFIR/IRPrinter.h create mode 100644 include/SysYFIR/IRStmtBuilder.h create mode 100644 include/SysYFIR/Instruction.h create mode 100644 include/SysYFIR/Module.h create mode 100644 include/SysYFIR/Type.h create mode 100644 include/SysYFIR/User.h create mode 100644 include/SysYFIR/Value.h create mode 100644 include/SysYFIRBuilder/IRBuilder.h create mode 100644 include/internal_macros.h create mode 100644 include/internal_types.h create mode 100644 lib/lib.c create mode 100644 report/contribution.md create mode 100644 report/report.md create mode 100644 src/AST/CMakeLists.txt create mode 100755 src/AST/SyntaxTree.cpp create mode 100755 src/AST/SyntaxTreePrinter.cpp create mode 100644 src/ErrorReporter/CMakeLists.txt create mode 100755 src/ErrorReporter/ErrorReporter.cpp create mode 100644 src/Frontend/CMakeLists.txt create mode 100755 src/Frontend/SysYFDriver.cpp create mode 100644 src/Frontend/SysYFParser.cpp create mode 100644 src/Frontend/SysYFScanner.cpp create mode 100644 src/SysYFIR/BasicBlock.cpp create mode 100644 src/SysYFIR/CMakeLists.txt create mode 100644 src/SysYFIR/Constant.cpp create mode 100644 src/SysYFIR/Function.cpp create mode 100644 src/SysYFIR/GlobalVariable.cpp create mode 100644 src/SysYFIR/IRPrinter.cpp create mode 100644 src/SysYFIR/Instruction.cpp create mode 100644 src/SysYFIR/Module.cpp create mode 100644 src/SysYFIR/Type.cpp create mode 100644 src/SysYFIR/User.cpp create mode 100644 src/SysYFIR/Value.cpp create mode 100644 src/SysYFIRBuilder/CMakeLists.txt create mode 100644 src/SysYFIRBuilder/IRBuilder.cpp create mode 100755 src/main.cpp diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..5eaade7 --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ + .vscode + build + \ No newline at end of file diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..96dd3cb --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,37 @@ +project(SysYFCompiler) + +cmake_minimum_required(VERSION 3.5) + +set(CMAKE_CXX_STANDARD 14) + +set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O0 -Wall -Wextra -Wno-unused -Wshadow -Werror -g -pedantic") + +# include generated files in project environment +include_directories(${CMAKE_CURRENT_BINARY_DIR}) + +include_directories(${CMAKE_CURRENT_SOURCE_DIR}/include) +include_directories(${CMAKE_CURRENT_SOURCE_DIR}/include/AST) +include_directories(${CMAKE_CURRENT_SOURCE_DIR}/include/ErrorReporter) +include_directories(${CMAKE_CURRENT_SOURCE_DIR}/include/Frontend) +include_directories(${CMAKE_CURRENT_SOURCE_DIR}/include/SysYFIR) +include_directories(${CMAKE_CURRENT_SOURCE_DIR}/include/SysYFIRBuilder) + +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/src/AST) +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/src/ErrorReporter) +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/src/Frontend) +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/src/SysYFIR) +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/src/SysYFIRBuilder) + +add_executable( + SysYFCompiler + ${CMAKE_CURRENT_SOURCE_DIR}/src/main.cpp +) + +target_link_libraries( + SysYFCompiler + SysYFIRBuilder + IRLib + Driver + ASTPrinter + ErrReporter +) diff --git a/README.md b/README.md index cda0379..fa774a7 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,117 @@ -# PW6 +# PW6 实验文档 +- [PW6 实验文档](#pw6-实验文档) + - [0. 前言](#0-前言) + - [主要工作](#主要工作) + - [1. 实验要求](#1-实验要求) + - [1.1 目录结构](#11-目录结构) + - [1.2 提交要求和评分标准](#12-提交要求和评分标准) +## 0. 前言 +本次实验分为3关,为组队实验。**本次实验请务必使用git提交**。 +本次实验的目的是让大家熟悉生成中间代码所需要的相关知识: LLVM IR、 SysYF IR(LLVM IR的轻量级C++接口),并实际实现一个IR Builder。 +在开始实验之前,请确保LLVM的版本不低于10.0.1,且PATH环境变量配置正确。可以通过`lli --version`命令是否可以输出10.0.1的版本信息来验证。 + +### 主要工作 + +1. 第一部分: 了解LLVM IR。通过clang生成的.ll,了解LLVM IR与c代码的对应关系。相应文档见[phase1.md](./doc/phase1.md) +2. 第二部分: 了解SysYF IR。通过助教提供的c++例子,了解SysYF IR的c++接口及实现。相应文档见[phase2.md](./doc/phase2.md) +3. 第三部分: 使用SysYF IR,实现一个IR Builder,使其可以通过抽象语法树生成LLVM兼容的IR代码。相应文档见[phase3.md](./doc/phase3.md) +4. 实验报告:在[report.md](./report/report.md)中撰写报告。 + +## 1. 实验要求 + +### 1.1 目录结构 +除了下面指明你所要修改或提交的文件,其他文件请勿修改。 +``` log +. +├── CMakeLists.txt +├── README.md <- 实验文档说明(你在这里) +├── doc +│   ├── AST.md +│   ├── phase1.md <- 各阶段文档 +│   ├── phase2.md +│   ├── phase3.md +│   ├── SysYF语言定义.pdf +| └── SysYFIR.md <- SysYF IR 应用编程接口相关文档 +├── report +│   ├── report.md <- 需提交的实验报告 +│   └── contribution.md <- 需提交的组员贡献(队长负责填写) +├── include <- 实验所需的头文件 +│   ├── ... +│   └── SysYFIR +├── src +│   ├── ... +│   ├── SysYFIR +│   └── SysYFIRBuilder +| ├── CMakeLists.txt +| └── IRBuilder.cpp <- 你需要在第三关任务中修改的文件 +└── Student + ├── task1 <- 第一关任务相关的目录 + | ├── ll <- 需提交的LLVM IR文件(.ll)的目录(第一关) + | | ├── assign_hand.ll + |   │   ├── fun_hand.ll + |   │   ├── if_hand.ll + |   │   └── while_hand.ll + | ├── sy + | | ├── assign_test.sy + |   │   ├── fun_test.sy + |   │   ├── if_test.sy + |   │   └── while_test.sy + | └── demo + |      └── go_upstairs.c + ├── task2 <- 第二关任务相关的目录 + ├── CMakeLists.txt + | ├── cpp <- 需提交的.cpp目录(第二关) + | | ├── CMakeLists.txt + | | ├── assign_gen.cpp + |   │   ├── fun_gen.cpp + |   │   ├── if_gen.cpp + |   │   └── while_gen.cpp + | ├── sy + | | ├── assign_test.sy + |   │   ├── fun_test.sy + |   │   ├── if_test.sy + |   │   └── while_test.sy + | └── demo + |      |── CMakeLists.txt + |      |── go_upstairs.sy + |      └── go_upstairs_gen.cpp <- 打印go_upstairs.ll的cpp文件 + └── task3 + └── test + ├── test.py <- 第三关任务的评测脚本 + └── test <- 测试样例文件夹 +``` + +### 1.2 提交要求和评分标准 +* 提交要求 + 本实验的提交要求分为两部分: 实验部分的文件和报告。 + * 实验部分: + * 需要完成 `./Student/task1/ll`目录下的4个文件 + * 需要完成 `./Student/task2/cpp`目录下的4个文件 + * 需要完成 `./src/SysYFIRBuilder/IRBuilder.cpp` + * 需要在 `./report/report.md` 中撰写实验报告 + * 实验报告内容包括: + * 实验要求、问题回答、实验设计、实验难点及解决方案、实验总结、实验反馈、组间交流(具体参考[report.md](./report.md)) + * 本次实验报告**参与**评分标准. + * 提交规范: + * 不破坏目录结构(`report.md`如果需要放图片,请新建`figs`文件夹放在`./report`下,并将图片放在`figs`文件夹内) + * 不上传临时文件(凡是自动生成的文件和临时文件请不要上传) +* **组队实验要求** + * 由队长在 `./report/contribution.md` 中解释每位队员的贡献,并说明贡献比例 + * 组队实验意味着合作,但是小组间的交流是受限的,且**严格禁止**代码的共享。除此之外,如果小组和其它组进行了交流,必须在 `./report/report.md` 中记录交流的小组和你们之间交流内容 +* 评分标准: 本次实验分为3部分, 为组队实验, 请合理安排分工, 我们会根据组长填写的贡献比进行分数分配,如果对贡献比有异议的组员可根据git的提交记录申请仲裁,建议利用好git的分支功能 + * **禁止执行恶意代码,违者本次实验0分处理** + * 第一部分10分: `.ll`运行结果正确(1个2分, 注释共2分) + * 第二部分20分: `.cpp`运行结果正确(1个5分) + * 第三部分70分: 该部分成绩由5部分组成(团队代码得分, 实验报告得分, 迟交天数, 组员贡献比, 组长奖励加分) +* 实验检查 + * 线上: 助教会在educoder上检查前两部分 + * 线下: 线下检查只检查第三部分, 组长带组员到负责组长的助教处检查, 选做部分请找本次实验负责助教检查 +* 迟交规定 + * 迟交需要邮件通知助教: + * 邮箱: xuchaijun@mail.ustc.edu.cn + * 邮件主题: PW6迟交-学号 + * 内容: 包括迟交原因、最后版本commit ID、迟交时间等 +* 关于抄袭和雷同 + 经过助教和老师判定属于作业抄袭或雷同情况,所有参与方一律零分,不接受任何解释和反驳。 +如有任何问题,欢迎提issue进行批判指正。 diff --git a/Student/task1/demo/go_upstairs.c b/Student/task1/demo/go_upstairs.c new file mode 100644 index 0000000..e9176e9 --- /dev/null +++ b/Student/task1/demo/go_upstairs.c @@ -0,0 +1,28 @@ +int num[2] = {4, 8}; +int x[1]; +int n; +int tmp = 1; + +int climbStairs(int n) { + if(n < 4) + return n; + int dp[10]; + dp[0] = 0; + dp[1] = 1; + dp[2] = 2; + int i; + i = 3; + while(i 0? + br i1 %3, label %4, label %9 ; true->4 false->9 + + 4: ; label 4 while true + %5 = load i32, i32* @b, align 4 ; [b]+a + %6 = load i32, i32* @a, align 4 ; b+[a] + %7 = add nsw i32 %5, %6 ; b+a + store i32 %7, i32* @b, align 4; b = b+a + %8 = sub nsw i32 %6 , 1 ; a-1 + store i32 %8, i32* @a, align 4 ; a = a-1 + br label %1 + + 9: ; label 9 + %10 = load i32, i32* @b, align 4 + ret i32 %10 ; return b +} + +; 尾部:记录LLVM模块标识 +attributes #0 = { noinline nounwind optnone uwtable "frame-pointer"="all" "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" } + +!llvm.module.flags = !{!0, !1, !2, !3, !4} ; LLVM模块的一些标志 +!llvm.ident = !{!5} ; LLVM的标识信息 + +!0 = !{i32 1, !"wchar_size", i32 4} ; LLVM模块标志,表示wchar_t的大小为4 +!1 = !{i32 7, !"PIC Level", i32 2} ; LLVM模块标志,表示启用位置无关代码的级别为2 +!2 = !{i32 7, !"PIE Level", i32 2} ; LLVM模块标志,表示启用可执行和链接的级别为2 +!3 = !{i32 7, !"uwtable", i32 1} ; LLVM模块标志,表示启用表格异常处理 +!4 = !{i32 7, !"frame-pointer", i32 2} ; LLVM模块标志,表示帧指针的使用级别为2 +!5 = !{!"Ubuntu clang version 14.0.0-1ubuntu1.1"} ; LLVM的标识信息,表示使用的编译器版本为Ubuntu clang version 14.0.0-1ubuntu1.1 +!6 = distinct !{!6, !7} ; 定义了一个distinct节点 +!7 = !{!"llvm.loop.mustprogress"} ; 定义了一个LLVM循环的特性 \ No newline at end of file diff --git a/Student/task1/sy/assign_test.sy b/Student/task1/sy/assign_test.sy new file mode 100644 index 0000000..87e3097 --- /dev/null +++ b/Student/task1/sy/assign_test.sy @@ -0,0 +1,6 @@ +int main(){ + float b = 1.8; + int a[2] = {2}; + a[1] = a[0] * b; + return a[1]; +} diff --git a/Student/task1/sy/func_test.sy b/Student/task1/sy/func_test.sy new file mode 100644 index 0000000..51d371f --- /dev/null +++ b/Student/task1/sy/func_test.sy @@ -0,0 +1,13 @@ +int add(int a,int b){ + return (a+b-1); +} + +int main(){ + int a; + int b; + int c; + a=3; + b=2; + c = 5; + return c + add(a,b); +} diff --git a/Student/task1/sy/if_test.sy b/Student/task1/sy/if_test.sy new file mode 100644 index 0000000..5fbc540 --- /dev/null +++ b/Student/task1/sy/if_test.sy @@ -0,0 +1,9 @@ +int a; + +int main(){ + a = 10; + if( a>0 ){ + return a; + } + return 0; +} diff --git a/Student/task1/sy/while_test.sy b/Student/task1/sy/while_test.sy new file mode 100644 index 0000000..374f82d --- /dev/null +++ b/Student/task1/sy/while_test.sy @@ -0,0 +1,11 @@ +int a; +int b; +int main(){ + b=0; + a=3; + while(a>0){ + b = b+a; + a = a-1; + } + return b; +} diff --git a/Student/task2/CMakeLists.txt b/Student/task2/CMakeLists.txt new file mode 100644 index 0000000..8c8c43d --- /dev/null +++ b/Student/task2/CMakeLists.txt @@ -0,0 +1,18 @@ +project(task2) + +cmake_minimum_required(VERSION 3.5) + +set(CMAKE_CXX_STANDARD 14) + +set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O0 -Wall -g -pedantic") + +set(SYSYF_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../../) +set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}) + +# include generated files in project environment +include_directories(${SYSYF_SOURCE_DIR}include) +include_directories(${SYSYF_SOURCE_DIR}include/SysYFIR) +add_subdirectory(${SYSYF_SOURCE_DIR}src/SysYFIR src/SysYFIR) + +add_subdirectory(demo) +add_subdirectory(cpp) diff --git a/Student/task2/cpp/CMakeLists.txt b/Student/task2/cpp/CMakeLists.txt new file mode 100644 index 0000000..58796f3 --- /dev/null +++ b/Student/task2/cpp/CMakeLists.txt @@ -0,0 +1,36 @@ +add_executable( + assign_generator + assign_gen.cpp +) +target_link_libraries( + assign_generator + IRLib +) + +add_executable( + func_generator + func_gen.cpp +) +target_link_libraries( + func_generator + IRLib +) + +add_executable( + if_generator + if_gen.cpp +) +target_link_libraries( + if_generator + IRLib +) + +add_executable( + while_generator + while_gen.cpp +) +target_link_libraries( + while_generator + IRLib +) + \ No newline at end of file diff --git a/Student/task2/cpp/assign_gen.cpp b/Student/task2/cpp/assign_gen.cpp new file mode 100644 index 0000000..c30d8f1 --- /dev/null +++ b/Student/task2/cpp/assign_gen.cpp @@ -0,0 +1,3 @@ +int main(){ + return 0; +} diff --git a/Student/task2/cpp/func_gen.cpp b/Student/task2/cpp/func_gen.cpp new file mode 100644 index 0000000..c30d8f1 --- /dev/null +++ b/Student/task2/cpp/func_gen.cpp @@ -0,0 +1,3 @@ +int main(){ + return 0; +} diff --git a/Student/task2/cpp/if_gen.cpp b/Student/task2/cpp/if_gen.cpp new file mode 100644 index 0000000..c30d8f1 --- /dev/null +++ b/Student/task2/cpp/if_gen.cpp @@ -0,0 +1,3 @@ +int main(){ + return 0; +} diff --git a/Student/task2/cpp/while_gen.cpp b/Student/task2/cpp/while_gen.cpp new file mode 100644 index 0000000..c30d8f1 --- /dev/null +++ b/Student/task2/cpp/while_gen.cpp @@ -0,0 +1,3 @@ +int main(){ + return 0; +} diff --git a/Student/task2/demo/CMakeLists.txt b/Student/task2/demo/CMakeLists.txt new file mode 100644 index 0000000..8a83a7a --- /dev/null +++ b/Student/task2/demo/CMakeLists.txt @@ -0,0 +1,8 @@ +add_executable( + go_upstairs_generator + go_upstairs_gen.cpp +) +target_link_libraries( + go_upstairs_generator + IRLib +) diff --git a/Student/task2/demo/go_upstairs.sy b/Student/task2/demo/go_upstairs.sy new file mode 100644 index 0000000..e9176e9 --- /dev/null +++ b/Student/task2/demo/go_upstairs.sy @@ -0,0 +1,28 @@ +int num[2] = {4, 8}; +int x[1]; +int n; +int tmp = 1; + +int climbStairs(int n) { + if(n < 4) + return n; + int dp[10]; + dp[0] = 0; + dp[1] = 1; + dp[2] = 2; + int i; + i = 3; + while(i +#include + +#ifdef DEBUG // 用于调试信息,大家可以在编译过程中通过" -DDEBUG"来开启这一选项 +#define DEBUG_OUTPUT std::cout << __LINE__ << std::endl; // 输出行号的简单示例 +#else +#define DEBUG_OUTPUT +#endif + +#define CONST_INT(num) \ + ConstantInt::create(num, module) + +#define CONST_FP(num) \ + ConstantFloat::create(num, module) // 得到常数值的表示,方便后面多次用到 + +using namespace SysYF::IR; + +int main() { + auto module = Module::create("SysYF code"); // module name是什么无关紧要 + auto builder = IRStmtBuilder::create(nullptr, module); + SysYF::Ptr Int32Type = Type::get_int32_type(module); + + // 全局数组,num,x + auto arrayType_num = ArrayType::get(Int32Type, 2); + auto arrayType_x = ArrayType::get(Int32Type, 1); + auto zero_initializer = ConstantZero::create(Int32Type, module); + std::vector> init_val; + init_val.push_back(CONST_INT(4)); + init_val.push_back(CONST_INT(8)); + auto num_initializer = ConstantArray::create(arrayType_num, init_val); + auto num = GlobalVariable::create("num", module, arrayType_num, false, num_initializer);// 是否是常量定义,初始化常量(ConstantZero类) + auto x = GlobalVariable::create("x", module, arrayType_x, false, zero_initializer);// 参数解释: 名字name,所属module,全局变量类型type, + + auto n = GlobalVariable::create("n", module, Int32Type, false, zero_initializer); + auto tmp = GlobalVariable::create("tmp", module, Int32Type, false, CONST_INT(1)); + + // climbStairs函数 + // 函数参数类型的vector + std::vector> Ints(1, Int32Type); + + //通过返回值类型与参数类型列表得到函数类型 + auto climbStairsFunTy = FunctionType::create(Int32Type, Ints); + + // 由函数类型得到函数 + auto climbStairsFun = Function::create(climbStairsFunTy, + "climbStairs", module); + + // BB的名字在生成中无所谓,但是可以方便阅读 + auto bb = BasicBlock::create(module, "entry", climbStairsFun); + + builder->set_insert_point(bb); // 一个BB的开始,将当前插入指令点的位置设在bb + + auto retAlloca = builder->create_alloca(Int32Type); // 在内存中分配返回值的位置 + auto nAlloca = builder->create_alloca(Int32Type); // 在内存中分配参数n的位置 + + std::vector> args; // 获取climbStairs函数的形参,通过Function中的iterator + for (auto arg = climbStairsFun->arg_begin(); arg != climbStairsFun->arg_end(); arg++) { + args.push_back(*arg); // * 号运算符是从迭代器中取出迭代器当前指向的元素 + } + + builder->create_store(args[0], nAlloca); // store参数n + + auto retBB = BasicBlock::create( + module, "", climbStairsFun); // return分支,提前create,以便true分支可以br + + auto nLoad = builder->create_load(nAlloca); // 将参数n load上来 + auto icmp = builder->create_icmp_lt(nLoad, CONST_INT(4)); // n和4的比较,注意ICMPLT + + auto trueBB = BasicBlock::create(module, "trueBB_if", climbStairsFun); // true分支 + auto falseBB = BasicBlock::create(module, "falseBB_if", climbStairsFun); // false分支 + + builder->create_cond_br(icmp, trueBB, falseBB); // 条件BR + DEBUG_OUTPUT // 我调试的时候故意留下来的,以醒目地提醒你这个调试用的宏定义方法 + builder->set_insert_point(trueBB); // if true; 分支的开始需要SetInsertPoint设置 + nLoad = builder->create_load(nAlloca); + builder->create_store(nLoad, retAlloca); + builder->create_br(retBB); // br retBB + + builder->set_insert_point(falseBB); // if false + auto arrayType_dp = ArrayType::get(Int32Type, 10); + auto dpAlloca = builder->create_alloca(arrayType_dp); + + auto dp0Gep = builder->create_gep(dpAlloca, {CONST_INT(0), CONST_INT(0)}); + builder->create_store(CONST_INT(0), dp0Gep); + + auto dp1Gep = builder->create_gep(dpAlloca, {CONST_INT(0), CONST_INT(1)}); + builder->create_store(CONST_INT(1), dp1Gep); + + auto dp2Gep = builder->create_gep(dpAlloca, {CONST_INT(0), CONST_INT(2)}); + builder->create_store(CONST_INT(2), dp2Gep); + + auto iAlloca = builder->create_alloca(Int32Type); + builder->create_store(CONST_INT(3), iAlloca); + + auto condBB = BasicBlock::create(module, "condBB_while", climbStairsFun); // 条件BB + trueBB = BasicBlock::create(module, "trueBB_while", climbStairsFun); // true分支 + falseBB = BasicBlock::create(module, "falseBB_while", climbStairsFun); // false分支 + + builder->create_br(condBB); + + builder->set_insert_point(condBB); + + auto iLoad = builder->create_load(iAlloca); + nLoad = builder->create_load(nAlloca); + auto add = builder->create_iadd(nLoad, CONST_INT(1)); + + icmp = builder->create_icmp_lt(iLoad, add); + builder->create_cond_br(icmp, trueBB, falseBB); + + builder->set_insert_point(trueBB); + + iLoad = builder->create_load(iAlloca); + auto sub = builder->create_isub(iLoad, CONST_INT(1)); + auto dpGep = builder->create_gep(dpAlloca, {CONST_INT(0), sub}); + auto dp1Load = builder->create_load(dpGep); + + iLoad = builder->create_load(iAlloca); + sub = builder->create_isub(iLoad, CONST_INT(2)); + dpGep = builder->create_gep(dpAlloca, {CONST_INT(0), sub}); + auto dp2Load = builder->create_load(dpGep); + + add = builder->create_iadd(dp1Load, dp2Load); + iLoad = builder->create_load(iAlloca); + dpGep = builder->create_gep(dpAlloca, {CONST_INT(0), iLoad}); + builder->create_store(add, dpGep); + + iLoad = builder->create_load(iAlloca); + add = builder->create_iadd(iLoad, CONST_INT(1)); + builder->create_store(add, iAlloca); + + builder->create_br(condBB); + + builder->set_insert_point(falseBB); + nLoad = builder->create_load(nAlloca); + dpGep = builder->create_gep(dpAlloca, {CONST_INT(0), nLoad}); + auto dpLoad = builder->create_load(dpGep); + builder->create_store(dpLoad, retAlloca); + builder->create_br(retBB); + + builder->set_insert_point(retBB); // ret分支 + auto retLoad = builder->create_load(retAlloca); + builder->create_ret(retLoad); + + // main函数 + auto mainFun = Function::create(FunctionType::create(Int32Type, {}), + "main", module); + bb = BasicBlock::create(module, "entry", mainFun); + // BasicBlock的名字在生成中无所谓,但是可以方便阅读 + builder->set_insert_point(bb); + + retAlloca = builder->create_alloca(Int32Type); + auto resAlloca = builder->create_alloca(Int32Type); + + auto num0Gep = builder->create_gep(num, {CONST_INT(0), CONST_INT(0)}); // GEP: 这里为什么是{0, 0}呢? (实验报告相关) + auto num0Load = builder->create_load(num0Gep); + builder->create_store(num0Load, n); + + auto tmpLoad = builder->create_load(tmp); + auto numGep = builder->create_gep(num, {CONST_INT(0), tmpLoad}); + auto numLoad = builder->create_load(numGep); + auto x0Gep = builder->create_gep(x, {CONST_INT(0), CONST_INT(0)}); + builder->create_store(numLoad, x0Gep); + + nLoad = builder->create_load(n); + tmpLoad = builder->create_load(tmp); + add = builder->create_iadd(nLoad, tmpLoad); + auto call = builder->create_call(climbStairsFun, {add}); // 为什么这里传的是{add}呢? + builder->create_store(call, resAlloca); + + auto resLoad = builder->create_load(resAlloca); + x0Gep = builder->create_gep(x, {CONST_INT(0), CONST_INT(0)}); + auto x0Load = builder->create_load(x0Gep); + sub = builder->create_isub(resLoad, x0Load); + builder->create_store(sub, retAlloca); + retLoad = builder->create_load(retAlloca); + builder->create_ret(retLoad); + // 给这么多注释了,但是可能你们还是会弄很多bug + // 所以强烈建议配置AutoComplete,效率会大大提高! + // 别人配了AutoComplete,只花1小时coding + // 你没有配AutoComplete,找method花5小时,debug花5小时,肯定哭唧唧! + // 最后,如果猜不到某个IR指令对应的C++的函数,建议把指令翻译成英语然后在method列表中搜索一下 + // 最后的最后,这个例子只涉及到了一点基本的指令生成, + // 对于额外的指令,包括数组,在之后的实验中可能需要大家好好搜索一下思考一下, + // 还有涉及到的C++语法,可以在gitlab上发issue提问或者向大家提供指导 + // 对于这个例子里的代码风格/用法,如果有好的建议也欢迎提出! + std::cout << module->print(); + return 0; +} diff --git a/Student/task2/sy/assign_test.sy b/Student/task2/sy/assign_test.sy new file mode 100644 index 0000000..87e3097 --- /dev/null +++ b/Student/task2/sy/assign_test.sy @@ -0,0 +1,6 @@ +int main(){ + float b = 1.8; + int a[2] = {2}; + a[1] = a[0] * b; + return a[1]; +} diff --git a/Student/task2/sy/func_test.sy b/Student/task2/sy/func_test.sy new file mode 100644 index 0000000..51d371f --- /dev/null +++ b/Student/task2/sy/func_test.sy @@ -0,0 +1,13 @@ +int add(int a,int b){ + return (a+b-1); +} + +int main(){ + int a; + int b; + int c; + a=3; + b=2; + c = 5; + return c + add(a,b); +} diff --git a/Student/task2/sy/if_test.sy b/Student/task2/sy/if_test.sy new file mode 100644 index 0000000..5fbc540 --- /dev/null +++ b/Student/task2/sy/if_test.sy @@ -0,0 +1,9 @@ +int a; + +int main(){ + a = 10; + if( a>0 ){ + return a; + } + return 0; +} diff --git a/Student/task2/sy/while_test.sy b/Student/task2/sy/while_test.sy new file mode 100644 index 0000000..374f82d --- /dev/null +++ b/Student/task2/sy/while_test.sy @@ -0,0 +1,11 @@ +int a; +int b; +int main(){ + b=0; + a=3; + while(a>0){ + b = b+a; + a = a-1; + } + return b; +} diff --git a/Student/task3/test.py b/Student/task3/test.py new file mode 100644 index 0000000..cede8f7 --- /dev/null +++ b/Student/task3/test.py @@ -0,0 +1,92 @@ +#!/usr/bin/env python3 +import subprocess +import os + +IRBuild_ptn = '"{}" "-emit-ir" "-o" "{}" "{}"' +ExeGen_ptn = '"clang" "{}" "-o" "{}" "{}" "../../lib/lib.c"' +Exe_ptn = '"{}"' + +def eval(EXE_PATH, TEST_BASE_PATH, optimization): + print('===========TEST START===========') + print('now in {}'.format(TEST_BASE_PATH)) + dir_succ = True + for case in testcases: + print('Case %s:' % case, end='') + TEST_PATH = TEST_BASE_PATH + case + SY_PATH = TEST_BASE_PATH + case + '.sy' + LL_PATH = TEST_BASE_PATH + case + '.ll' + INPUT_PATH = TEST_BASE_PATH + case + '.in' + OUTPUT_PATH = TEST_BASE_PATH + case + '.out' + need_input = testcases[case] + + IRBuild_result = subprocess.run(IRBuild_ptn.format(EXE_PATH, LL_PATH, SY_PATH), shell=True, stderr=subprocess.PIPE) + if IRBuild_result.returncode == 0: + input_option = None + if need_input: + with open(INPUT_PATH, "rb") as fin: + input_option = fin.read() + + try: + subprocess.run(ExeGen_ptn.format(optimization, TEST_PATH, LL_PATH), shell=True, stderr=subprocess.PIPE) + result = subprocess.run(Exe_ptn.format(TEST_PATH), shell=True, input=input_option, stdout=subprocess.PIPE, stderr=subprocess.PIPE) + out = result.stdout.split(b'\n') + if result.returncode != b'': + out.append(str(result.returncode).encode()) + for i in range(len(out)-1, -1, -1): + out[i] = out[i].strip(b'\r') + if out[i] == b'': + out.remove(b'') + case_succ = True + with open(OUTPUT_PATH, "rb") as fout: + i = 0 + for line in fout.readlines(): + line = line.strip(b'\r').strip(b'\n') + if line == '': + continue + if out[i] != line: + dir_succ = False + case_succ = False + i = i + 1 + if case_succ: + print('\t\033[32mPass\033[0m') + else: + print('\t\033[31mWrong Answer\033[0m') + except Exception as _: + dir_succ = False + print(_, end='') + print('\t\033[31mCodeGen or CodeExecute Fail\033[0m') + finally: + subprocess.call(["rm", "-rf", TEST_PATH, TEST_PATH]) + subprocess.call(["rm", "-rf", TEST_PATH, TEST_PATH + ".o"]) + subprocess.call(["rm", "-rf", TEST_PATH, TEST_PATH + ".ll"]) + + else: + dir_succ = False + print('\t\033[31mIRBuild Fail\033[0m') + if dir_succ: + print('\t\033[32mSuccess\033[0m in dir {}'.format(TEST_BASE_PATH)) + else: + print('\t\033[31mFail\033[0m in dir {}'.format(TEST_BASE_PATH)) + + print('============TEST END============') + + +if __name__ == "__main__": + + # you can only modify this to add your testcase + TEST_DIRS = [ + './test/', + ] + # you can only modify this to add your testcase + + optimization = "-O0" # -O0 -O1 -O2 -O3 -O4(currently = -O3) -Ofast + for TEST_BASE_PATH in TEST_DIRS: + testcases = {} # { name: need_input } + EXE_PATH = os.path.abspath('../../build/SysYFCompiler') + testcase_list = list(map(lambda x: x.split('.'), os.listdir(TEST_BASE_PATH))) + testcase_list.sort() + for i in range(len(testcase_list)): + testcases[testcase_list[i][0]] = False + for i in range(len(testcase_list)): + testcases[testcase_list[i][0]] = testcases[testcase_list[i][0]] | (testcase_list[i][1] == 'in') + eval(EXE_PATH, TEST_BASE_PATH, optimization=optimization) diff --git a/Student/task3/test/01_main.out b/Student/task3/test/01_main.out new file mode 100644 index 0000000..573541a --- /dev/null +++ b/Student/task3/test/01_main.out @@ -0,0 +1 @@ +0 diff --git a/Student/task3/test/01_main.sy b/Student/task3/test/01_main.sy new file mode 100644 index 0000000..ade4548 --- /dev/null +++ b/Student/task3/test/01_main.sy @@ -0,0 +1,3 @@ +int main(){ + return 0; +} diff --git a/Student/task3/test/02_var_defn.out b/Student/task3/test/02_var_defn.out new file mode 100644 index 0000000..f04c001 --- /dev/null +++ b/Student/task3/test/02_var_defn.out @@ -0,0 +1 @@ +29 diff --git a/Student/task3/test/02_var_defn.sy b/Student/task3/test/02_var_defn.sy new file mode 100644 index 0000000..d0d0f2c --- /dev/null +++ b/Student/task3/test/02_var_defn.sy @@ -0,0 +1,8 @@ +int a,b; + +int main(){ + a=10; + b=5; + int c=a*2+b*1.1+3.6; + return c; +} \ No newline at end of file diff --git a/Student/task3/test/03_empty_stmt.out b/Student/task3/test/03_empty_stmt.out new file mode 100644 index 0000000..aabe6ec --- /dev/null +++ b/Student/task3/test/03_empty_stmt.out @@ -0,0 +1 @@ +21 diff --git a/Student/task3/test/03_empty_stmt.sy b/Student/task3/test/03_empty_stmt.sy new file mode 100644 index 0000000..a8c161f --- /dev/null +++ b/Student/task3/test/03_empty_stmt.sy @@ -0,0 +1,5 @@ +int main() { + int a = 10; + ; + return a * 2 + 1; +} diff --git a/Student/task3/test/04_arr_defn.out b/Student/task3/test/04_arr_defn.out new file mode 100644 index 0000000..573541a --- /dev/null +++ b/Student/task3/test/04_arr_defn.out @@ -0,0 +1 @@ +0 diff --git a/Student/task3/test/04_arr_defn.sy b/Student/task3/test/04_arr_defn.sy new file mode 100644 index 0000000..0fa1ceb --- /dev/null +++ b/Student/task3/test/04_arr_defn.sy @@ -0,0 +1,4 @@ +int a[10]; +int main(){ + return 0; +} diff --git a/Student/task3/test/05_arr_assign.out b/Student/task3/test/05_arr_assign.out new file mode 100644 index 0000000..573541a --- /dev/null +++ b/Student/task3/test/05_arr_assign.out @@ -0,0 +1 @@ +0 diff --git a/Student/task3/test/05_arr_assign.sy b/Student/task3/test/05_arr_assign.sy new file mode 100644 index 0000000..3fe56ba --- /dev/null +++ b/Student/task3/test/05_arr_assign.sy @@ -0,0 +1,5 @@ +int a[10]; +int main(){ + a[0]=1; + return 0; +} diff --git a/Student/task3/test/06_const_defn.out b/Student/task3/test/06_const_defn.out new file mode 100644 index 0000000..b8626c4 --- /dev/null +++ b/Student/task3/test/06_const_defn.out @@ -0,0 +1 @@ +4 diff --git a/Student/task3/test/06_const_defn.sy b/Student/task3/test/06_const_defn.sy new file mode 100644 index 0000000..6804194 --- /dev/null +++ b/Student/task3/test/06_const_defn.sy @@ -0,0 +1,5 @@ +const int x=4; + +int main(){ + return x; +} \ No newline at end of file diff --git a/Student/task3/test/07_const_array_defn.out b/Student/task3/test/07_const_array_defn.out new file mode 100644 index 0000000..45a4fb7 --- /dev/null +++ b/Student/task3/test/07_const_array_defn.out @@ -0,0 +1 @@ +8 diff --git a/Student/task3/test/07_const_array_defn.sy b/Student/task3/test/07_const_array_defn.sy new file mode 100644 index 0000000..0ae4d90 --- /dev/null +++ b/Student/task3/test/07_const_array_defn.sy @@ -0,0 +1,7 @@ +const int a[5]={0,1,2,3,4}; +const int b = 3; +float c = a[b + 1]; + +int main(){ + return a[4] + c; +} \ No newline at end of file diff --git a/Student/task3/test/08_var_defn_func.out b/Student/task3/test/08_var_defn_func.out new file mode 100644 index 0000000..b8626c4 --- /dev/null +++ b/Student/task3/test/08_var_defn_func.out @@ -0,0 +1 @@ +4 diff --git a/Student/task3/test/08_var_defn_func.sy b/Student/task3/test/08_var_defn_func.sy new file mode 100644 index 0000000..03ab608 --- /dev/null +++ b/Student/task3/test/08_var_defn_func.sy @@ -0,0 +1,8 @@ +int defn(){ + return 4; +} + +int main(){ + int a=defn(); + return a; +} \ No newline at end of file diff --git a/Student/task3/test/09_void_func.out b/Student/task3/test/09_void_func.out new file mode 100644 index 0000000..7ed6ff8 --- /dev/null +++ b/Student/task3/test/09_void_func.out @@ -0,0 +1 @@ +5 diff --git a/Student/task3/test/09_void_func.sy b/Student/task3/test/09_void_func.sy new file mode 100644 index 0000000..2799e1e --- /dev/null +++ b/Student/task3/test/09_void_func.sy @@ -0,0 +1,13 @@ +int a,b,c; + +void add(int a,int b){ + c=a+b; + return; +} + +int main(){ + a=3; + b=2; + add(a,b); + return c; +} \ No newline at end of file diff --git a/Student/task3/test/10_if.out b/Student/task3/test/10_if.out new file mode 100644 index 0000000..d00491f --- /dev/null +++ b/Student/task3/test/10_if.out @@ -0,0 +1 @@ +1 diff --git a/Student/task3/test/10_if.sy b/Student/task3/test/10_if.sy new file mode 100644 index 0000000..a908d63 --- /dev/null +++ b/Student/task3/test/10_if.sy @@ -0,0 +1,9 @@ +int a; + +int main(){ + a = 10; + if( a>0 ){ + return 1; + } + return 0; +} diff --git a/Student/task3/test/11_if_else.out b/Student/task3/test/11_if_else.out new file mode 100644 index 0000000..d00491f --- /dev/null +++ b/Student/task3/test/11_if_else.out @@ -0,0 +1 @@ +1 diff --git a/Student/task3/test/11_if_else.sy b/Student/task3/test/11_if_else.sy new file mode 100644 index 0000000..a4f5062 --- /dev/null +++ b/Student/task3/test/11_if_else.sy @@ -0,0 +1,10 @@ +int a; +int main(){ + a = 10; + if( a>0 ){ + return 1; + } + else{ + return 0; + } +} diff --git a/Student/task3/test/12_while.out b/Student/task3/test/12_while.out new file mode 100644 index 0000000..1e8b314 --- /dev/null +++ b/Student/task3/test/12_while.out @@ -0,0 +1 @@ +6 diff --git a/Student/task3/test/12_while.sy b/Student/task3/test/12_while.sy new file mode 100644 index 0000000..374f82d --- /dev/null +++ b/Student/task3/test/12_while.sy @@ -0,0 +1,11 @@ +int a; +int b; +int main(){ + b=0; + a=3; + while(a>0){ + b = b+a; + a = a-1; + } + return b; +} diff --git a/Student/task3/test/13_break.out b/Student/task3/test/13_break.out new file mode 100644 index 0000000..7ed6ff8 --- /dev/null +++ b/Student/task3/test/13_break.out @@ -0,0 +1 @@ +5 diff --git a/Student/task3/test/13_break.sy b/Student/task3/test/13_break.sy new file mode 100644 index 0000000..55b40dc --- /dev/null +++ b/Student/task3/test/13_break.sy @@ -0,0 +1,9 @@ +int main(){ + int a=10; + while(a>0){ + a=a-1; + if(a==5) + break; + } + return a; +} \ No newline at end of file diff --git a/Student/task3/test/14_continue.out b/Student/task3/test/14_continue.out new file mode 100644 index 0000000..7ed6ff8 --- /dev/null +++ b/Student/task3/test/14_continue.out @@ -0,0 +1 @@ +5 diff --git a/Student/task3/test/14_continue.sy b/Student/task3/test/14_continue.sy new file mode 100644 index 0000000..d0f9e50 --- /dev/null +++ b/Student/task3/test/14_continue.sy @@ -0,0 +1,11 @@ +int main(){ + int a=10; + while(a>0){ + if(a>5){ + a=a-1; + continue; + } + return a; + } + return a; +} \ No newline at end of file diff --git a/Student/task3/test/15_getint.in b/Student/task3/test/15_getint.in new file mode 100644 index 0000000..f599e28 --- /dev/null +++ b/Student/task3/test/15_getint.in @@ -0,0 +1 @@ +10 diff --git a/Student/task3/test/15_getint.out b/Student/task3/test/15_getint.out new file mode 100644 index 0000000..f599e28 --- /dev/null +++ b/Student/task3/test/15_getint.out @@ -0,0 +1 @@ +10 diff --git a/Student/task3/test/15_getint.sy b/Student/task3/test/15_getint.sy new file mode 100644 index 0000000..5a7c254 --- /dev/null +++ b/Student/task3/test/15_getint.sy @@ -0,0 +1,5 @@ +int main(){ + int a; + a = getint(); + return a; +} diff --git a/Student/task3/test/16_func_test.out b/Student/task3/test/16_func_test.out new file mode 100644 index 0000000..7ed6ff8 --- /dev/null +++ b/Student/task3/test/16_func_test.out @@ -0,0 +1 @@ +5 diff --git a/Student/task3/test/16_func_test.sy b/Student/task3/test/16_func_test.sy new file mode 100644 index 0000000..67645a3 --- /dev/null +++ b/Student/task3/test/16_func_test.sy @@ -0,0 +1,23 @@ +int a; + +int myFunc(int a, int b, int c) { + a = 2; + { + int c; + c = 0; + if (c != 0) { + return 0; + } + } + while (b > 0) { + b = b - 1; + } + return (a)+(b); +} + +int main() { + a = (3); + int b; + b = myFunc(1, 2, 1); + return ((a+b)); +} \ No newline at end of file diff --git a/Student/task3/test/17_equal.in b/Student/task3/test/17_equal.in new file mode 100644 index 0000000..bce4388 --- /dev/null +++ b/Student/task3/test/17_equal.in @@ -0,0 +1 @@ +3 2 diff --git a/Student/task3/test/17_equal.out b/Student/task3/test/17_equal.out new file mode 100644 index 0000000..573541a --- /dev/null +++ b/Student/task3/test/17_equal.out @@ -0,0 +1 @@ +0 diff --git a/Student/task3/test/17_equal.sy b/Student/task3/test/17_equal.sy new file mode 100644 index 0000000..1453cdb --- /dev/null +++ b/Student/task3/test/17_equal.sy @@ -0,0 +1,12 @@ +int a; +int b; +int main(){ + a = getint(); + b = getint(); + if ( a == b ){ + return 1; + } + else{ + return 0; + } +} diff --git a/Student/task3/test/18_scope.out b/Student/task3/test/18_scope.out new file mode 100644 index 0000000..45a4fb7 --- /dev/null +++ b/Student/task3/test/18_scope.out @@ -0,0 +1 @@ +8 diff --git a/Student/task3/test/18_scope.sy b/Student/task3/test/18_scope.sy new file mode 100644 index 0000000..afc6d97 --- /dev/null +++ b/Student/task3/test/18_scope.sy @@ -0,0 +1,17 @@ +const int a = 5; +int b; + +int my_sum(int x, float y){ + b = a + x - y; + return b; +} + +int main(){ + int a = 7; + { + const float a = 3.3; + my_sum(a, a); + } + my_sum(a, b); + return b; +} diff --git a/Student/task3/test/19_gcd.in b/Student/task3/test/19_gcd.in new file mode 100644 index 0000000..4271cf2 --- /dev/null +++ b/Student/task3/test/19_gcd.in @@ -0,0 +1,2 @@ +4 +20 \ No newline at end of file diff --git a/Student/task3/test/19_gcd.out b/Student/task3/test/19_gcd.out new file mode 100644 index 0000000..b8626c4 --- /dev/null +++ b/Student/task3/test/19_gcd.out @@ -0,0 +1 @@ +4 diff --git a/Student/task3/test/19_gcd.sy b/Student/task3/test/19_gcd.sy new file mode 100644 index 0000000..1d20bc5 --- /dev/null +++ b/Student/task3/test/19_gcd.sy @@ -0,0 +1,34 @@ +int n; + +int gcd(int m,int n) +{ + int t; + int r; + + if(m 0) { + hanoi(getint(), 1, 2, 3); + putch(10); + n = n - 1; + } + return 0; +} diff --git a/Student/task3/test_stu/.gitkeep b/Student/task3/test_stu/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/doc/AST.md b/doc/AST.md new file mode 100755 index 0000000..54ef981 --- /dev/null +++ b/doc/AST.md @@ -0,0 +1,473 @@ +# AST + +**源码链接:** + +[SyntaxTree.h](../include/SyntaxTree.h) + +[SyntaxTree.cpp](../src/SyntaxTree.cpp) + + +## 目录 + +[Ptr](#ptr) + +[PtrLst](#ptrlist) + +[Position](#position) + +[Type](#type) + +[Binop](#binop) + +[UnaryOp](#unaryOp) + +[UnaryCondOp](#unarycondop) + +[BinaryCondOp](#binarycondop) + +[Node](#node) + +[Assembly](#assembly) + +[InitVal](#initval) + +[GlobalDef](#globaldef) + +[FuncDef](#funcdef) + +[VarDef](#vardef) + +[Stmt](#stmt) + +[AssignStmt](#assignstmt) + +[ReturnStmt](#returnstmt) + +[BlockStmt](#blockstmt) + +[EmptyStmt](#emptystmt) + +[ExprStmt](#exprstmt) + +[Expr](#expr) + +[CondExpr](#condexpr) + +[AddExpr](#addexpr) + +[UnaryCondExpr](#unarycondexpr) + +[BinaryCondExpr](#binarycondexpr) + +[BinaryExpr](#binaryexpr) + +[UnaryExpr](#unaryexpr) + +[LVal](#lval) + +[Literal](#literal) + +[FuncCallStmt](#funccallstmt) + +[FuncParam](#funcparam) + +[FuncFParamList](#funcfparamlist) + +[IfStmt](#ifstmt) + +[WhileStmt](#whilestmt) + +[BreakStmt](#breakstmt) + +[ContinueStmt](#continuestmt) + +[Visitor](#visitor) + +## Ptr + +AST中使用的指针类型。实际上是`std::shared_ptr` + +## PtrList + +存放[Ptr](#ptr)的list,实际上是`std::vector` + +## Position + +该节点代表的语法结构在源文件的位置信息,实际上是`yy::location`。由bison/flex自动生成。 + +## Type +包含SysY语言支持的数据类型:`Type::INT`以及`Type::VOID`。 + +多出的`Type::STRING`类型用作系统调用的参数类型,`Type::BOOL`作为条件表达式类型。 + +## Binop + +双目算术表达式的操作符。包含 + +`Binop::PLUS` 加 + +`Binop::MINUS`减 + +`Binop::MULTIPLY`乘 + +`Binop::DIVIDE`除 + +`Binop::MODULO`模 + +## UnaryOp + +单目算术表达式操作符,包含 + +`UnaryOp::PLUS`正 + +`UnaryOp::MINUS`负 + + +## UnaryCondOp + +单目条件表达式操作符,包含 + +`UnaryCondOp::NOT`非 + +## BinaryCondOp + +双目条件表达式操作符,包含 + +`BinaryCondOp::LT`小于 + +`BinaryCondOp::LTE`小于等于 + +`BinaryCondOp::GT`大于 + +`BinaryCondOp::GTE`大于等于 + +`BinaryCondOp::EQ`等于等于 + +`BinaryCondOp::NEQ`不等于 + +`BinaryCondOp::LAND`逻辑与 + +`BinaryCondOp::LOR`逻辑或 + +## Node + +语法树所有结点的基类, + +`Node::loc`是其在对应源文件的位置信息。类型为[Position](#position) + +`virtual void Node::accept(Visitor &visitor)`为虚函数,用于访问者模式,接受一个[Visitor](#visitor)。需要进行重写。 + +## Assembly + +AST的根结点 + +[PtrList](#ptrlist)<[GlobalDef](#globaldef)> `Assembly::global_defs`存放所有[GlobalDef](#globaldef)指针。 + +## InitVal + +代表初值的结点。该结点为嵌套定义。以下类型的变量初值均可表示: + +```c++ +int a = 1 + 1; +int b[2] = {1,2}; +int c[2][2] = {{1,2},{3,4}} +... +``` + +`bool InitVal::isExp` + +为真时初值为[Expr](#expr)类型。为假时代表以`{...}`的形式进行赋初值 +eg +```c++ +int a = 3 + 1;//isExp=true +int c[2][2] = {{1,2},{3,4}};//isExp=false +``` +所有`InitVal`结点最底层一定是[Expr](#expr)类型。也即`isExp`为true + +[PtrList](#ptrlist)<[InitVal](#initval)> `InitVal::elementList` + +当`isExp`为false时该域才有意义。是包含`{}`中其余`InitVal`结点指针的列表。 + +[Ptr](#ptr)<[Expr](#expr)> `InitVal::expr` + +当`isExp`为true时该域才有意义。一个初值表达式的指针。 + +## GlobalDef + +所有def结点的基类 + +## FuncDef + +代表函数定义。 + +[Type](#type) `FuncDef::ret_type`。 + +函数的返回值类型 + +[Ptr](#ptr)<[FuncFParamList](#funcfparamlist)> `FuncDef::param_list`。 + +函数的形参指针 + +`std::string FuncDef::name` + +函数名 + +[Ptr](#ptr)<[BlockStmt](#blockstmt)> `FuncDef::body` + +函数体指针 + +## VarDef + +代表变量定义 + +`bool VarDef::is_constant` + +是否为常量 + +[Type](#type) `VarDef::btype` + +变量类型(在sysY中只能是int) + +`std::string VarDef::name` + +变量名 + +`bool VarDef::is_inited` + +是否初始化 + +[PtrList](#ptrlist)<[Expr](#expr)> `VarDef::array_length` + +若为数组,则是存放各维长度表达式指针的列表,否则为空 + +[Ptr](#ptr)<[InitVal](#initval)> `VarDef::initializers` + +若初始化,则是指向初值定义的指针 + +## Stmt + +所有statement的基类 + +## AssignStmt + +表示如下类型的语句: +```c++ +target = value +``` + +即赋值型语句 + +[Ptr](#ptr)<[Lval](#lval)> `AssignStmt::target` + +赋值表达式的左值指针 + +[Ptr](#ptr)<[Expr](#expr)> `AssignStmt::value` + +赋值表达式右边表达式指针 + +## ReturnStmt + +代表return 语句 + +[Ptr](#ptr)<[Expr](#expr)> `ReturnStmt::ret` + +return 语句返回的表达式指针。空指针代表void return + +## BlockStmt + +代表使用`{}`括起来的stmt。 + +[PtrList](#ptrlist)<[Stmt](#stmt)> `BlockStmt::body` + +该block中所有stmt指针的列表 + +## EmptyStmt + +空语句 + +## ExprStmt + +表达式语句 + +[Ptr](#ptr)<[Expr](#exp)> `ExprStmt::exp` + +表达式语句对应表达式的指针 + +## Expr + +所有表达式的基类 + +## CondExpr + +所有条件表达式的基类 + +## AddExpr + +所有算术表达式的基类 + +## UnaryCondExpr + +单目条件表达式 + +`UnaryCondOp UnaryCondExpr::op` + +操作符 + +[Ptr](#ptr)<[Expr](#expr)> `UnaryCondExpr::rhs` + +操作符右端表达式指针 + +## BinaryCondExpr + +双目条件表达式 + +`BinaryCondOp BinaryCondExpr::op` + +操作符 + +[Ptr](#ptr)<[Expr](#expr)> `BinaryCondExpr::lhs, rhs` + +操作符左右两端表达式指针 + +## BinaryExpr + +双目算术表达式 + +`BinOp BinaryExpr::op` + +操作符 + +[Ptr](#ptr)<[Expr](#expr)> `BinaryExpr::lhs, rhs` + +操作符左右两端表达式指针 + +## UnaryExpr + +单目算术表达式 + +`UnaryOp UnaryExpr::op` + +操作符 + +[Ptr](#ptr)<[Expr](#expr)> `UnaryExpr::rhs` + +操作符右端表达式指针 + +## LVal + +左值表达式 + +`std::string Lval::name` + +变量名 + +[PtrList](#ptrlist)<[Expr](#expr)> `LVal::array_index` + +数组索引的指针列表。若不是数组,则为空 + +## Literal + +语义值类型,包含整数和字符串 + +`bool Literal::is_int` + +是否为整形 + +`int Literal::int_const` + +整数语义值 + +`std::string Literal::str` + +字符串语义值(未处理转义) + +## FuncCallStmt + +函数调用 + +`std::string FuncCallStmt::name` + +被调用的函数名 + +[PtrList](#ptrlist)<[Expr](#expr)> `FuncCallStmt::params` + +存放函数实参表达式指针的列表 + +## FuncParam + +单个函数形参 + +`std::string FuncParam::name` + +形参名 + +[Type](#type) `FuncParam::param_type` + +形参类型 + +[PtrList](#ptrlist)<[Expr](#expr)> `FuncParam::array_index` + +形参的数组维度列表,存放每一维的表达式指针。若非数组则为空 + +## FuncFParamList + +存放一个函数的所有形参 + +[PtrList](#ptrlist)<[FuncParam](#funcparam)> `FuncFParamList::params` + +存放所有形参指针的列表 + +## IfStmt + +表示如下结构: +```c++ +if(cond_exp) + if_stmt +或 +if(cond_exp) + if_stmt +else + else_stmt +``` + +[Ptr](#ptr)<[Expr](#expr)> `IfStmt::cond_exp` + +cond_exp的指针 + +[Ptr](#ptr)<[Stmt](#stmt)> `IfStmt::if_statement` + +if_stmt的指针 + +[Ptr](#ptr)<[Stmt](#stmt)> `IfStmt::else_statement` + +else_stmt的指针(若无else,则为空) + + +## WhileStmt + +表示如下结构 +```c++ +while(cond_exp) + stmt +``` + +[Ptr](#ptr)<[Expr](#expr)> `WhileStmt::cond_exp` + +cond_exp的指针 + +[Ptr](#ptr)<[Stmt](#stmt)> `WhileStmt::statement` + +stmt的指针 + + +## BreakStmt + +表示一个break语句 + +## ContinueStmt + +表示一个continue语句 + +## Visitor + +访问者模式的基类,用于访问AST。需要重写其中的visit函数。 \ No newline at end of file diff --git a/doc/SysYFIR.md b/doc/SysYFIR.md new file mode 100644 index 0000000..8a9cc30 --- /dev/null +++ b/doc/SysYFIR.md @@ -0,0 +1,620 @@ +# SysYF IR + +- [SysYF IR](#sysyf-ir) + - [IR](#ir) + - [IR Features](#ir-features) + - [IR Format](#ir-format) + - [Instruction](#instruction) + - [Terminator Instructions](#terminator-instructions) + - [Ret](#ret) + - [Br](#br) + - [Standard binary operators](#standard-binary-operators) + - [Add FAdd](#add-fadd) + - [Sub FSub](#sub-fsub) + - [Mul FMul](#mul-fmul) + - [SDiv FDiv](#sdiv-fdiv) + - [SRem](#srem) + - [Memory operators](#memory-operators) + - [Alloca](#alloca) + - [Load](#load) + - [Store](#store) + - [CastInst](#castinst) + - [ZExt](#zext) + - [FpToSi](#fptosi) + - [SiToFp](#sitofp) + - [Other operators](#other-operators) + - [ICmp FCmp](#icmp-fcmp) + - [Call](#call) + - [GetElementPtr](#getelementptr) + - [C++ APIs](#c-apis) + - [核心类概念图](#核心类概念图) + - [BasicBlock](#basicblock) + - [Constant](#constant) + - [Function](#function) + - [GlobalVariable](#globalvariable) + - [IRStmtBuilder](#irstmtbuilder) + - [Instruction](#instruction-1) + - [Module](#module) + - [Type](#type) + - [User](#user) + - [Value](#value) + - [总结](#总结) + +## IR + +### IR Features +- 采用类型化三地址代码的方式 + - 区别于 X86 汇编的目标和源寄存器共用的模式: ADD EAX, EBX + - %2 = add i32 %0, %1 +- 静态单赋值 (SSA) 形式 + 无限寄存器 + - 每个变量都只被赋值一次 + - 容易确定操作间的依赖关系,便于优化分析 +- 强类型系统 + - 每个 Value 都具备自身的类型, + - IR类型系统: + - `i1`:1位宽的整数类型 + - `i32`:32位宽的整数类型 + - `float`:单精度浮点数类型 + - `pointer`:指针类型 + - 例如:`i32*, [10 x i32*]` + - `label` bb的标识符类型 + - `functiontype`函数类型,包括函数返回值类型与参数类型(下述文档未提及) + +### IR Format +下面以`easy.c`与`easy.ll`为例进行说明。 +通过命令`clang -S -emit-llvm easy.c`可以得到对应的`easy.ll`如下(其中增加了额外的注释)。`.ll`文件中注释以`;`开头。 + +- `easy.c`: + ``` c + int main(){ + int a; + int b; + a = 1; + b = 2; + if(a < b) + b = 3; + return a + b; + } + ``` +- `easy.ll`: + ``` c + ; 注释: .ll文件中注释以';'开头 + ; ModuleID = 'easy.c' + source_filename = "easy.c" + ; 注释: target的开始 + target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128" + target triple = "x86_64-unknown-linux-gnu" + ; 注释: target的结束 + + ; 注释: 全局main函数的定义 + ; Function Attrs: noinline nounwind optnone uwtable + define dso_local i32 @main() #0 { + ; 注释: 第一个基本块的开始 + %1 = alloca i32, align 4 + %2 = alloca i32, align 4 + %3 = alloca i32, align 4 + store i32 0, i32* %1, align 4 + store i32 1, i32* %2, align 4 + store i32 2, i32* %3, align 4 + %4 = load i32, i32* %2, align 4 + %5 = load i32, i32* %3, align 4 + %6 = icmp slt i32 %4, %5 + br i1 %6, label %7, label %8 + ; 注释: 第一个基本块的结束 + + ; 注释: 第二个基本块的开始 + 7: ; preds = %0 + store i32 3, i32* %3, align 4 + br label %8 + ; 注释: 第二个基本块的结束 + + ; 注释: 第三个基本块的开始 + 8: ; preds = %7, %0 + %9 = load i32, i32* %2, align 4 + %10 = load i32, i32* %3, align 4 + %11 = add nsw i32 %9, %10 + ret i32 %11 ; 注释: 返回语句 + ; 注释: 第三个基本块的结束 + } + + attributes #0 = { noinline nounwind optnone uwtable "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="false" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } + + !llvm.module.flags = !{!0} + !llvm.ident = !{!1} + + !0 = !{i32 1, !"wchar_size", i32 4} + !1 = !{!"clang version 10.0.1 "} + ``` +每个program由1个或多个module组成,每个module对应1个程序文件,module之间由LLVM Linker进行链接形成1个可执行文件或者库。 +每个module组成如下: +- Target Information: + ``` c + target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128" + target triple = "x86_64-unknown-linux-gnu" + ``` +- Global Symbols: main函数的定义 +- Others:尾部其他信息 + +每个函数的组成如下: +- 头部:函数返回值类型、函数名、函数参数 +- 一个或多个基本块: + - 每个基本块由Label和Instruction组成。 + ``` c + 8: ; preds = %7, %0 + %9 = load i32, i32* %2, align 4 + %10 = load i32, i32* %3, align 4 + %11 = add nsw i32 %9, %10 + ret i32 %11 + ``` + 这个例子中,`8`就是Label。 + `%9 = load i32, i32* %2, align 4`中的`%9`是目的操作数,`load`是指令助记符,`i32`是`int32`的类型,`i32*`是指向`int32`的地址类型,`%2`是源操作数,`align 4`表示对齐。 +### Instruction +#### Terminator Instructions +**注**:ret与br都是Terminator Instructions也就是终止指令,在llvm基本块的定义里,基本块是单进单出的,因此只能有一条终止指令(ret或br)。当一个基本块有两条终止指令,clang 在做解析时会认为第一个终结指令是此基本块的结束,并会开启一个新的匿名的基本块(并占用了下一个编号)。 +##### Ret +- 格式 + - `ret ` + - `ret void` +- 例子: + - `ret i32 %0` + - `ret void` +- 概念:` ret`指令用于将控制流(以及可选的值)从函数返回给调用者。`ret`指令有两种形式:一种返回值,然后终结函数,另一种仅终结函数。 + +##### Br +- 格式: + - `br i1 , label , label ` + - `br label ` +- 例子: + - `br i1 %cond label %truebb label %falsebb` + - `br label %bb` +- 概念:`br`指令用于使控制流转移到当前功能中的另一个基本块。 该指令有两种形式,分别对应于条件分支和无条件分支。 + +#### Standard binary operators +##### Add FAdd +- 格式: + - ` = add , ` + - ` = fadd , ` +- 例子: + - `%2 = add i32 %1, %0` + - `%2 = fadd float %1, %0` +- 概念:`add`指令返回其两个`i32`类型的操作数之和,返回值为`i32`类型,`fadd`指令返回其两个`float`类型的操作数之和,返回值为`float`类型 + +##### Sub FSub +- 格式与例子与`add`,`fadd`类似 +- 概念:`sub`指令返回其两个`i32`类型的操作数之差,返回值为`i32`类型,`fsub`指令返回其两个`float`类型的操作数之差,返回值为`float`类型 + +##### Mul FMul +- 格式与例子与`add`,`fadd`类似 +- 概念:`mul`指令返回其两个`i32`类型的操作数之积,返回值为`i32`类型,`fmul`指令返回其两个`float`类型的操作数之积,返回值为`float`类型 + +##### SDiv FDiv +- 格式与例子与`add`,`fadd`类似 +- 概念:`sdiv`指令返回其两个`i32`类型的操作数之商,返回值为`i32`类型,`fdiv`指令返回其两个`float`类型的操作数之商,返回值为`float`类型 + +##### SRem +- 格式与例子与`add`类似 +- 概念:`srem`指令返回其两个`i32`类型的操作数之模,返回值为`i32`类型 + +#### Memory operators +##### Alloca +- 格式:` = alloca ` +- 例子: + - `%ptr = alloca i32` + - `%ptr = alloca [10 x i32]` +- 概念: `alloca`指令在当前执行函数的栈帧上分配内存,当该函数返回其调用者时将自动释放该内存。 始终在地址空间中为数据布局中指示的分配资源分配对象 + +##### Load +- 格式:` = load , * ` +- 例子:`%val = load i32, i32* %ptr` +- 概念:`load`指令用于从内存中读取。 + +##### Store +- 格式:`store , * ` +- 例子:`store i32 3, i32* %ptr` +- 概念:`store`指令用于写入内存 + +#### CastInst +##### ZExt +- 格式:` = zext to ` +- 例子:`%1 = zext i1 %0 to i32` +- 概念:`zext`指令将其操作数**零**扩展为`type2`类型。 + +##### FpToSi +- 概念:`fptosi`指令将浮点值转换为`type2`(整数)类型。 +- 格式:` = fptosi to ` +- 例子:`%Y = fptosi float 1.0E-247 to i32` + +##### SiToFp +- 格式:` = sitofp to ` +- 例子:`%X = sitofp i32 257 to float` +- 概念:`sitofp`指令将有符号整数转换为`type2`(浮点数)类型。 + +#### Other operators +##### ICmp FCmp +- 格式: + - ` = icmp , ` + - ` = eq | ne | sgt | sge | slt | sle` + - ` = fcmp , ` + - ` = eq | ne | ugt | uge | ult | ule` +- 例子:`i1 %2 = icmp sge i32 %0, %1` +- 概念:`icmp`指令根据两个整数的比较返回布尔值,`fcmp`指令根据两个浮点数的比较返回布尔值。 + +##### Call +- 格式: + - ` = call () ` +- 例子: + - `%0 = call i32 @func( i32 %1, i32* %0)` + - `call @func( i32 %arg)` +- 概念:`call`指令用于使控制流转移到指定的函数,其传入参数绑定到指定的值。 在被调用函数中执行`ret`指令后,控制流程将在函数调用后继续执行该指令,并且该函数的返回值绑定到`result`参数。 + +##### GetElementPtr +- 格式:` = getelementptr , * [, ]` +- 例子: + - `%2 = getelementptr [10 x i32], [10 x i32]* %1, i32 0, i32 %0` + - `%2 = getelementptr i32, i32* %1 i32 %0` +- 参数解释:第一个参数是计算基础类型,第二第三个参数表示索引开始的指针类型及指针,`[]`表示可重复参数,里面表示的数组索引的偏移类型及偏移值。(思考指针类型为`[10 x i32]`指针和`i32`指针`getelementptr`用法的不同) +- 概念:`getelementptr`指令用于获取数组结构的元素的地址。 它仅执行地址计算,并且不访问内存。 + +## C++ APIs + +### 核心类概念图 + +![](figs/核心类概念图.png) + +### BasicBlock +- 继承:从[value](#value)继承 + +- 含义:基本块,是一个是单入单出的代码块,该类维护了一个指令链表,基本块本身属于 Value, 类型是 \,会被分支指令调用 + +- 成员: + + - instr_list_:指令链表 + - pre_bbs_: bb前驱集合 + - succ_bbs_:bb后继集合 + +- API: + + ```c++ + // 创建并返回BB块,参数分别是BB块所属的Module,name是其名字默认为空,BB块所属的Function + static Ptr create(Ptr m, const std::string &name ,Ptr parent ) + // 返回BB块所属的函数 + Ptr get_parent(); + // 返回BB块所属的Module + Ptr get_module(); + // 返回BB块的终止指令(ret|br),若BB块最后一条指令不是终止指令返回null + Ptr get_terminator(); + // 将instr指令添加到此BB块指令链表结尾,调用IRBuilder里来创建函数会自动调用此方法 + void add_instruction(Ptr instr); + // 将instr指令添加到此BB块指令链表开头 + void add_instr_begin(Ptr instr); + // 将instr指令从BB块指令链表中移除,同时调用api维护好instr的操作数的use链表 + void delete_instr(Ptr instr); + // BB块中指令数为空返回true + bool empty(); + // 返回BB块中指令的数目 + int get_num_of_instr(); + //返回BB块的指令链表 + PtrList &get_instructions(); + // 将此BB块从所属函数的bb链表中移除 + void erase_from_parent(); + + /****************api about cfg****************/ + PtrList &get_pre_basic_blocks() // 返回前驱块集合 + PtrList &get_succ_basic_blocks() // 返回后继块集合 + void add_pre_basic_block(Ptr bb) // 添加前驱块 + void add_succ_basic_block(Ptr bb) // 添加后继块 + void remove_pre_basic_block(Ptr bb) // 移除前驱块 + void remove_succ_basic_block(Ptr bb) // 移除后继块 + /****************api about cfg****************/ + + ``` + + +### Constant +- 继承:从[User](#user)继承 +- 含义:常数,各种类型常量的基类 +- 子类: + - ConstantInt + - 含义:int类型的常数 + + - 成员 + + - value_:常数值 + + - API + + ```cpp + int get_value() // 返回该常数类型中存的常数值 + static int get_value(Ptr const_val)// 返回该常数类型const_val中存的常数值 + static Ptr get(int val, Ptr m) // 以val值来创建常数类 + static Ptr get(bool val, Ptr m) // 以val值来创建bool常数类 + ``` + + - ConstantFloat + - 含义:float类型的常数 + + - 成员 + + - value_:常数值 + + - API + + ```cpp + static Ptr get(float val, Ptr m) // 以val值创建并返回浮点数常量类 + float get_value() // 返回该常数类型中存的常数值 + ``` + + - ConstantZero + + - 含义:用于全局变量初始化的常量0值。 + + - API + + ```cpp + static Ptr get(Ptr ty, Ptr m);// 创建并返回ConstantZero常量类 + ``` + + - ConstantArray + + - 含义:数组类型的常数 + - 成员 + - const_array:数组常量值 + + - API:cminus语法不需要数组常量的支持(本次实验不需要用到),在此不过多解释。感兴趣可以自行查看源代码。 +### Function +- 继承:从[Value](#value)继承 + +- 含义:函数,该类描述 LLVM 的一个简单过程,维护基本块表,格式化参数表 + +- 成员 + - basic_blocks_:基本块列表 + - arguments_:形参列表 + - parent_:函数属于的module + +- API + + ```cpp + static Ptr create(Ptr ty, const std::string &name, Ptr parent); + // 创建并返回Function,参数依次是待创建函数类型ty、函数名字name(不可为空)、函数所属的Module + Ptr get_function_type() const; + // 返回此函数类的函数类型 + Ptr get_return_type() const; + // 返回此函数类型的返回值类型 + void add_basic_block(Ptr bb); + // 将bb添加至Function的bb链表上(调用bb里的创建函数时会自动调用此函数挂在function的bb链表上) + unsigned get_num_of_args() const; + // 得到函数形参数数量 + unsigned get_num_basic_blocks() const; + // 得到函数基本块数量 + Ptr get_parent() const; + // 得到函数所属的Module + PtrList::iterator arg_begin() + // 得到函数形参的list的起始迭代器 + PtrList::iterator arg_end() + // 得到函数形参的list的终止迭代器 + void remove(Ptr bb) + // 从函数的bb链表中删除一个bb + PtrList &get_basic_blocks() + // 返回函数bb链表 + PtrList &get_args() + // 返回函数的形参链表 + void set_instr_name(); + // 给函数中未命名的基本块和指令命名 + ``` + + + +- 相关类 + - Argument + - 含义:参数 + + - 成员 + - arg_no_:参数序号 + - parent_:参数属于哪个函数 + + - API + + ```cpp + Ptr get_parent() // 返回参数的所属函数 + unsigned get_arg_no() const // 返回参数在所在函数的第几个参数 + ``` +### GlobalVariable +- 继承:从[User](#user)继承 +- 含义:全局变量,该类用于表示全局变量,是 GlobalValue 的子类,根据地址来访问 +- 成员: + - is_const:是否为常量 + - init_val_:初始值 +- API:由于cminusf语义要求所有的全局变量都默认初始化为0,故`GlobalVariable`中成员和API再构造CminusFBuilder用不到 +### IRStmtBuilder +- 含义:生成IR的辅助类,该类提供了独立的接口创建各种 IR 指令,并将它们插入基本块中, 该辅助类不做任何类型检查。 + +- API + + ```cpp + Ptr get_insert_block()// 返回正在插入指令的BB + void set_insert_point(Ptr bb)// 设置当前需要插入指令的bb + ptr create_[instr_type]()// 创建instr_type(具体名字参考IRStmtBuilder.h代码)的指令并对应插入到正在插入的BB块,这种类型的指令看函数名字和参数名字和IR文档是一一对应的。 + ``` + + +### Instruction +- 继承:从[User](#user)继承 +- 含义:指令,该类是所有 LLVM 指令的基类,主要维护指令的操作码(指令类别),指令所属的基本块,指令的操作数个数信息 +- 成员 + - parent_:指令所属的BasicBlock + - op_id_:指令的类型id + - num_ops_指令的操作数个数 +- 子类 + - BinaryInst:双目运算指令包括add、sub、mul、div + - 其他子类和前述文档中提到的指令一一对应,不在此赘述。 +- API:所有指令的创建都要通过 IRStmtBuilder 进行,不需要关注Instruction类的实现细节,(**注**:不通过 IRStmtBuilder 来创建指令,而直接调用指令子类的创建方法未经助教完善的测试) +### Module +- 含义:一个编译单元,在此源语言的意义下是一个文件 + +- 成员 + - function_list_:函数链表,记录了这个编译单元的所有函数 + - global_list_:全局变量链表 + - instr_id2string_:通过指令类型id得到其打印的string + - module_name_, source_file_name:未使用 + - 从module中能取到的基本类型 + +- API + + ```cpp + Ptr get_void_type(); + // 得到IR中的void类型其他类型可以用类似的API得到(推荐取得类型采用lab3助教提供的方法Type::get()) + void add_function(Ptr f); + // 将f挂在module的function链表上,在function被创建的时候会自动调用此方法来添加function + void add_global_variable(Ptr g); + // 将g挂在module的GlobalVariable链表上,在GlobalVariable被创建的时候会自动调用此方法来添加GlobalVariable + PtrList &get_global_variable(); + // 获取全局变量列表 + std::string get_instr_op_name( Instruction::OpID instr ); + // 获取instr对应的指令名(打印ir时调用) + void set_print_name(); + // 设置打印ir的指令与bb名字; + ``` + + +### Type +- 含义:IR的类型,该类是所有类型的超类 + +- 成员 + + - tid_:枚举类型,表示type的类型(包含VoidType、LabelType、FloatType、Int1、Int32、ArrayType、PointerType) + +- 子类 + - IntegerType + - 含义:int 类型 + + - 成员 + + - num_bits:长度(i1或者i32) + + - API + + ```cpp + unsigned get_num_bits();// 返回int的位数 + ``` + - FloatType + + - 含义:float 类型 + - FunctionType + - 含义:函数类型 + + - 成员 + - result_:返回值类型 + - args_:参数类型列表 + + - API + + ```cpp + static Ptr get(Ptr result, PtrVec params); + // 返回函数类型,参数依次是返回值类型result,形参类型列表params + unsigned get_num_of_args() const; + // 返回形参个数 + Ptr get_param_type(unsigned i) const; + // 返回第i个形参的类型 + PtrVec::iterator param_begin() + // 返回形参类型列表的起始迭代器 + PtrVec::iterator param_end() + // 返回形参类型列表的终止迭代器 + Ptr get_return_type() const; + // 返回函数类型中的返回值类型 + ``` + - ArrayType + - 含义:数组类型 + + - 成员 + - contained_:数组成员的类型 + - num_elements_:数组维数 + + - API + + ```cpp + static Ptr get(Ptr contained, unsigned num_elements); + // 返回数组类型,参数依次是 数组元素的类型contained,数组元素个数num_elements + Ptr get_element_type() const + // 返回数组元素类型 + unsigned get_num_of_elements() const + // 返回数组元素个数 + ``` + - PointerType + - 含义:指针类型 + + - 成员 + + - contained_:指针指向的类型 + + - API + + ```cpp + Ptr get_element_type() const { return contained_; } + // 返回指针指向的类型 + static Ptr get(Ptr contained); + // 返回contained类型的指针类型 + Ptr get_pointer_element_type();// 若是PointerType则返回指向的类型,若不是则返回nullptr。 + static Ptr create(Ptr contained); + // 创建指向contained类型的指针类型 + ``` + +- API + + ```cpp + bool is_void_type()// 判断是否是void类型其他类型有类似API请查看Type.h + static Ptr get_void_type(Ptr m);// 得到void类型 + Ptr get_pointer_element_type();// 若是PointerType则返回指向的类型,若不是则返回nullptr。 + Ptr get_array_element_type();// 若是ArrayType则返回指向的类型,若不是则返回nullptr。 + ``` + + +### User +- 继承:从[value](#value)继承 + +- 含义:使用者,提供一个操作数表,表中每个操作数都直接指向一个 Value, 提供了 use-def 信息,它本身是 Value 的子类, Value 类会维护一个该数据使用者的列表,提供def-use信息。简单来说操作数表表示我用了谁,该数据使用者列表表示谁用了我。这两个表在后续的**优化实验**会比较重要请务必理解。 + +- 成员 + - operands_:参数列表,表示这个使用者所用到的参数 + - num_ops_:表示该使用者使用的参数的个数 + +- API + + ```cpp + Ptr get_operand(unsigned i) const; + // 从user的操作数链表中取出第i个操作数 + void set_operand(unsigned i, Ptr v); + // 将user的第i个操作数设为v + void add_operand(Ptr v); + // 将v挂到User的操作数链表上 + unsigned get_num_operand() const; + // 得到操作数链表的大小 + void remove_use_of_ops(); + // 从User的操作数链表中的所有操作数处的use_list_ 移除该User; + void remove_operands(int index1, int index2); + // 移除操作数链表中索引为index1-index2的操作数,例如想删除第0个操作数:remove_operands(0,0) + ``` + +### Value +- 含义:最基础的类,代表一个操作数,代表一个可能用于指令操作数的带类型数据 + +- 成员 + - use_list_:记录了所有使用该操作数的指令的列表 + - name_:名字 + - type_:类型,一个type类,表示操作数的类型 + +- API + + ```cpp + Ptr get_type() const //返回这个操作数的类型 + std::list &get_use_list() // 返回value的使用者链表 + void add_use(Ptr val, unsigned arg_no = 0); + // 添加val至this的使用者链表上 + void replace_all_use_with(Ptr new_val); + // 将this在所有的地方用new_val替代,并且维护好use_def与def_use链表 + void remove_use(Ptr val); + // 将val从this的use_list_中移除 + ``` + +### 总结 + +在本文档里提供了为SysYF语言程序生成LLVM IR可能需要用到的SysYF IR应用编程接口,如果对这些API有问题的请移步issue讨论,本次`SysYF IR`应用编程接口由助教自行设计实现,并做了大量测试,如有对助教的实现方法有异议或者建议的也请移步issue讨论,**除了选做内容无需修改助教代码**。 diff --git a/doc/SysYF语言定义.pdf b/doc/SysYF语言定义.pdf new file mode 100755 index 0000000000000000000000000000000000000000..3b50c123ef2b37274917df7446f366a5db7900d7 GIT binary patch literal 873077 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 F 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∾w&sa>A&o~m5MY@i@7c!OAv#f^_! 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

l0lj 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

8StwI&1V{rJg$fplkf^P*3RvC6=6RBCWie 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