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

L'approccio ad un linguaggio interpretato si distingue da quello di un linguaggio compilato: a differenza di un interprete, un compilatore non esegue il programma che riceve in ingresso, ma lo traduce in linguaggio macchina. L'approccio interpretato comporta una minore efficienza a run-time; un programma interpretato, in esecuzione, richiede più memoria ed è meno veloce, a causa dello overhead introdotto dall'interprete stesso. Durante l'esecuzione, l'interprete deve infatti analizzare le istruzioni a partire dal livello sintattico, identificare le azioni da eseguire(eventualmente trasformando i nomi simbolici delle variabili coinvolte nei corrispondenti indirizzi di memoria), ed eseguirle; mentre le istruzioni del codice compilato, vengono caricate e istantaneamente eseguite dal processore. In compenso, l'interpretazione di un programma può essere più rapida del ciclo compilazione/esecuzione. Questa differenza può costituire un vantaggio durante lo sviluppo o durante il debugging. Inoltre, la maggior parte degli interpreti consentono all'utente di agire sul programma in esecuzione sospendendolo, ispezionando o modificando i contenuti delle sue variabili, in modo spesso più flessibile e potente di quanto si possa ottenere, da un debbugger. Il nostro linguaggio interpretato per il V+ ha un set ridotto di istruzioni, vale a dire: ● Break: esegue un interruzione immediata ● Close: causa la chiusura della mano nella prossima esecuzione del robot ● Closei: causa un interruzione immediata come Break e chiude immediatamente la mano dopo l'esecuzione corrente del robot. ● Delay: ferma il movimento del robot per un certo intervallo ● Here: setta il valore di una transformation o precision-point di una 59