Compiler

Autore: Peter Berry
Data Della Creazione: 12 Agosto 2021
Data Di Aggiornamento: 22 Giugno 2024
Anonim
Parser and Lexer — How to Create a Compiler part 1/5 — Converting text into an Abstract Syntax Tree
Video: Parser and Lexer — How to Create a Compiler part 1/5 — Converting text into an Abstract Syntax Tree

Contenuto

Definizione - Cosa significa compilatore?

Un compilatore è un programma software che trasforma il codice sorgente di alto livello scritto da uno sviluppatore in un linguaggio di programmazione di alto livello in un codice oggetto di basso livello (codice binario) in linguaggio macchina, che può essere compreso dal processore. Il processo di conversione della programmazione di alto livello in linguaggio macchina è noto come compilazione.


Il processore esegue il codice oggetto, che indica quando sono richiesti segnali binari alto e basso nell'unità logica aritmetica del processore.

Un'introduzione a Microsoft Azure e Microsoft Cloud | In questa guida imparerai cos'è il cloud computing e in che modo Microsoft Azure può aiutarti a migrare e gestire la tua azienda dal cloud.

Techopedia spiega Compiler

Un compilatore che converte il linguaggio macchina in linguaggio naturale di alto livello è chiamato decompilatore. I compilatori che producono il codice oggetto da eseguire su un sistema sono chiamati cross-compilatori. Infine, un compilatore che converte un linguaggio di programmazione in un altro si chiama traduttore di lingua.

Un compilatore esegue quattro passaggi principali:

  • lettura: Lo scanner legge un carattere alla volta dal codice sorgente e tiene traccia di quale carattere è presente in quale riga.
  • Analisi lessicale: Il compilatore converte la sequenza di caratteri che compaiono nel codice sorgente in una serie di stringhe di caratteri (noti come token), che sono associati a una regola specifica da un programma chiamato analizzatore lessicale. Una tabella di simboli viene utilizzata dall'analizzatore lessicale per memorizzare le parole nel codice sorgente che corrispondono al token generato.
  • Analisi sintattica: In questo passaggio, viene eseguita l'analisi della sintassi, che prevede la preelaborazione per determinare se i token creati durante l'analisi lessicale sono nell'ordine corretto in base al loro utilizzo. L'ordine corretto di un insieme di parole chiave, che può produrre un risultato desiderato, è chiamato sintassi. Il compilatore deve controllare il codice sorgente per garantire l'accuratezza sintattica.
  • Analisi semantica: Questo passaggio comprende diversi passaggi intermedi. Innanzitutto, viene verificata la struttura dei token, insieme al loro ordine rispetto alla grammatica in una determinata lingua. Il significato della struttura token viene interpretato dal parser e dall'analizzatore per generare infine un codice intermedio, chiamato codice oggetto. Il codice oggetto include istruzioni che rappresentano l'azione del processore per un token corrispondente quando rilevato nel programma. Infine, l'intero codice viene analizzato e interpretato per verificare se sono possibili ottimizzazioni. Una volta eseguite le ottimizzazioni, i token modificati appropriati vengono inseriti nel codice oggetto per generare il codice oggetto finale, che viene salvato all'interno di un file.