-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathChangelog.txt
48 lines (39 loc) · 2 KB
/
Changelog.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
exp6
20211126
1。对SysYFIR.md做了一定修改,包括写错的地方、说得不够清楚的地方、内容要点顺序不一致的地方。SysYFIR.md中出现了cminus,似乎是从隔壁班抄来的?
2。task1的ll文件编写
3。填写task1的思考题
20211127
1。修复原本给出的demo中的错误(ConstantFloat写错了)
2。完成task2
3。完成task3的表达式相关部分
4。对SysYFIR.md中的getelementptr做出更多解释,为实现多维数组做准备
20211128
1。修复左值问题
2。修复task2,左值错误,分支跳转错误,以及未输出结果的问题
3。完成task3的控制流与条件表达式相关部分
4。完成所有思考题
20211130
1。完成task3的声明部分
2。修复全局变量初始化问题,采用C++实现,先全部初始化为0再计算和store
3。类型转换和store分别单独创建了一个函数
4。实现简单字面量计算
5。修复return的值如果是字面值的类型转换
6。修复初始化函数忘记return
7。实现单目逻辑表达式
8。完善控制流部分,逻辑表达式中的类型转换,左值转右值。实现短路计算
9。目前20个测试样例全部通过
10。修复之前pull request对于BlockStmt跳过编译的bug,如while(1){if(1)break; int a=1;},错误地把break后面的跳过了
11。修复同一函数内跳转标签同名问题
12。修复函数没有return语句时未创建ret指令的问题
20211201
1。修复全局字面值查找的作用域顺序问题
2。修复测试脚本去除行尾\r,\n字符的问题
3。删除UnaryCondExpr中多余的语句,单独的LVal直接归约成AddExpr再归约成Expr,不会经过UnaryCondExpr
4。修复if,while的条件表达式的转型,多个与或逻辑表达式的短路计算等问题
5。修复函数嵌套语句块中有return语句的问题
6。修复之前pull request中的语法错误和笔误(fcmp写成了icmp)
7。实现指针参数传递
8。去除多余的符号表,把字面值也存入scope的符号表中
20211204
1。完成report.md