Este documento dá-te orientações para implementar um analisador.
Geral
- Analisa todos os ficheiros submetidos, exceto os ficheiros tests/invalidator/editor/example/exemplar
- Não ambiciones 100% de correção, algo que será praticamente impossível de atingir.
Não há problema se o analisador não encontrar todos os problemas ou não conseguir inferir certas etiquetas.
Compilação
Se a tua linguagem exigir um passo de compilação, tem em conta estes pontos:
- Compilar a solução permite normalmente uma fidelidade maior.
Por exemplo, o tipo definitivo de qualquer valor só é conhecido depois da compilação.
Tem, no entanto, atenção aos compromissos envolvidos (por exemplo, execução mais lenta e maior consumo de memória).
- Considera a compilação em memória (se possível), para melhorar o desempenho.
Testes
- Tem um conjunto de testes extenso
- Usa testes de referência para verificar o comportamento do analisador.
Estes testes devem usar a imagem Docker que será publicada para verificar o analisador.
- Considera ter testes para cada abordagem.
Queres que o analisador funcione bem com estas soluções, e isso ajudará a atribuir etiquetas às abordagens mais tarde.