Références bibliographiques du Cours "Traduction"
Mots-clés :
compilation, théorie des langages, expressions régulières, automates, automates finis,
grammaires, grammaires algébriques (context-free), analyse lexicale et syntaxique,
flex et bison (lex et yacc), compilateur de compilateur (compiler's compiler),
analyse syntaxique ascendante (LR), analyse syntaxique descendante (LL).
1- Bibles
- Compilers: Principles, Techniques, and Tools, A. Aho, M. Lam, R. Sethi, J Ulman. 2ieme ed., 2006, Pearson Education, Inc, ISBN 0-321-48681-1
VF: Compilateurs : principes, techniques et outils, Aho, Lam, Sethi, Ullman , 2e édition, 2007, Pearson Éducation France, ISBN 978-2-7440-7037-2 (site : http://dragon2007.free.fr)
Historique: Principles of Compiler Design, Alfred V. Aho, and Jeffrey D. Ullman, Addison-Wesley, 1977. ISBN 0-201-00022-9
Aussi connu sous le nom "dragon book" (green, red, purple...), c'est la "bible" incontournable depuis quatre décennies.
- Gödel, Escher, Bach: an Eternal Golden Braid, aka "GEB", Douglas Hofstadter, 1979, Basic Books, ISBN 978-0465026562
Ouvrage très ludique et de grande qualité littéraire (prix Pulitzer), qui introduit les
problématiques de la calculabilité, de la récursivité et de l'auto-référence, des systèmes formels ou symboliques,... Une excellente approche large public des fondements de l'informatique.
2- Expressions régulières
- Mastering Regular Expressions, Jeffrey Friedl, 3ieme ed.. 2006, O'Reilly. ISBN 978-0-596-52812-6
Ouvrage très complet et pratique sur l'utilisation des expressions régulières dans des contextes variés de l'informatique. Déclinaison en particulier de Perl, Java, .NET et PHP. Les aspects plus fondamentaux sur les automates déterministes et les performances sont clairement couverts.
- Beginning Regular Expressions, Andrew Watt, 2005, Wrox. ISBN: 978-0-7645-7489-4
D'un contenu comparable à la référence précédente, il fait une présentation plus pratique sur un spectre très large de langages usuels : Microsoft Word, OpenOffice.org Writer, findstr, powerGREP, Microsoft Excel, SQLserver, MySQL, Microsoft Access, Javascript, VBScript, Visual Basic, .NET, C#, PHP, W3C XML, Java, and Perl.
- Learning Perl, R.L.Schwarz, T. Christiansen, O'Reilly 1997
Perl est un langage construit autour des expressions régulières. L'ouvrage constitue une
introduction solide à ce langage très employé (extraction de base de données, fouille sur le web,
scripts cgi, administration sytème ...)
- http://www.regular-expression.info
Un site très complet et très pratique comme manuel tout terrain.
3- Bases de théorie des langages
- Introduction to Automata Theory, Langages and Computation John E. Hopcroft, Rajeev Motwani, Jeffrey D. Ullman. 3ieme ed.2013, Pearson Education. ISBN 1292039051
Historique, aka "Cinderella Book" : Formal Languages and Their Relation to Automata, John E. Hopcroft, Jeffrey D. Ullman,. 1968, Addison-Wesley.
Un ouvrage complet et abordable sur les fondements des théories des langages, de la calculabilité et de la complexité.
- Introduction to the Theory of Computation Michael Sipser, 3ieme ed., 2013, Cengage Learning.
Couvre le même champs que l'ouvrage précédent. Un peu plus ouvert sur les résultats récents en informatique théorique.
- Langages Formels, Calculabilité et complexité Olivier Carton, 1er ed. 2012. Vuibert (NB: 2ieme en cours)
Cet ouvrage est issu d'un cours de première année de l'ENS et couvre de façon synthétique et renouvelée les bases de l'informatique fondamentale.
- Logique et automates P. Bellot, J. Sakharovitch, 1998, Ellipses 1998
Assez concis, panorama clair et solide, basé sur l'enseignement académique en 1er et 2ieme cycles universitaires.
4- Compilation : pratique et outils
- Algorithmique du texte, M. Crochemore, C. Hancart, T. Lecroq - Vuibert 2001
Resitue les automates et leur utilisation dans un cadre algorithmique,
orienté vers une finalité de traitement de texte (recherche, extraction)
- Compilateurs, D. Grune, H.E. Bal, C.J.H. Jacobs, K.G. Langendoen, Dunod 2002, ISBN 978-2-10-005887-7.
VO: Modern Compiler Design, Wiley, 2000.
Excellent ouvrage de référence, qui actualise les classiques (Aho-Ullman...)
- Modern Compiler Design in Java, 2nd edition - A.W. Appel - Cambridge, 2002
Les bases théoriques et pratiques pour des implémentations ciblées Java et grammaires LL(k).
- flex & bison, John Levine, O'Reilly, 2009.
N'apporte pas beaucoup plus que les manuels officiels de flex et bison !
-
Lexical Analysis With Flex, V. Paxson, W. Estes, J. Millaway. 2012
GNU Bison Manual, R. Corbett, R. Stallman, W. Hansen. 2014
Manuels officiels de Flex et Bison (dernière version!) avec de nombreux exemples.
-
Lex & Yacc Tutorial, Tom Niemann, ePaperPress.com.
Clair et concis, directement dans l'optique du présent cours.
-
Compiler Construction using Flex and Bison, Anthony A. Aaby, 2004
Illustre l'ensemble de la chaîne de compilation.
CSC 4508, TELECOM SudParis, P. Hennequin, F. Meunier
Last modified: Mars 2015