指南


本文档为编写分析器提供指导。

通用准则

  • 分析_所有_提交的文件,tests/invalidator/editor/example/exemplar 文件除外
  • 不要以 100% 正确为目标,那几乎不可能做到。分析器找不到所有问题,或者无法推断出某些标签,都是正常的。

编译

如果你的语言需要编译步骤,请考虑以下几点:

  • 编译解答通常能带来更高的精确度。例如,任何值的确定类型只有_编译之后_才能知道。但也要注意其中的权衡(例如运行更慢、内存占用更多)。
  • 如果可能,考虑使用内存中编译来提升性能。

测试

  • 建立完善的测试套件
  • 使用黄金测试来验证分析器的行为。这些测试应使用将要部署的 Docker 镜像,以便验证分析器。
  • 考虑为每种解法都准备测试。你希望分析器能很好地处理这些解答,这也有助于后续为各种解法分配标签。