wqz
|
2f438dab62
|
改进非运算在条件语句中的处理
|
3 years ago |
wqz
|
a20e52b95c
|
预定义了getint,putint两个库函数,可以与运行时库链接
|
3 years ago |
wqz
|
53dcd83a00
|
add functional test cases
|
3 years ago |
wqz
|
1568042d62
|
实现简单的寄存器模型,每个store指令后立即释放所有寄存器
|
3 years ago |
wqz
|
a29545ea64
|
load,store指令中增加对全局变量的处理
|
3 years ago |
wqz
|
66bb92bfb0
|
优化二元运算add,sub,mul
|
3 years ago |
wqz
|
fcc8d47c1f
|
增加对一元表达式neg的汇编代码生成
|
3 years ago |
wqz
|
68b0c15b56
|
1.处理条件中的非语句;
2.调整IR中if,while语句块顺序,使exit块始终在最后出现
|
3 years ago |
wqz
|
90e9e0e7fb
|
【仓库更新】增加对if,while语句的翻译
|
3 years ago |
wqz
|
2265912985
|
补充README后端部分
|
3 years ago |
wqz
|
c6e8ff282e
|
基本实现后端,生成的汇编代码可以得到能正确执行的程序。
|
3 years ago |
wqz
|
5ef648e9fa
|
实现return指令
|
3 years ago |
wqz
|
2c4c343555
|
计算出函数栈需要开辟的空间大小;形式参数入栈
|
3 years ago |
wqz
|
d33a9852c5
|
补全binaryInst,实现了二元运算
|
3 years ago |
wqz
|
a59cf64607
|
1.增加了为形式参数生成load指令的功能;2.将函数形式参数类型改为指针
|
3 years ago |
wqz
|
40d1a079f4
|
修正Argument类的classof函数的错误
|
3 years ago |
wqz
|
946538ed23
|
补全load,store,call指令,基本实现函数调用。
但是寄存器分配还有问题。
|
3 years ago |
wqz
|
c893a666d2
|
alloca指令和store指令,实现了大概
|
3 years ago |
wqz
|
69e443ae9e
|
增加对函数头部和尾部的处理
|
3 years ago |
Langyiqun
|
700f3900d1
|
Add const
|
3 years ago |
Langyiqun
|
1c7a0d0c43
|
Add new test file
|
3 years ago |
wqz
|
601c2e8264
|
globalvalue汇编代码生成,但是还不完整
|
3 years ago |
wqz
|
faf16ff4bd
|
生成汇编代码,初始版本
|
3 years ago |
wqz
|
22fd5c5bb8
|
定义了两个空函数getint,putint,但不打印其定义
|
3 years ago |
wqz
|
d2e2830f06
|
增加了全局变量的定义
|
3 years ago |
wqz
|
a8e11e8e97
|
Merge branch 'ref2' of https://gitee.com/qzWang2002/sysy into ref2
|
3 years ago |
wqz
|
c0c1d309bf
|
增加了对十六进制,八进制整数的识别
|
3 years ago |
wqz
|
d30216e7c8
|
删除文件 build/CMakeCache.txt
|
3 years ago |
wqz
|
962ad42265
|
CMakeLists
|
3 years ago |
wqz
|
a66f28673b
|
1
|
3 years ago |
wqz
|
f290ce51b7
|
增加了多重括号的处理
|
3 years ago |
wqz
|
0f925bf780
|
add and&or exp
|
3 years ago |
wqz
|
6b59d53d19
|
deal with continue&break stmt in whilestmt
|
3 years ago |
wqz
|
caba50a6a1
|
add tesing cases
|
3 years ago |
wqz
|
56aebe62a7
|
add 10 testing cases
|
3 years ago |
wqz
|
f8e1b51d91
|
condition exp in whilestmt
|
3 years ago |
wqz
|
8c8ec49298
|
add compare,unary,equal exp
|
3 years ago |
wqz
|
66d330d4ed
|
modify if-else test case
|
3 years ago |
wqz
|
61c3b90cf5
|
make
|
3 years ago |
wqz
|
36153f9785
|
if-else testing case
|
3 years ago |
wqz
|
c7a5b8df15
|
增加if-else ,while测试程序
|
3 years ago |
wqz
|
e629699500
|
cond语句的处理
|
3 years ago |
wqz
|
bc96c34675
|
if,while语句
|
3 years ago |
Xing Su
|
7cacb8baa6
|
Print functions and globals in module in the original order
|
3 years ago |
Xing Su
|
8208469b13
|
Support function call and IR printing.
|
3 years ago |
Su Xing
|
4795a4d813
|
Temporal commit
|
3 years ago |
Su Xing
|
9f5ea0d3ca
|
Partial support for function call IR genenration
|
3 years ago |
Su Xing
|
1f0928a443
|
Add diagnostic support forgotten in last commit
|
3 years ago |
Su Xing
|
308bcac3fa
|
Partial implementation of IR generator.
Now can generate a single block function within +/-/*// and return.
|
3 years ago |
Su Xing
|
5a9538c0ec
|
Refine IR
|
3 years ago |