LLVM每日谈之十一 编译器相关学习资料推荐

作者: snsn1984
近来碰到一些想学习LLVM但是已经把编译原理的知识还给老师的朋友,让帮忙推荐一些学习资料,我就把手头有的一些资料,大都是自己读过的一些资料整理一下,列出来,希望对大家有所帮助。
1、《Compilers---Principles,Techniques, and Tools》
没错,这就是传说中的龙书,虽然无数次被人推荐,也无数人说能不能换点别的推荐,但是它还是当之无愧的首选。网上可以找到PDF的电子版,中英文的都有。如果真是打算好好的学编译器,建议买本英文版的,读的时候,不明白的再看看中文版的电子版。因为如果以中文版为主的话,后续你面对编译器的源码,可能会有一些东西对不上号。读的是英文版的就会好多了。
这是一个公开课的网站,上面有很多优秀的公开课,都是世界著名大学的。其中有一门课程叫做《Compiler》讲的特别不错,如果跟着这个课程学习的话,再辅以龙书,效果会很不错,同时也会让你觉的读龙书没什么难得,还有一种拨云见日的感觉。
3、《程序员的自我修养》
关于这本书的介绍,网上有很多,大家可以看下。这本书的立足点确实是以往很少有资料介绍的,但是并不代表不重要。如果你要是想了解程序真正的从源码到执行,这本书的立足点的那些环节是必不可少的。
4、《Linkers and Loaders》
这本书是链接和装载方面最为权威的一本书,也十分的完整,但是内容有点偏旧。这本书读的不读,3书中的作者也推荐了这本书,覆盖领域和3中的大致相同。有精力的同学可以看一下。
5、《深入理解计算机系统》
这本书的经典就不用太多的言语介绍了。这本书中的第七章,主要介绍链接部分的内容,和3、4的覆盖范围有些相似,如果时间有限,建议可以直接读这本书的第七章。
       这些资料中3、4、5覆盖的范围主要在链接和加载上面,这是一般的讲编译的书不会覆盖的,但是真正的编译器不光进行了编译,必然包含一个链接的过程,所以这个过程对了解整个的编译器的工作流程有着相当重要的作用。所以还是建议学习一下这方面的知识。

因为本人读过的书不多,这里也列一个别人的推荐书单:

这个书单里也列了一些别人的书单,我想这些应该够用了。


--------------------------------------------------------------------------转载请注明出处---------------------------------------------------------------------------------------------

转载于:https://www.cnblogs.com/ainima/archive/2013/03/08/6331981.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Become familiar with the LLVM infrastructure and start using LLVM libraries to design a compiler About This Book Learn to use the LLVM libraries to emit intermediate representation (IR) from high-level language Build your own optimization pass for better code generation Understand AST generation and use it in a meaningful way Who This Book Is For This book is intended for those who already know some of the concepts of compilers and want to quickly get familiar with the LLVM infrastructure and the rich set of libraries that it provides. What You Will Learn Get an introduction to LLVM modular design and LLVM tools Convert frontend code to LLVM IR Implement advanced LLVM IR paradigms Understand the LLVM IR Optimization Pass Manager infrastructure and write an optimization pass Absorb LLVM IR transformations Understand the steps involved in converting LLVM IR to Selection DAG Implement a custom target using the LLVM infrastructure Get a grasp of C's frontend clang, an AST dump, and static analysis In Detail LLVM is currently the point of interest for many firms, and has a very active open source community. It provides us with a compiler infrastructure that can be used to write a compiler for a language. It provides us with a set of reusable libraries that can be used to optimize code, and a target-independent code generator to generate code for different backends. It also provides us with a lot of other utility tools that can be easily integrated into compiler projects. This book details how you can use the LLVM compiler infrastructure libraries effectively, and will enable you to design your own custom compiler with LLVM in a snap. We start with the basics, where you'll get to know all about LLVM. We then cover how you can use LLVM library calls to emit intermediate representation (IR) of simple and complex high-level language paradigms. Moving on, we show you how to implement optimizations at different levels, write an optimization pass, generate code that is independent of a target, and then map the code generated to a backend. The book also walks you through CLANG, IR to IR transformations, advanced IR block transformations, and target machines. By the end of this book, you'll be able to easily utilize the LLVM libraries in your own projects. Style and approach This book deals with topics sequentially, increasing the difficulty level in a step-by-step approach. Each topic is explained with a detailed example, and screenshots are included to help you understand the examples. Table of Contents Chapter 1. Playing with LLVM Chapter 2. Building LLVM IR Chapter 3. Advanced LLVM IR Chapter 4. Basic IR Transformations Chapter 5. Advanced IR Block Transformations Chapter 6. IR to Selection DAG phase Chapter 7. Generating Code for Target Architecture

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值