Skip Abstract Section
Abstract
From the Publisher:
The first part of the book, Fundamentals of Compilation, is suitable for a one-semester first course in compiler design. The second part, Advanced Topics, which includes the compilation of object-oriented and functional languages, garbage collection, loop optimization, SSA form, instruction scheduling, optimization for cache-memory hierarchies, can be used for a second-semester or graduate course.
Cited By
- Léchenet J, Blazy S and Pichardie D A Fast Verified Liveness Analysis in SSA Form Automated Reasoning, (324-340)
- You Y and Chen S (2016). VecRA, ACM Transactions on Embedded Computing Systems, 15:4, (1-30), Online publication date: 1-Sep-2016.
- Rodrigues B, Quintão Pereira F and Aranha D Sparse representation of implicit flows with applications to side-channel detection Proceedings of the 25th International Conference on Compiler Construction, (110-120)
- Sperle Campos V, Alves P, Nazaré Santos H and Quintão Pereira F Restrictification of function arguments Proceedings of the 25th International Conference on Compiler Construction, (163-173)
- Alves P, Gruber F, Doerfert J, Lamprineas A, Grosser T, Rastello F and Pereira F (2015). Runtime pointer disambiguation, ACM SIGPLAN Notices, 50:10, (589-606), Online publication date: 18-Dec-2015.
- Alves P, Gruber F, Doerfert J, Lamprineas A, Grosser T, Rastello F and Pereira F Runtime pointer disambiguation Proceedings of the 2015 ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and Applications, (589-606)
- You Y and Chen S Vector-aware register allocation for GPU shader processors Proceedings of the 2015 International Conference on Compilers, Architecture and Synthesis for Embedded Systems, (99-108)
- Demontiê F, Cezar J, Bigonha M, Campos F and Magno Quintão Pereira F Automatic Inference of Loop Complexity Through Polynomial Interpolation Proceedings of the 19th Brazilian Symposium on Programming Languages - Volume 9325, (1-15)
- Montenegro M, Peña R and Sánchez-Hernández J A Generic Intermediate Representation for Verification Condition Generation Revised Selected Papers of the 25th International Symposium on Logic-Based Program Synthesis and Transformation - Volume 9527, (227-243)
- Lasseter J The Interpreter In An Undergraduate Compilers Course Proceedings of the 46th ACM Technical Symposium on Computer Science Education, (168-173)
- Liu P, Tripp O and Zhang X (2014). Flint, ACM SIGPLAN Notices, 49:10, (543-560), Online publication date: 31-Dec-2015.
- Liu P, Tripp O and Zhang X Flint Proceedings of the 2014 ACM International Conference on Object Oriented Programming Systems Languages & Applications, (543-560)
- Lindner M, Lindner A and Lindgren P RTFM-core Proceedings of the WESE'14: Workshop on Embedded and Cyber-Physical Systems Education, (1-9)
- Piccoli G, Santos H, Rodrigues R, Pousa C, Borin E and Quintão Pereira F Compiler support for selective page migration in NUMA architectures Proceedings of the 23rd international conference on Parallel architectures and compilation, (369-380)
- Rayside D A compiler project with learning progressions Companion Proceedings of the 36th International Conference on Software Engineering, (392-399)
- Saleena N and Paleri V Global value numbering for redundancy detection Proceedings of the 29th Annual ACM Symposium on Applied Computing, (1609-1611)
- SöDerberg E, Ekman T, Hedin G and Magnusson E (2013). Extensible intraprocedural flow analysis at the abstract syntax tree level, Science of Computer Programming, 78:10, (1809-1827), Online publication date: 1-Oct-2013.
- Matsumoto S and Sakurai K A proposal for the privacy leakage verification tool for Android application developers Proceedings of the 7th International Conference on Ubiquitous Information Management and Communication, (1-8)
- Boissinot B, Brisk P, Darte A and Rastello F (2012). SSI Properties Revisited, ACM Transactions on Embedded Computing Systems, 11S:1, (1-23), Online publication date: 1-Jun-2012.
- Dayarathna M and Suzumura T Hirundo Proceedings of the 3rd ACM/SPEC International Conference on Performance Engineering, (335-346)
- Campanoni S, Jones T, Holloway G, Reddi V, Wei G and Brooks D HELIX Proceedings of the Tenth International Symposium on Code Generation and Optimization, (84-93)
- Boissinot B, Brandner F, Darte A, de Dinechin B and Rastello F A non-iterative data-flow algorithm for computing liveness sets in strict SSA programs Proceedings of the 9th Asian conference on Programming Languages and Systems, (137-154)
- Kim S, Kwon K, Kim C, Jang C, Lee J and Min S (2011). Demand Paging Techniques for Flash Memory Using Compiler Post-Pass Optimizations, ACM Transactions on Embedded Computing Systems, 10:4, (1-29), Online publication date: 1-Nov-2011.
- Leuschel M, Falampin J, Fritz F and Plagge D (2011). Automated property verification for large scale B models with ProB, Formal Aspects of Computing, 23:6, (683-709), Online publication date: 1-Nov-2011.
- Tavares A, Colombet Q, Bigonha M, Guillon C, Pereira F and Rastello F Decoupled graph-coloring register allocation with hierarchical aliasing Proceedings of the 14th International Workshop on Software and Compilers for Embedded Systems, (1-10)
- Ortin F and Garcia M Separating different responsibilities into parallel hierarchies Proceedings of The Fourth International C* Conference on Computer Science and Software Engineering, (63-72)
- Morell L (2011). Design of an extensible interpreter using information hiding, Journal of Computing Sciences in Colleges, 26:5, (130-136), Online publication date: 1-May-2011.
- Rimsa A, d'Amorim M and Pereira F Tainted flow analysis on e-SSA-form programs Proceedings of the 20th international conference on Compiler construction: part of the joint European conferences on theory and practice of software, (124-143)
- Rolando P, Sisto R and Risso F (2011). SPAF, IEEE/ACM Transactions on Networking, 19:1, (14-27), Online publication date: 1-Feb-2011.
- Mallen A and Brylow D Compiler construction with a dash of concurrency and an embedded twist Proceedings of the ACM international conference companion on Object oriented programming systems languages and applications companion, (161-168)
- Gondow K, Fukuyasu N and Arahori Y MieruCompiler Proceedings of the 41st ACM technical symposium on Computer science education, (7-11)
- Fenwick J and Gross L Lazy evaluation of PDE coefficients in the EScript system Proceedings of the Eighth Australasian Symposium on Parallel and Distributed Computing - Volume 107, (71-76)
- Jones T, O'Boyle M, Abella J, González A and Ergin O (2009). Exploring the limits of early register release, ACM Transactions on Architecture and Code Optimization, 6:3, (1-30), Online publication date: 1-Sep-2009.
- Gill A A Haskell Hosted DSL for Writing Transformation Systems Proceedings of the IFIP TC 2 Working Conference on Domain-Specific Languages, (285-309)
- Sassa M, Ito Y and Kohama M (2009). Comparison and evaluation of back-translation algorithms for static single assignment forms, Computer Languages, Systems and Structures, 35:2, (173-195), Online publication date: 1-Jul-2009.
- Boissinot B, Darte A, Rastello F, de Dinechin B and Guillon C Revisiting Out-of-SSA Translation for Correctness, Code Quality and Efficiency Proceedings of the 7th annual IEEE/ACM International Symposium on Code Generation and Optimization, (114-125)
- Bringert B and Ranta A (2008). A pattern for almost compositional functions, Journal of Functional Programming, 18:5-6, (567-598), Online publication date: 1-Sep-2008.
- Campanoni S, Agosta G and Reghizzi S (2008). A parallel dynamic compiler for CIL bytecode, ACM SIGPLAN Notices, 43:4, (11-20), Online publication date: 1-Apr-2008.
- Zatarain-Cabada R, Barrón-Estrada M, Zepeda-Sanchez L and Vega-Juárez F Authoring learning objects for web-based intelligent tutoring systems Proceedings of the 6th international conference on Advances in web based learning, (66-77)
- Lee J, Palsberg J and Pereira F Aliased register allocation for straight-line programs is NP-complete Proceedings of the 34th international conference on Automata, Languages and Programming, (680-691)
- Vasa R, Lumpe M and Schneider J Patterns of component evolution Proceedings of the 6th international conference on Software composition, (235-251)
- D'Ursi A, Cavallaro L and Monga M On bytecode slicing and aspectJ interferences Proceedings of the 6th workshop on Foundations of aspect-oriented languages, (35-43)
- Du W, Teng Z and Wang R (2007). SEED, ACM SIGCSE Bulletin, 39:1, (486-490), Online publication date: 7-Mar-2007.
- Du W, Teng Z and Wang R SEED Proceedings of the 38th SIGCSE technical symposium on Computer science education, (486-490)
- Pitzer M and Dobler H An object-oriented and generic compiler generator Proceedings of the 11th international conference on Computer aided systems theory, (130-137)
- Collier R Debugging agents in agent factory Proceedings of the 4th international conference on Programming multi-agent systems, (229-248)
- Hammond S and Lacey D Loop transformations in the ahead-of-time optimization of java bytecode Proceedings of the 15th international conference on Compiler Construction, (109-123)
- Pereira F and Palsberg J Register allocation after classical SSA elimination is NP-Complete Proceedings of the 9th European joint conference on Foundations of Software Science and Computation Structures, (79-93)
- Dzidek W, Briand L and Labiche Y Lessons learned from developing a dynamic OCL constraint enforcement tool for java Proceedings of the 2005 international conference on Satellite Events at the MoDELS, (10-19)
- Ryu S and Ramsey N Source-Level debugging for multiple languages with modest programming effort Proceedings of the 14th international conference on Compiler Construction, (10-26)
- Nguyen D, Ricken M and Wong S Design patterns for parsing Proceedings of the 36th SIGCSE technical symposium on Computer science education, (477-481)
- Nguyen D, Ricken M and Wong S (2005). Design patterns for parsing, ACM SIGCSE Bulletin, 37:1, (477-481), Online publication date: 23-Feb-2005.
- Park C, Lim J, Kwon K, Lee J and Min S Compiler-assisted demand paging for embedded systems with flash memory Proceedings of the 4th ACM international conference on Embedded software, (114-124)
- Smith M, Ramsey N and Holloway G (2004). A generalized algorithm for graph-coloring register allocation, ACM SIGPLAN Notices, 39:6, (277-288), Online publication date: 9-Jun-2004.
- Smith M, Ramsey N and Holloway G A generalized algorithm for graph-coloring register allocation Proceedings of the ACM SIGPLAN 2004 conference on Programming language design and implementation, (277-288)
Index Terms
- Modern Compiler Implementation in Java