团队工作记录

学习过程

各成员通过查看文档、示例和使用谷歌搜索等方式,学习LLVM IR、和使用c++生成IR的方式。尤其是全局变量处理、数组处理(GEP)等较为复杂的内容。采取problem-oriented的方式,遇到问题的时候即时讨论并解决。

讨论1

时间:[Deleted]

地点:[Deleted]

参与者:所有成员

主题:互相熟悉,了解项目任务

过程描述

  1. 相互介绍认识。
  2. 一起研读了本次实验的要求。
  3. 大致制定了如何开展实验的计划。

结论

  1. 对本实验需要完成什么工作有了整体认识。
  2. 初步确定的实验开展计划为:各自先学习,并尝试写syntax_program。等各自都明白该如何写之后再进行讨论并具体分配工作。

讨论2

时间:[Deleted]

地点:[Deleted]

参与者:所有成员

主题:交流问题,探讨解决方案,明确任务计划

过程描述

  1. 交流了已经完成的工作,并各自给其他组员介绍自己这部分工作是如何完成的。
  2. 交流了遇到的问题和解决方案。
  3. 因为组内成员进度不一致,重新制定了任务分配计划。

结论

  1. 遇到的问题:if语句生成的IR中有一个end block,当if执行完后跳转到这个block,但可能在if内return,执行完后没有语句了,导致end block为空。
  2. 重新制定任务计划为:各自在QQ群里认领任务,完成任务快的成员可以先开始下一步工作,并在群里做出声明,避免出现多人做重复工作的事情。

讨论3

时间:[Deleted]

地点:[Deleted]

参与者:所有成员

主题:交流问题,探讨解决方案

过程描述

  1. 交流已经完成的工作,并各自给其他组员介绍自己这部分工作是如何完成的。
  2. 交流遇到的问题和解决方案,主要是全局变量的处理,讨论每个全局变量是否的确需要,能否有删减的方式。

结论

对各个全局变量的使用有了更清晰的认识。

讨论4

时间:[Deleted]

地点:[Deleted]

参与者:所有成员

主题:交流问题,探讨解决方案

过程描述

  1. 交流已经完成的工作,并各自给其他组员介绍自己这部分工作是如何完成的。
  2. 交流遇到的问题和解决方案,主要是数组的处理(尤其是作为全局变量的数组、数组的传参等)。
  3. 进一步明确分配未完成的工作。

结论

  1. 对剩下的工作如文档的编写、测试程序的编写等做了分配。
  2. 对是否需要完成一些额外的功能如错误提示、自动化测试等有了统一的认知。