From 468ff3226a90838393707c3ae80619fbe87be372 Mon Sep 17 00:00:00 2001 From: tinysnail Date: Sat, 13 Nov 2021 14:23:29 +0800 Subject: [PATCH] doc structure & README update --- README.md | 28 ++++++++++-------- .../SysYF语言定义.pdf | Bin contribution.md => report/contribution.md | 0 report.md => report/report.md | 0 4 files changed, 15 insertions(+), 13 deletions(-) rename SysYF语言定义.pdf => doc/SysYF语言定义.pdf (100%) rename contribution.md => report/contribution.md (100%) rename report.md => report/report.md (100%) diff --git a/README.md b/README.md index 3889d3f..aae4b33 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,7 @@ - [1.2 提交要求和评分标准](#12-提交要求和评分标准) ## 0. 前言 -本次实验分为3关,前2关是个人实验,第3关为组队实验。**本次实验请务必使用git提交**。 +本次实验分为3关,为组队实验。**本次实验请务必使用git提交**。 本次实验的目的是让大家熟悉生成中间代码所需要的相关知识: LLVM IR、 SysY IR(LLVM IR的轻量级C++接口),并实际实现一个IR Builder。 在开始实验之前,请确保LLVM的版本不低于10.0.1,且PATH环境变量配置正确。可以通过`lli --version`命令是否可以输出10.0.1的版本信息来验证。 @@ -17,7 +17,7 @@ 1. 第一部分: 了解LLVM IR。通过clang生成的.ll,了解LLVM IR与c代码的对应关系。相应文档见[phase1.md](./doc/phase1.md) 2. 第二部分: 了解SysY IR。通过助教提供的c++例子,了解SysY IR的c++接口及实现。相应文档见[phase2.md](./doc/phase2.md) 3. 第三部分: 使用SysY IR,实现一个IR Builder,使其可以通过抽象语法树生成LLVM兼容的IR代码。相应文档见[phase3.md](./doc/phase3.md) -4. 实验报告:在[report.md](./report.md)中撰写报告。 +4. 实验报告:在[report.md](./report/report.md)中撰写报告。 ## 1. 实验要求 @@ -27,14 +27,16 @@ . ├── CMakeLists.txt ├── README.md <- PW6实验文档说明(你在这里) -├── contribution.md <- PW6所需提交的组员贡献(队长提交即可) -├── report.md <- PW6所需提交的实验报告 ├── doc │   ├── AST.md -│   ├── phase1.md +│   ├── phase1.md <- 各阶段文档 │   ├── phase2.md │   ├── phase3.md +│   ├── SysYF语言定义.pdf | └── SysYIR.md <- SysY IR 相关文档 +├── report +│   ├── report.md <- PW6所需提交的实验报告 +│   └── contribution.md <- PW6所需提交的组员贡献(队长负责填写) ├── include <- 实验所需的头文件 │   ├── ... │   └── SysYIR @@ -88,29 +90,29 @@ * 需要完成 `./SysYF_Student/SysYF_Task1/student_ll`目录下的4个文件 * 需要完成 `./SysYF_Student/SysYF_Task2/student_cpp`目录下的4个文件 * 需要完成 `./src/SysYBuilder/SysYBuilder.cpp` - * 需要在 `./report.md` 中撰写实验报告 + * 需要在 `./report/report.md` 中撰写实验报告 * 实验报告内容包括: * 实验要求、问题回答、实验设计、实验难点及解决方案、实验总结、实验反馈、组间交流(具体参考[report.md](./report.md)) * 本次实验报告**参与**评分标准. * 提交规范: - * 不破坏目录结构(`report.md`如果需要放图片,请放在`./report_figs/`下) + * 不破坏目录结构(`report.md`如果需要放图片,请新建`figs`文件夹放在`./report`下) * 不上传临时文件(凡是自动生成的文件和临时文件请不要上传) * **组队实验要求** - * 由队长在 `contribution.md` 中解释每位队员的贡献,并说明贡献比例 - * 组队实验意味着合作,但是小组间的交流是受限的,且**严格禁止**代码的共享。除此之外,如果小组和其它组进行了交流,必须在 `report.md` 中记录交流的小组和你们之间交流内容 -* 评分标准: 本次实验分为3部分, 请注意前两部分为个人实验, 第三部分为组队实验, 个人实验需要各自完成, 组队实验的代码和报告我们只检查组长的仓库 + * 由队长在 `./report/contribution.md` 中解释每位队员的贡献,并说明贡献比例 + * 组队实验意味着合作,但是小组间的交流是受限的,且**严格禁止**代码的共享。除此之外,如果小组和其它组进行了交流,必须在 `./report/report.md` 中记录交流的小组和你们之间交流内容 +* 评分标准: 本次实验分为3部分, 为组队实验, 请合理安排分工, 我们会根据组长填写的贡献比进行分数分配,如果对贡献比有异议的组员可根据git的提交记录申请仲裁,建议利用好`git branch` * **禁止执行恶意代码,违者本次实验0分处理** * 第一部分10分: `.ll`运行结果正确(1个2分, 注释共2分) * 第二部分20分: `.cpp`运行结果正确(1个5分) * 第三部分70分: 该部分成绩由5部分组成(团队代码得分, 实验报告得分, 迟交天数, 组员贡献比, 组长奖励加分) * 实验检查 - * 线上: 助教会在educoder上检查前两部分, 该部分是每个人需要独自完成的 - * 线下: 线下检查只检查第三部分, 组长带组员到负责组长的助教处检查 + * 线上: 助教会在educoder上检查前两部分 + * 线下: 线下检查只检查第三部分, 组长带组员到负责组长的助教处检查, 选做部分请找本次实验负责助教检查 * 迟交规定 * 迟交需要邮件通知助教: * 邮箱: huangzq@mail.ustc.edu.cn * 邮件主题: PW6迟交-学号 - * 内容: 包括迟交原因、最后版本commitID、迟交时间等 + * 内容: 包括迟交原因、最后版本commit ID、迟交时间等 * 关于抄袭和雷同 经过助教和老师判定属于作业抄袭或雷同情况,所有参与方一律零分,不接受任何解释和反驳。 如有任何问题,欢迎提issue进行批判指正。 diff --git a/SysYF语言定义.pdf b/doc/SysYF语言定义.pdf similarity index 100% rename from SysYF语言定义.pdf rename to doc/SysYF语言定义.pdf diff --git a/contribution.md b/report/contribution.md similarity index 100% rename from contribution.md rename to report/contribution.md diff --git a/report.md b/report/report.md similarity index 100% rename from report.md rename to report/report.md