PDA

View Full Version : libro italiano sui compilatori


blob84
18-10-2011, 10:37
Ciao qualcuno conosce qualche libro in italiano sui compilatori e implementazione che non sia il "Dragon Book"?

ndakota
18-10-2011, 10:45
Questa è la bibliografia del corso di Linguaggi e traduttori all'unimi

Bibliografia di riferimento

I testi di riferimento principali relativi agli argomenti trattati nel corso sono:

* J. Hopcroft, R. Motwani, J. Ullman
Introduction to Automata Theory, Languages and Computation
Addison Wesley, 2a ed. 2001, 3a ed. 2007, o 1a ed. 1979 (autori Hopcroft e Ullman)
oppure edizione italiana: Automi, linguaggi e calcolabilità
Addison Wesley, 2003 o nuova edizione 2009

* A. Aho, M. Lam, R. Sethi, J. Ullman
Compilers
Addison Wesley, 2007
oppure edizione italiana: Compilatori
Addison Wesley, 2009

Altri riferimenti bibliografici:

* M. Harrison
Introduction to Formal Language Theory
Addison Wesley, 1978

* J. Shallit
A Second Course in Formal Languages and Automata Theory
Cambridge University Press, 2009

* A. Appel
Modern Compiler Implementation in Java
Oxford University Press, 2002
(oppure dello stesso autore ed editore: Modern Compiler Implementation in C, 1998)

Freaxxx
18-10-2011, 10:45
forse è meglio seguire un corso di calcolatori per apprendere un buon metodo e un buon modello di riferimento per meglio poi acquisire i particolari delle singole implementazioni; 1 compilatore non esiste, esistono diversissimi tipi, versioni e tecniche di compilazione per varie architetture, a mio parere questi sono testi che vanno letti dopo un bel corso universitario in ingegneria informatica e non come fondamento della propria base sulla cultura informatica.

C'è l'Hennessy o il Tanenbaum volendo coltivare una base solida, questo genere di libri non dice sciocchezze, ma dice cose che vanno interpretate con una certa consapevolezza degli argomenti trattati, sapere come funziona un compilatore senza avere idea di come funziona un calcolatore è tempo perso ed è nozione fuorviante.

british
18-10-2011, 10:46
Ciao qualcuno conosce qualche libro in italiano sui compilatori e implementazione che non sia il "Dragon Book"?

Il Crespi Reghizzi... implementazione però pressochè zero.

ciao!

british

blob84
18-10-2011, 11:12
forse è meglio seguire un corso di calcolatori per apprendere un buon metodo e un buon modello di riferimento per meglio poi acquisire i particolari delle singole implementazioni; 1 compilatore non esiste, esistono diversissimi tipi, versioni e tecniche di compilazione per varie architetture, a mio parere questi sono testi che vanno letti dopo un bel corso universitario in ingegneria informatica e non come fondamento della propria base sulla cultura informatica.

C'è l'Hennessy o il Tanenbaum volendo coltivare una base solida, questo genere di libri non dice sciocchezze, ma dice cose che vanno interpretate con una certa consapevolezza degli argomenti trattati, sapere come funziona un compilatore senza avere idea di come funziona un calcolatore è tempo perso ed è nozione fuorviante.

Se intendi il corsi di architettura di elaboratori e sistemi operativi già li ho fatti.
Comunque io sono interessato più all'implementazione di un compilatore.
Secondo me è troppo esagerato avere come prerequisito un corso di ingegneria informatica per scrivere un compilatore, dal punto di vista di un programmatore secondo me i prerequisiti richiesti sono:
conoscenza ad esempio del C;
conoscenza di basi di strutture dati perché si usano stack e alberi binari;
familiarità con i concetti del linguaggio assembler, e se bisogna tradurre in assembler ovvio conoscerlo;
poi di matematica bisogna consocere gli insiemi e i grafi.

WarDuck
18-10-2011, 11:19
forse è meglio seguire un corso di calcolatori per apprendere un buon metodo e un buon modello di riferimento per meglio poi acquisire i particolari delle singole implementazioni; 1 compilatore non esiste, esistono diversissimi tipi, versioni e tecniche di compilazione per varie architetture, a mio parere questi sono testi che vanno letti dopo un bel corso universitario in ingegneria informatica e non come fondamento della propria base sulla cultura informatica.

C'è l'Hennessy o il Tanenbaum volendo coltivare una base solida, questo genere di libri non dice sciocchezze, ma dice cose che vanno interpretate con una certa consapevolezza degli argomenti trattati, sapere come funziona un compilatore senza avere idea di come funziona un calcolatore è tempo perso ed è nozione fuorviante.

