本项目是ZJU编译原理的大作业,内容是实现一个Simple Pascal语言的编译器
- llvm 11.0.0
- flex 2.6.
- bison 3.7.4
Linux 环境下安装:
sudo apt-get install llvm
sudo apt-get install flex bison
MacOS 环境下安装:
brew install llvm
brew install flex bison
- MacOS
- Linux
在Toy_compiler
根目录下执行以下命令:
mkdir build
cd build
cmake ..
make
此时会生成可执行文件toy_compiler
。在Toy_Compiler
根目录中的toy_compiler
是已经生成好的可执行文件。
运行命令为echo filename.spl | toy_compiler 2> spl.ll
,此时文件名为filename.spl
的文件将被编译生成llvm中间代码并保存在spl.ll
文件中。
以运行Toy_compiler/build/toy_compiler
为例,输入命令为:
cd build
echo ../tests/Array.spl | ./toy_compiler 2> spl.ll
lli spl.ll
llc --march=mips spl.ll
输出结果保存在spl.s
文件中。
- 在VS Code中安装Live Server插件
- VS Code中打开项目文件夹
- VS Code右下角点击
Go Live
- 在自动加载的浏览器网页中打开
tree.html