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.