Compilers/it

From Free Pascal wiki
Jump to: navigation, search

Deutsch (de) English (en) español (es) français (fr) italiano (it) 日本語 (ja) 한국어 (ko) русский (ru) 中文(中国大陆)‎ (zh_CN)

 ◄   ▲   ► 

Compilatori Pascal (author: Tao Yue, state: changed)

Questo documento esporrà i concetti fondamentali circa i compilatori, fornendo allo stesso tempo collegamenti a diffusi compilatori per Pascal, spiegando come installare Free Pascal.

Su linguaggi di programmazione e compilatori

Trattando di linguaggi di programmazione, verranno usati in particolare tre termini principali:

  1. Linguaggio macchina -- l'effettivo codice binario che fornisce le istruzioni di base alla CPU del computer. Si tratta tipicamente di comandi estremamente semplici, come sommare due numeri o spostare dei dati da una locazione di memoria ad un'altra.
  2. Linguaggio Asssembly -- un modo per consentire agli umani di programmare i computer direttamente senza dover memorizzare stringhe di numeri binari. C'è una corrispondenza biunivoca con il codice macchina. Per esempio, nel linguaggio assembly per Intel x86, ADD e MOV sono sigle mnemoniche per le operazioni di addizione e spostamento.
  3. Linguaggio di alto livello -- permette agli umani di scrivere programmi complessi senza dover procedere passo per passo. I linguaggi di alto livello includono Pascal, C, C++, FORTRAN, Java, Visual Basic, C#, Java, e molti altri. Un comando in un linguaggio di alto livello, come potrebbe essere la scrittura di una stringa su file, potrebbe tradursi in decine, o anche centinaia, di istruzioni in linguaggio macchina.


I microprocessori possono eseguire direttamente solo programmi in linguaggio macchina. I programmi in Assembly devono essere tradotti in linguaggio macchina da programmi specifici (assembler). Allo stesso modo, i programmi scritti in linguaggi di alto livello, come Pascal, devono similmente essere tradotti in linguaggio macchina prima di poter essere eseguiti. Compilare un programma significa effettuare questa traduzione.

Il programma che porta a compimento la traduzione è chiamato compilatore. Si tratta di un programma piuttosto complesso dato che non si limita a creare istruzioni in linguaggio macchina dalle linee di codice, ma spesso ottimizza il codice per un'esecuzione più rapida, aggiunge codice per la correzione di errori, e collega il sorgente con le subroutine archiviate altrove. Per esempio, quando si richiede ad un computer di visualizzare qualcosa sullo schermo, il compilatore traduce il tutto in una chiamata ad un modulo preesistente. Il vostro codice dovrà essere collegato (linked) a quello fornito dal produttore del compilatore, prima di ottenere come risultato un programma eseguibile.

Con i linguaggi di alto livello, ci sono (ancora) tre termini fondamentali da ricordare:

  1. Codice sorgente -- il codice che scrivete. È tipicamente salvato in un file la cui estensione indica il linguaggio usato. Per esempio, i file di codice sorgente Pascal solitamente terminano in ".pas" e quelli in C++ terminano di solito in ".cpp"
  2. Codice oggetto -- il risultato della compilazione. Il codice oggetto, di solito, include solo un modulo di un programma, e non può ancora essere eseguito, essendo incompleto. Su sistemi DOS/Windows, ha solitamente un'estensione ".obj"
  3. Codice eseguibile -- il risultato finale. Tutti i moduli di codice oggetto necessari per il funzionamento di un programma sono collegati insieme. Su sistemi DOS/Windows, ha solitamente un'estensione ".exe"

Ancora sui compilatori

Lo standard de facto per i compilatori Pascal DOS e Windows è Borland Pascal. Prima che fosse pubblicato, la maggior parte dei compilatori Pascal era lenta ed approssimativa, poco conforme allo standard Pascal, e costava diverse centinaia di dollari. Nel 1984, Borland introdusse Turbo Pascal, che veniva venduto per meno di 100 dollari, compilava ad una velocità superiore di un ordine di grandezza rispetto alle soluzioni esistenti, ed era corredato di una notevole quantità di codice sorgente e programmi d'utilità.

