现在的位置: 首页 > 综合 > 正文

经典编译资源

2013年08月09日 ⁄ 综合 ⁄ 共 3080字 ⁄ 字号 评论关闭

经典编译资源

经典书籍

编译器相关

  1. 龙书(第2版):Compilers:Principles,Techniques,and Tools(2nd Edition) 经典,适合入门者
  2. 虎书:Modern Compiler Implementation in C 经典,适合初学者
  3. 鲸书:Advanced Compiler Design and Implementation 经典,适合有一定基础的,完全侧重后端优化,但是也适合初学者
  4. 编译器构造》(Crafting a Compiler):适合想动手做个编译器的人看,书中介绍实现的编译器很简单,但涉及的方方面面都有提及,尤其是习题部分很有意思。
    书中主要在谈编译器实现的前端部分,词法语法分析,语义分析和代码生成。生成的代码是能被dc执行的波兰式。 基本没有涉及任何机器相关的部分,代码生成也没有涉及到后端,也没有代码优化部分,很适合对前端比较感兴趣的人
  5. 《编译原理 – 习题精选与解析》:一本经典的编译方向的习题集,里面的习题和讲解对初学编译器的人很有意。很薄的一本小册子。

体系结构相关

  1. MIPS体系结构透视》(See MIPS Run Linux):详细的介绍了MIPS
    指令体系是如何支持并运行Linux系统的。介绍MIPS的整体结构、协处理器、Cache、例外和中断、存储管理和TLB、浮点支持、MIPS汇编语言、MIPS的软件移植、应用程序二进制接口、调试接口等。
  2. 计算机体系结构 – 量化研究方法》( Computer Architecture – A Quantitative Approach):计算机体系结构领域最权威,最经典的著作,没有之一!由MIPS
    CPU的发明人编写,内容涉及指令集并行、多核技术、线程集并行、存储系统、流水线等等所有和计算机体系结构相关的内容。
  3. 《共享存储系统结构》:胡伟武的博士论文整理所成的小册子,是龙芯3号多核处理器设计的理论基础,获得《全国首届优秀博士论文奖》。

程序语言相关

  1. Programming Language Pragmatics》(程序设计语言-实践之路):目前较新的编译器、程序语言类书籍,正在读

编译器与虚拟机项目源码:

  1. GCC

    1. 由Richard Stallman创立,支持平台最多,参与开发公司最多的,应用最广的编译器。
    2. 源码:http://gcc.gnu.org/git/gcc.git  git://gcc.gnu.org/git/gcc.git
       git+ssh://gcc.gnu.org/git/gcc.git
    3. 在线浏览:repo.or.cz
  2. Open64

    1. 由SGI,Pathscale,中科院计算所,Univ. of Del,惠普,AMD,NVIDIA等公司共同开发的优化编译器。
    2. 源码:http://svn.open64.net/listing.php?repname=Open64&path=/&rev=0
  3. LLVM

    1. UIUC发起,现在由Apple公司主导开发的一整套工具链,包括前端,后端,虚拟机,调试等
  4. Jikes RVM

    1. IBM发起的,面向研究领域的虚拟机。
  5. Binutils

    1. 源码:http://sourceware.org/cgi-bin/cvsweb.cgi/src/?cvsroot=src

Algorithm Learning Resource:

  • MIT
    6.046–CLRS

    • 网易公开课翻译版
    • 麻省理工最最经典的计算机系课程,主讲者有《算法导论》的作者。这个课程有相关的课堂录像和作业,方便感兴趣的朋友自学。
  • 货郎担问题(The Traveling Salesman Problem, TSP)

    • Georgia Tech大学的一个主题页面,介绍TSP的相关资源。包括各种实际的货郎担问题、货郎担问题的相关变种,货郎担问题的历史,在现实中的应用。经典货郎担问题的解决方法,以及目前的最好记录等等。

Programming Language, Compiler, Architecture Research Groups around the World:

Compiler Courses in Universitys:

  • CS526: Advanced Compiler Construction

    • Instructor: Vikram Adve (UIUC)
    • Keyword: Control Flow Analysis, SSA, Global Value Numbering, Global Dataflow Analysis, Partial Redundancy Elimination, Data Dependence, Pointer Analysis, Interprocedual Compilation, LLVM
  • CMU- 15-411 Compiler Design

    • Covers the design and implementation of compiler and runtime system for high level languages.
  • MIT
    6.172- Performance Engineering of Software Systems

    • 一门讲述如何做性能优化的课程,推荐有一定计算机系统背景的朋友学习。包含 体系结构、访存优化、编译优化、性能评估、动态存储分配、多核和多线程编程、同步、非确定性编程等等,所有你想提升程序性能时,可能涉及的各个方面。
  • Stand. U CS 243 – Program Analysis and Optimization

    • 一门介绍程序分析和优化的文章,由龙书三大作者之一 Monica Lam 亲自讲授。内容涉及数据流分析、部分冗余删除、寄存器分配、调度、动态编译、指针分析、循环并行化、垃圾收集等编译技术中的核心内容。
  • 中山大学–编译原理

    • 重点推荐该页面中,由中山大学李文军教授总结的各类编译器、程序设计语言、程序分析优化资料,相当全面完备。

Compiler Jobs:

Linux Operating System:

抱歉!评论已关闭.