团队工作记录
学习过程
各成员通过查看文档、示例和使用谷歌搜索等方式,学习LLVM IR、和使用c++生成IR的方式。尤其是全局变量处理、数组处理(GEP)等较为复杂的内容。采取problem-oriented的方式,遇到问题的时候即时讨论并解决。
讨论1
时间:[Deleted]
地点:[Deleted]
参与者:所有成员
主题:互相熟悉,了解项目任务
过程描述
- 相互介绍认识。
- 一起研读了本次实验的要求。
- 大致制定了如何开展实验的计划。
结论
- 对本实验需要完成什么工作有了整体认识。
- 初步确定的实验开展计划为:各自先学习,并尝试写syntax_program。等各自都明白该如何写之后再进行讨论并具体分配工作。
讨论2
时间:[Deleted]
地点:[Deleted]
参与者:所有成员
主题:交流问题,探讨解决方案,明确任务计划
过程描述
- 交流了已经完成的工作,并各自给其他组员介绍自己这部分工作是如何完成的。
- 交流了遇到的问题和解决方案。
- 因为组内成员进度不一致,重新制定了任务分配计划。
结论
- 遇到的问题:if语句生成的IR中有一个end block,当if执行完后跳转到这个block,但可能在if内return,执行完后没有语句了,导致end block为空。
- 重新制定任务计划为:各自在QQ群里认领任务,完成任务快的成员可以先开始下一步工作,并在群里做出声明,避免出现多人做重复工作的事情。
讨论3
时间:[Deleted]
地点:[Deleted]
参与者:所有成员
主题:交流问题,探讨解决方案
过程描述
- 交流已经完成的工作,并各自给其他组员介绍自己这部分工作是如何完成的。
- 交流遇到的问题和解决方案,主要是全局变量的处理,讨论每个全局变量是否的确需要,能否有删减的方式。
结论
对各个全局变量的使用有了更清晰的认识。
讨论4
时间:[Deleted]
地点:[Deleted]
参与者:所有成员
主题:交流问题,探讨解决方案
过程描述
- 交流已经完成的工作,并各自给其他组员介绍自己这部分工作是如何完成的。
- 交流遇到的问题和解决方案,主要是数组的处理(尤其是作为全局变量的数组、数组的传参等)。
- 进一步明确分配未完成的工作。
结论
- 对剩下的工作如文档的编写、测试程序的编写等做了分配。
- 对是否需要完成一些额外的功能如错误提示、自动化测试等有了统一的认知。