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