Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Compiler

安装Docker

docker pull maxxing/compiler-dev

整体的架构

sysy.lalrpop 放着词法分析的.

运行的命令行:

cargo run -- -koopa hello.c -o hello.koopa

现在加入gitlab.

autotest -koopa -s lv3 /root/compiler

如果放的是%n, 实际上是一个Value, 否则可以在dfg中找到.

docker run -it --rm -v D:\HuaweiMoveData\Users\平面向皮卡丘\Desktop\compilers\compiler:/root/compiler maxxing/compiler-dev autotest -riscv -s lv6 /root/compiler
docker run -it --rm -v D:\HuaweiMoveData\Users\平面向皮卡丘\Desktop\compilers\compiler:/root/compiler maxxing/compiler-dev autotest -koopa -s lv7 /root/compiler

Dangling-else 的解决方法

Stmt ::= if Exp Stmt [else Stmt] | ...

转化为

Stmt ::= OpenStmt | ClosedStmt
ClosedStmt ::= if Exp ClosedStmt else ClosedStmt | BasicStmt
OpenStmt ::= if Exp Stmt | if Exp ClosedStmt else OpenStmt
BasicStmt ::= Resturn | Assgn | Exp | Block

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages