trasformare le tabelle di parser in classi utilizzabili all'interno del linguaggio di
programmazione. Tale classe farà in modo di collegare le tabelle di parser al
linguaggio scelto in modo da prendere informazioni dal parser sul codice
interpretato e produrre codice appropriato in base alle informazioni.
Fase 3: Attuazione della grammatica e specifiche di parser
La maggior parte dei modelli di linguaggio, includono un qualche tipo di
funzione in cui viene passata una stringa o un file che deve essere analizzato. Per
prima cosa viene caricato il file .CGT che contiene le tabelle del parser, poi in un
ciclo, il parser analizza l'input e restituisce quando accade qualcosa di
significativo. Quando viene analizzato un token viene visitata tutta la lista delle
istruzioni terminali e non-terminali per vedere se tale token è presente oppure
no. Se non è presente, viene generato un errore ed il ciclo si interrompe. Se
durante il controllo dei token non vi è stato errore, allora avremo in memoria
(con opportune tecniche di indicizzazione) le istruzioni da eseguire e i valori
delle variabili. Attraverso il nostro linguaggio target possiamo ora eseguire le
istruzioni che a questo punto sono state interpretate dal parser e tradotte nel
nostro linguaggio.
4.3 Scelta del linguaggio target C#
C# è un linguaggio orientato a oggetti elegante e indipendente dai tipi che
consente agli sviluppatori di creare un'ampia gamma di applicazioni protette e
affidabili eseguibili sulla piattaforma .NET Framework. É possibile utilizzare C#
per creare applicazioni client Windows tradizionali, servizi Web XML,
componenti distribuiti, applicazioni client-server, applicazioni di database e
molto altro.
62