Non si sta parlando di compilatori in quanto tali, ma della teoria che c'è dietro (linguaggi formali prima di tutto).

Detto questo l'unico pre-requisito per capire bene questa teoria è sapere molto bene algebra e logica ed in generale conoscere molto bene la matematica di base (ad esempio teoria degli insiemi).

L'implementazione la puoi fare come ti pare, noi abbiamo fatto un parser LR1 in Java (alla triennale).

Relativamente al libro IMHO stai scartando il migliore, ovvero il Dragon Book. Cos'è che ti spaventa: la mole o l'inglese? :asd:

Floris
18-10-2011, 11:25
Concepts in Programming Languages by John C. Mitchell

http://theory.stanford.edu/~jcm/books.html

Ti introduce alle tecniche utilizzate nei compilatori per implementare le principali caratteristiche dei linguaggi di programmazione ad oggetti.

blob84
18-10-2011, 11:42
Non si sta parlando di compilatori in quanto tali, ma della teoria che c'è dietro (linguaggi formali prima di tutto).

Detto questo l'unico pre-requisito per capire bene questa teoria è sapere molto bene algebra e logica ed in generale conoscere molto bene la matematica di base (ad esempio teoria degli insiemi).

L'implementazione la puoi fare come ti pare, noi abbiamo fatto un parser LR1 in Java (alla triennale).

Relativamente al libro IMHO stai scartando il migliore, ovvero il Dragon Book. Cos'è che ti spaventa: la mole o l'inglese? :asd:

Per algebra e logica intendi che bisogna aver studiato matematica discreta?

Il Dragon book c'è anche in italiano mi pare, l'inglese non mi spaventa però se c'è italiano è meglio:).
Sto studiando per conto mio e il Dragon Book non è indicato, ho visto un'anteprima e usa un linguaggio matematico che complica molto le cose, se spiegato in linguaggio naturale è meglio e poi come ho detto nel post di prima sono interessato più all'implementazione, il Dragon book è troppo teorico.
Comunque talvolta è meglio fare prima la pratica e poi la teoria in modo approfondito.

GeekFalcon
18-10-2011, 12:03
Per "linguaggio matematico" intendo ML?
E' tutto un altro modo di pensare rispetto alla programmazione imperativa o ad oggetti.

banryu79
18-10-2011, 12:16
Tu hai chiesto un libro, però credo che anche questa discussione in questo forum possa interessarti:
[Vari] Contest 16 + 1: Compilatori e interpreti. Parte I: interpreti. (http://www.hwupgrade.it/forum/showthread.php?t=2030843)
;)

Vincenzo1968
19-10-2011, 12:48
Per algebra e logica intendi che bisogna aver studiato matematica discreta?

Il Dragon book c'è anche in italiano mi pare, l'inglese non mi spaventa però se c'è italiano è meglio:).
Sto studiando per conto mio e il Dragon Book non è indicato, ho visto un'anteprima e usa un linguaggio matematico che complica molto le cose, se spiegato in linguaggio naturale è meglio e poi come ho detto nel post di prima sono interessato più all'implementazione, il Dragon book è troppo teorico.
Comunque talvolta è meglio fare prima la pratica e poi la teoria in modo approfondito.

Io grazie al dragon book sono riuscito a implementare il linguaggetto del contest segnalato da Banryu. E sono un autodidatta, non ho mai frequentato un corso universitario(ho um misero diploma di ragioniere) ;)

banryu79
19-10-2011, 12:49
Io grazie al dragon book sono riuscito a implementare il linguaggetto del contest segnalato da Banryu. E sono un autodidatta, non ho mai frequentato un corso universitario(ho um misero diploma di ragioniere) ;)
Eccolo, beccato!
Sapevo ti saresti fatto vivo in questo thread, collega (anch'io sono un ragioniere) :Prrr:

Vincenzo1968
19-10-2011, 12:52
Eccolo, beccato!
Sapevo ti saresti fatto vivo in questo thread, collega (anch'io sono un ragioniere) :Prrr:

:D

L'argomento mi appassiona grandemente.

Vincenzo1968
19-10-2011, 12:59
Per algebra e logica intendi che bisogna aver studiato matematica discreta?

Il Dragon book c'è anche in italiano mi pare, ...

Minchia, vero è! È uscita la versione in italiano:

http://giotto.ibs.it/cop/copj170.asp?f=9788871925592

http://www.ibs.it/code/9788871925592//compilatori-principi-tecniche.html

Non lo sapevo. Lo ordino immediatamente.