frame finished but bad_any_cast

This commit is contained in:
Downright
2025-03-24 19:06:49 +08:00
parent a36f73c8a2
commit 7f364abffb
4 changed files with 759 additions and 117 deletions

View File

@@ -29,7 +29,8 @@ sudo apt install -y uuid-dev libutfcpp-dev pkg-config make git cmake openjdk-11-
git clone https://gitee.com/xsu1989/sysy.git
cd sysy
cmake -S . -B build
cmake --build build
cmake --build build --target all -- -j $(nproc)
cmake --build build --target all -- -j $(nproc) -DCMAKE_BUILD_TYPE=Debug
```
构建完成后,可以运行一个小的测试用例。该测试将逗号分隔的整数或字符串列表进行格式化后重新输出,即将相邻参数之间的分隔统一调整为逗号外加一个空格。
@@ -81,7 +82,7 @@ cmake_install.cmake SysYBaseVisitor.h SysYLexer.cpp SysYLexer.interp SysYP
完成格式化器进阶内容后,可以通过执行`sysyc`观察格式化器的执行效果。
```bash
./build/sysyc -f test/format-test.sy
./build/bin/sysyc -f test/format-test.sy
```
## 实验2从AST生成中间表示
@@ -100,7 +101,7 @@ cmake_install.cmake SysYBaseVisitor.h SysYLexer.cpp SysYLexer.interp SysYP
完成实验2后可以通过执行`sysyc`观察生成的IR。
```bash
./build/sysyc -s ir 01_add.sy
./build/bin/sysyc -s ir test/01_add.sy
```
请同学们仔细阅读代码学习IR的定义。可以使用doxygen工具自动生成HTML文档