Sto lavorando su un linguaggio giocattolo.
Fino ad ora, sono stati compilati più file unendo gli AST di ciascun file e quindi eseguendo l'analisi semantica e la fase di generazione del codice sull'AST unito.
Ora mi piacerebbe implementare build incrementali. La mia lingua non ha file di intestazione. Pertanto, ho bisogno di mantenere la tabella dei simboli tra i diversi file di compilazione. Un modo sarebbe quello di creare un database SQLite che tiene traccia di tutti i simboli. Quando un file cambia, posso semplicemente aggiornare il database.
La mia domanda è:
Questa è una buona idea? Che cos'è lo "stato dell'arte" per la compilazione in modo incrementale in una lingua senza file di intestazione?