Tesi Robotica V+ Sim: Interprete Command Language e... | Page 63

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