Visto come box unico un compilatore traduce il programma sorgente in programma target, ma al suo interno si possono distinguere due famiglie di passaggi diversi: analisi e sintesi.
L'analisi spezza il programma sorgente (sequenza finita di caratteri) in sottosequenze, o stringhe, e costruisce una grammatica adeguata. Questa struttura e' la rappresentazione che passa alla parte di sintesi insieme alle informazioni sui token che memorizza nella struttura dati symbol table.
Se il programma sorgente non e' sintatticamente corretto la parte di analisi informa l'utente.
La sintesi costruisce il programma target dalla rappresentazione intermedia e dalla symbol table.
La parte di analisi viene spesso chiamata "front end" del compilatore, la parte di sintesi "back end".
A differenza dei compilatori gli interpreti non producono rappresentazioni intermedie, ma eseguono direttamente le istruzioni del programma sorgente, quindi eseguendo statement per statement tutto il codice sorgente sono piu' scrupolosi nella gestione degli errori, ma il codice eseguibile, o programma target, che produce un compilatore e' piu' veloce.
Iscriviti a:
Commenti sul post (Atom)
How to deploy Podman images to OpenShift Container Platform (CRC on localhost)
I have a microservice on localhost and I want to deploy its Podman image on OCP, which I am running using CRC on localhost. 1. Get the...
-
Precondizione: La precondizione di un metodo e' una condizione che deve essere verificata prima che quel metodo sia invocato. Le preco...
-
My intent is to configure SSO on Keycloak and Liferay. I have createad a docker-compose environment with Keycloak: #####################...
Nessun commento:
Posta un commento