Linee guida


Questo documento fornisce una guida per implementare un analizzatore.

Generale

  • Analizza tutti i file inviati, tranne i file tests/invalidator/editor/example/exemplar
  • Non puntare alla correttezza al 100%: sarà quasi impossibile da raggiungere. Va bene se l'analizzatore non riesce a trovare tutti i problemi o non è in grado di dedurre alcuni tag.

Compilazione

Se il tuo linguaggio richiede una fase di compilazione, considera questi punti:

  • Compilare la soluzione di solito permette una maggiore fedeltà. Per esempio, il tipo definitivo di un valore si conosce solo dopo la compilazione. Tieni però presente i compromessi (ad es. esecuzione più lenta e maggiore uso di memoria).
  • Considera la compilazione in memoria (se possibile), per migliorare le prestazioni.

Test

  • Prevedi una suite di test estesa
  • Usa i golden test per verificare il comportamento dell'analizzatore. Questi test dovrebbero usare l'immagine Docker che sarà rilasciata per verificare l'analizzatore.
  • Considera di avere test per ogni approccio. Vuoi che l'analizzatore funzioni bene con queste soluzioni, e aiuterà ad assegnare i tag agli approcci in seguito.