Il prodotto fu un grande successo e rimase diffusi per quasi un decennio. Ma, negli anni novanta, il mondo si stava muovendo verso Windows. Nel 1993, la versione finale di Turbo Pascal, la versione 7 per DOS, fu pubblicata. In seguito, la domanda per programmi DOS precipitò e Borland (che per un breve tempo assunse il nome di Inprise) si concentrò sulla produzione di compilatori ed IDE per Windows (per esempio Delphi). Successivamente, Borland cedette i propri compilatori ad Embarcadero, che fornisce tuttora gli aggiornamenti per Delphi con regolarità.

Questa guida tratterà solo programmi eseguiti nella console, con il computer che visualizza linee di dati sullo schermo e con l'utente che interagisce con il programma usando una tastiera. Lo scopo della guida è di insegnare a programmare in Pascal. Una volta che avrete imparato, potrete facilmente consultare un testo di riferimento o un'altra pagina web ed apprendere come gestire gli aspetti grafici ed i sistemi a finestre da soli.

Sebbene i vecchi compilatori Pascal commerciali siano spesso disponibili per il download (per esempio Turbo Pascal 5.5 dal Borland Museum e Symantec Think Pascal, per Macintosh; vedere la Free Pascal Compiler List mantenuta da Free Country), i computer si sono evoluti molto dagli anni ottanta e dai primi anni novanta. Non siamo più limitati da nomi di file di tipo 8.3 su DOS o dall'assenza di preemptive multitasking su Mac OS. Usare un vecchio compilatore è divertente nello stesso modo in cui è divertente usare un vecchio gioco in un emulatore, ma il movimento open source ha prodotto buoni compilatori per i moderni sistemi operativi, ed un principiante troverà molto più semplice usare questi ultimi.

Compilatori Open Source

I due principali progetti per compilatori open source sono:

Free Pascal è generalmente considerato più amichevole per i principianti, e si impegna ad emulare Borland Pascal in molti modi, anche se entrambi sono adeguati per imparare Pascal.

Siccome la maggior parte degli utenti di questa guida utilizzerà Windows, ecco come configurare Free Pascal ed arrivare al punto in cui potrete compilare un programma su un sistema Windows moderno:

  1. Scaricate l'installer Win32 per Free Pascal dalla Free Pascal download page.
  2. Eseguite il file appena scaricato e procedete seguendo il wizard per configurare Free Pascal.
  3. Avviate Free Pascal usando la scorciatoia (per default si trova in Start -> Free Pascal).
  4. Inserite un programma (saltate alla prossima lezione per ottenere un programma "Ciao, mondo.").
  5. Salvate il file con File-Save As ...
  6. Eseguite il programma dalla voce di menù Run. Il programma verrà compilato automaticamente se avete apportato qualche modifica, poi sarà eseguito. Il programma verrà eseguito senza essere compilato se non avete fatto alcun cambiamento dall'ultima compilazione.

Con programmi che non attendono un input da parte dell'utente, vedrete il programma apparire per un istante in uno schermo nero. Ma il programma è eseguito in un batter d'occhio, e tornerete all'IDE senza vedere i risultati del vostro lavoro. Ci sono due modi per evitare questo comportamento:

  • Selezionate User screen dal menù Debug per vedere i risultati del programma.
  • Aggiungete un enunciato readln alla fine di ogni programma. Questo farà sì che il programma attenda la pressione del tasto Enter da parte dell'utente prima di terminare e tornare all'IDE.

Userscreen.png

Notate che un file .exe è stato creato nella directory in cui avete salvato il programma. Si tratta di un eseguibile. Potete andare al Command Prompt, spostarvi nella directory, ed avviare l'eseguibile direttamente. Potete anche fare doppio clic su di esso in Windows Explorer (e continuerà ad apparire per un istante, se termina senza richiedere input da parte dell'utente).

Vedere anche

 ◄   ▲   ►