Orientações


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.