Menu
首页 / Index
留言 / Comments
归档 / Archive
标签 / Tags
捐赠 / Donate
简历 / Resume
GitHub
Bilibili
Zhihu
Google Scholar
Vjudge
jekyll-theme-WuK
万丈高楼平地起
SYsU-lang 实验一、二总结+常见问题指导(不定期更新)
教师:张献伟
助教:吴坎
wukan3[at]mail2.sysu.edu.cn
实验一:
词法分析器实验
预期耗时 2 小时 ~ 6 小时,代码 300 行
共收到 62 份提交
53 位同学得分为 100 分
58 位同学得分为 95 分以上
所有学号
19
开头的同学得分都在 90 分以上
实验二:
语法分析器实验
预期耗时 24 小时 ~ 72 小时,代码 1000 行
难度阶梯上升、代码量线性增加,导致需要的时长平方增加?
目前为止共收到 48 份提交
未提交的同学中有 6 位学号
19
开头
是否在实验上分配了足够的时间?
可以寻求助教帮助!
预期 40 位以上的同学可以拿到满分
关于给分原则
助教给分原则是「通过式」,不强行符合正态分布
主要扣分原因:迟交;提交格式
实验报告不计入得分
约三分之一的同学仍然写了详细的实验心得与反馈
非常鼓励,每一份报告都被认真看过
不计入得分的感想与反馈更有参考价值!
关于程序报错
不存在万能解决方案
但是一定存在找到解决方案的方法
也是助教面对同学提问的「通用回答」
找不到可执行文件/头文件/库文件
PATH
、
CPATH
、
LIBRARY_PATH
、
LD_LIBRARY_PATH
这四个环境变量是在做什么?
对应的环境变量正确吗?
对应的环境变量中可以找到对应的文件吗?
是否按
README.md
中的指令执行?
是否改了测试脚本/测试数据?
段错误/执行结果错误
代码写的有问题
废话,但不完全是废话
「我肉眼看我的输出和参考输出差不多,为什么过不了测试?」
机器错了,你没有错?
助教在对同学代码了解更少的情况下解决了大部分提问
「噢,原来是这里看错了/写错了」
大概是经验问题
也是这个实验希望带给大家的收获
关于实验难度(总要写一个编译器吧?
虽然隔壁两个班确实不写
)
横向对比
THU
、
PKU
实验
生成 RISC-V 汇编,需要学习 RISC-V 后端知识并掌握寄存器分配算法
横向对比
USTC
、
BUAA
、
NKU
生成 LLVM IR,但不使用 LLVM 库开发
总代码量已经小了很多,如果有代码更少的方案欢迎
、
实验设计与难度不是证明助教能力的舞台
最难的地方:没有往届作业参考,没有博客抄
解决「卡脖子」问题,需要什么样的人才?
不会 -> 多提问
不然助教也没有办法帮到你
目前关于实验三的提问仍然偏少
少数提问的同学中有进度靠前的
关于提问
帮助同学是助教的职责
会平等对待任何同学提出的任何问题
不会「傲慢」,并接受任何关于态度的批评
/私戳皆可
助教更希望前者,有解决过类似问题的同学也可以回答,同时也能帮助以后的同学
提问的智慧
助教不会像上文一样「傲慢」
但学会提问仍然对日后工作、科研、人际交往很有帮助
RTFM(读文档)、STFW(善用搜索引擎)可以解决大部分问题
希望大家的提问慢慢变多…然后慢慢变少!
仍然担心不会提问,此处提供一个模板
我的编译器在输入为 XXX 的时候出现了 YYY 问题 (附完整的报错信息或截图).
我尝试 AAA, 发现 BBB, 我认为这代表 CCC.
标准输出是 DDD, 和我的相比 EEE, 我认为这代表 FFF.
综上所述, 我觉得问题可能出在 GGG, 但之后我就没思路了, 请问我的分析是否正确?
导致问题的具体原因是什么呢?
万丈高楼平地起
加油 💪!