指南
本文档为编写分析器提供指导。
通用准则
- 分析_所有_提交的文件,tests/invalidator/editor/example/exemplar 文件除外
- 不要以 100% 正确为目标,那几乎不可能做到。分析器找不到所有问题,或者无法推断出某些标签,都是正常的。
编译
如果你的语言需要编译步骤,请考虑以下几点:
- 编译解答通常能带来更高的精确度。例如,任何值的确定类型只有_编译之后_才能知道。但也要注意其中的权衡(例如运行更慢、内存占用更多)。
- 如果可能,考虑使用内存中编译来提升性能。
测试
- 建立完善的测试套件
- 使用黄金测试来验证分析器的行为。这些测试应使用将要部署的 Docker 镜像,以便验证分析器。
- 考虑为每种解法都准备测试。你希望分析器能很好地处理这些解答,这也有助于后续为各种解法分配标签。