目录

  • Chapter 1 Introduction
    • ● 1.0 Course Contents
    • ● 1.1 Basic Conception
      • ● Lecture 1
      • ● Lecture 2
    • ● 1.2 Compiler Structure
      • ● Lecture 1
      • ● Lecture 2
      • ● Lecture 3
    • ● 1.3 The Technique of Compiler Developing
  • Chapter 2 Conspectus of Formal Language
    • ● 2.1 Alphabets and Strings
      • ● Lecture 1
      • ● Lecture 2
    • ● 2.2 Grammars and its Categories
      • ● Lecture 1
      • ● Lecture 2
    • ● 2.3 Languages and Parse Tree
      • ● Lecture 1
      • ● Lecture 2
    • ● 2.4 Notes of Formal Language
    • ● 2.5 Basic Parsing Techniques
      • ● Lecture 1
      • ● Lecture 2
  • Chapter 3 Finite Automata
    • ● 3.1 Formal Definition of FA
      • ● Lecture 1
      • ● Lecture 2
    • ● 3.2 Transition from NDFA to DFA
      • ● Lecture 1
      • ● Lecture 2
      • ● Lecture 3
    • ● 3.3 RG and FA
    • ● 3.4 Regular Expression & Regular Set
      • ● Lecture 1
      • ● Lecture 2
  • Chapter 4 Scanner(Lexical Analyzer)
    • ● 4.1 Lexical Analyzer and Tokens
      • ● Lecture 1
      • ● Lecture 2
    • ● 4.2 Step for developing a lexical analyzer
    • ● 4.3  Dealing with Identifier
    • ● 4.4  Using Regular Expressions
    • ● 4.5 Using Flex
      • ● Lecture 1
      • ● Lecture 2
  • Chapter 5 Top-Down Parsing
    • ● 5.0 Push Down Automata (PDA, Added)
      • ● Lecture 1
      • ● Lecture 2
      • ● Lecture 3
    • ● 5.1 Elimination Left-Recursion
    • ● 5.2 LL(k) Grammar
      • ● Lecture 1
      • ● Lecture 2
    • ● 5.3 Deterministic LL(1) Analyzer Construction
    • ● 5.4 Recursive-descent (Non-backtracking) parsing
    • ● 5.5 复习与结课
      • ● Lecture1 结课感言
      • ● Lecture 2 关于复习
      • ● Lecture 3 习题讲解
  • Chapter 6 bottom-up Parsing and precedence analyzer
    • ● 6.1 Bottom-Up Parsing
    • ● 6.2 Phrase, Simple Phrase and Handle
    • ● 6.3 A Shift-Reduce Parser
    • ● 6.4 Some Relations on Grammar
    • ● 6.5 Simple Precedence Parsing
    • ● 6.6 Operator-Precedence Parsing
      • ● Lecture 1
      • ● Lecture 2
      • ● Lecture 3
    • ● 6.7 Precedence Functions and Construction
  • Chapter 7  LR Parsing
    • ● 7.1 LR Parsers
      • ● Lecture 1
      • ● Lecture 2
    • ● 7.2 Building a LR(0) parse table
      • ● Lecture 1
      • ● Lecture 2
    • ● 7.3 SLR Parse Table Construction
    • ● 7.4 Constructing Canonical LR(1) Parsing Tables
    • ● 7.5 LALR Parsing Tables Construction
    • ● 7.6 Using Ambiguous Grammars
    • ● 7.7 Yacc/Bison Overview
  • Chapter 8 Syntax-Directed Translation
    • ● 8.1 Syntax-Directed Translation
      • ● Lecture1
      • ● Lecture 2
      • ● Lecture 3
    • ● 8.2 Abstract Syntax Tree
    • ● 8.3 Intermediate Representation
      • ● Lecture 1
      • ● Lecture 2
  • Chapter 9 Run-Time Environment
    • ● 9.1 Data Area & Attribute
    • ● Section 9.2~9.4 & Section 9.8~9.9
    • ● 9.5 Parameter Passing
    • ● 9.6 Stack Allocation
    • ● 9.7 Heap allocation
  • Chapter 10 Symbol Tables
    • ● 10.1 A symbol Table Class
    • ● 10.2 Basic Implementation Techniques
    • ● 10.3 Block-structured Symbol Table
    • ● 10.4 Implicit Declaration
    • ● 10.5 Overloading
  • Chapter 11 Code Optimization
    • ● 11.1 Control Flow Graph
    • ● 11.2 Redundancies
    • ● 11.3 Loop Optimizations
    • ● 11.4 Instruction Dispatch
      • ● Lecture 1
      • ● Lecture 2
  • Chapter 12 Code Generation
    • ● 12.1 Code generation issues
    • ● 12.2 Simple Stack Machine
    • ● 12.3 Register Machine
    • ● 12.4 A Simple Code Generator
  • 13 Extended Reading扩展阅读1 斯坦福大学公开课
    • ● Lecture 1
    • ● Lecture 2
    • ● Lecture 3
    • ● Lecture 4
    • ● Lecture 5
    • ● Lecture 6
    • ● Lecture 7
    • ● Lecture 8
    • ● Lecture 9
    • ● Lecture 10
    • ● Lecture 11
    • ● More sources
  • 14 Extended Reading 2 扩展阅读2 illinois.edu lectures
    • ● Lecture 1 Overview
    • ● Lecture 2 Strings, Languages, DFAs
    • ● Lecture 3 More on DFAs
    • ● Lecture 4 Regular Expressions and Product Construction
    • ● Lecture 5 Nondeterministic Automata
    • ● Lecture 6 Closure properties
    • ● Lecture 7 NFAs are equivalent to DFAs
    • ● Lecture 8 From DFAs/NFAs to Regular Expressions
    • ● Lecture 9 Proving non-regularity
    • ● Lecture 10 DFA minimization
    • ● Lecture 11 Context-free grammars
    • ● Lecture 12 Cleaning up CFGs and Chomsky Normal form
    • ● Lecture 13 Even More on Context-Free Grammars
    • ● Lecture 14 Repetition in context free languages
    • ● Lecture 15 CYK Parsing Algorithm
    • ● Lecture 16 Recursive automatas
    • ● Lecture 17 Computability and Turing Machines
    • ● Lecture 18 More on Turing Machines
    • ● Lecture 19 Encoding problems and decidability
    • ● Lecture 20 More decidable problems, and simulating TM and “real” computers
    • ● Lecture 21 Undecidability, halting and diagonalization
    • ● Lecture 22 Reductions
    • ● Lecture 23 Rice Theorem and Turing machine behavior properties
    • ● Lecture 24 Dovetailing and non-deterministic Turing machines
    • ● Lecture 25 Linear Bounded Automata and Undecidability for CFGs
  • 15 Extended Reading3 扩展阅读3 Extended  Reference Books
    • ● 15.1 English Text Book
    • ● 15.2 编译原理(何炎祥,伍春香,王汉飞 2010.04)
    • ● 15.3 编译原理(陈光建主编;贾金玲,黎远松,罗玉梅,万新副主编 2013.10)
    • ● 15.4 编译原理((美)Alfred V. Aho等著;李建中,姜守旭译 2003.08)
    • ● 15.5 编译原理学习与实践指导(金登男主编 2013.11)
    • ● 15.6 编译原理及编译程序构造 第2版(薛联凤,秦振松编著 2013.02)
    • ● 15.7 编译原理学习指导(莫礼平编 2012.01)
    • ● 15.8 JavaScript动态网页开发案例教程
  • 16 中文版课件(pdf)辅助学习
    • ● 第1章 引论
    • ● 第2章 形式语言概论
    • ● 第3章 有穷自动机
    • ● 第4章 词法分析
    • ● 第5章 自上而下分析
    • ● 第6章 优先分析方法
    • ● 第7章 自下而上的LR(k)分析方法
    • ● 第8章 语法制导翻译法
    • ● 第9章 运行时的存储组织与管理
    • ● 第10章 符号表的组织与查找
    • ● 第11章 优化
    • ● 第12章 代码生成
  • 17 Extended Reading4 扩展阅读4 Static Single Assignment
    • ● 17.1 SSA-based Compiler Design
    • ● 17.2 A Simple, Fast Dominance Algorithm (Rice Computer Science TR-06-33870)
    • ● 17.3 The Development of Static Single Assignment Form(KennethZadeck-Presentation on the History of SSA at the SSA'09 Seminar, Autrans, France, April 2009)
    • ● 17.4 SPIR-V Specification(John Kessenich, Google and Boaz Ouriel, Intel Version 1.00, Revision 12 January 16, 2018)
    • ● 17.5 Efficiently Computing Static Single Assignment Form and the Control Dependence Graph
    • ● 17.6 Global Value Numbers and Redundant Computations
  • 18 Extended Reading4 扩展阅读5 Computer Science
    • ● 1 实地址模式和保护模式的理解
    • ● 2 实模式和保护模式
    • ● 3 实模式和保护模式区别及寻址方式
    • ● 计算机专业术语
    • ● Bit Math in c Language
    • ● Auto-generating subtitles for any video file
    • ● Autosub
    • ● C语言中的内联函数(inline)与宏定义(#define)
  • 19 相关学习
    • ● 龙书、鲸书和虎书
    • ● Complexity
    • ● MPC Complexity
    • ● NP-completeness
    • ● Computational complexity theory
  • 20 全球战疫-武汉战疫延伸与扩展
    • ● Extraordinary G20 Leaders’ Summit Statement on COVID-19
    • ● Experts urge proactive measures to fight virus
    • ● covid-19病毒下贫穷国家
    • ● 正确理解病亡率、压平曲线、疫情高峰术语
    • ● 为什么全球经济可能陷入长期衰退
    • ● 为何新冠病毒检测会出现“假阴性”
    • ● 在纽约,几乎每个人身边都有人感染病毒
    • ● An Address by Her Majesty The Queen
    • ● Boris Johnson admitted to hospital over virus sympto
    • ● Edinburgh festivals cancelled due to coronavirus
    • ● US set to recommend wearing of masks
    • ● Boris Johnson in self-isolation after catching coronavirus
    • ● Covid-19:The porous borders where the virus cannot be controlled
    • ● 当欧洲人开始戴上口罩
    • ● Lockdown and ‘Intimate Terrorism’
    • ● Us Election 2020: Bernie Sanders Suspends Presidential Campaign
    • ● The aircraft carrier being infected with the coronavirus
    • ● Spent to the W.H.O.
    • ● Unemployment
    • ● The beat of a heart the glimmer of a soul
    • ● Coronavirus pandemic: EU agrees €500bn rescue package
    • ● the world after coronavirus冠状病毒之后的世界
  • 21 课程思政方案
    • ● 21.1 课程思政
    • ● 21.2 实施方案
1.0 Course Contents
  • 1 1.0 Course&n...
  • 2 Video &&...

1.0 Course Contents



学习安排 & 1.0 Course Contents课程内容讲解