目录

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


当新冠病毒入侵美国航母,该彻底疏散还是继续备战行为


来源: 卫报双语阅读

 One of the hallmarks of the United States military is its ability to project power around the world, often under the banner of slogans intended to strike fear in its adversaries. “Ready to fight tonight” for U.S. troops in South Korea; “America’s 911” for the Marine Corps expeditionary units at sea; the list goes on.

美国军队的标志特点之一,就是有能力在世界各地施展力量,通常还打着让对手恐惧的旗号。驻韩美军有“随时准备今晚就战斗”的名号;海军陆战队的海上远征部队则有“美国的911”的称号;这样的例子不胜枚举。

  • hallmark 特征;特点

  • the list goes on 表示“可以举出的例子还有很多”的一种地道的写法,list指的就是你所枚举出来的例子所组成的一份“名单list”,后接goes on则表示名单能继续往下,也就是指可以举出更多例子。


But now the foe is a novel coronavirus, and it has struck deep. More than 1,200 military personnel and their family members are affected, disabling a talisman of American military might — a nuclear-powered aircraft carrier — and leaving the Defense Department virtually at war with itself over two competing instincts: protecting troops from the virus and continuing its decades-old mission of patrolling the globe and engaging in combat, if ordered to do so.

但现在,敌人是一种新型冠状病毒,而且已经深入后方。超过1200名军人及其家属受到影响,这使得美国军事力量的护身符——一艘核动力航母陷入瘫痪,也导致国防部实际上是挣扎在两种相互冲突的本能之间:一方面要保护军队免受病毒感染,另一方面,如果得到命令,还要继续执行数十年来在全球巡逻和参战的使命。

  • Defense Department 国防部

  • nuclear-powered aircraft carrier核动力航母,以-powered为后缀表示“以......为动力的”,例如:kerosine-powered jet engine 煤油为动力的飞机引擎


The Navy is thus far refusing to completely evacuate an aircraft carrier where 93 service members have been confirmed to be infected with the coronavirus. Defense Secretary Mark T. Esper has put himself on the side of business as usual in maintaining readiness while also saying that force protection is a top priority. President Trump, for his part, threatened a familiar foe, tweeting on Wednesday that Iran would “pay a very heavy price” if its proxies attacked American troops or assets in Iraq. Other Defense Department officials continued to insist that the aircraft carrier, the Theodore Roosevelt, remain ready to carry out its missions.

到目前为止,海军拒绝彻底疏散一艘已经有93名服役人员证实感染冠状病毒的航母(截至周五,“罗斯福号”航母上约有114人被感染,舰长已被解职。——编注)。国防部长马克·T·埃斯珀(Mark T. Esper)站在了维持备战状态的一边,但同时还表示保护军队乃重中之重。至于特朗普总统则威胁了一个熟悉的敌人,他在周三发推称如果伊朗的代理人攻击美国在伊拉克的军队或资产,他们将“付出非常沉重的代价”。国防部的其他官员坚持认为罗斯福号航母仍然做好了执行任务的准备。


The commander of the Roosevelt, Capt. Brett E. Crozier, pointed out in a strongly worded letter that “we are not at war.” That statement raised questions from the Pacific to the Pentagon of what was so important about the aircraft carrier’s presence off the coast of Guam that the Defense Department could not evacuate the ship and do a deep cleaning, as suggested by Captain Crozier.

罗斯福号舰长布雷特·E·克罗齐尔(Brett E. Crozier)上校在一封措辞强硬的信中指出,“我们并不处于战争状态。”他的声明引发了从太平洋到五角大楼的质疑,这艘航母在关岛海岸的存在到底有什么重要之处,以至于国防部都无法像克罗齐尔所建议的那样,疏散航母,并对其进行深度清理。

  • strongly worded 措辞强硬的


“Militaries are made to move, but that runs counter to the imperative for everyone to stay in place,” said Derek Chollet, a former assistant secretary of defense. “Just as the Covid-19 threat becomes a priority, it does not mean that other threats disappear or enemies stand down.”

“军队是用来行动的,但这与每个人都必须待在原地的命令背道而驰,”前国防部助理部长德里克·乔莱特(Derek Chollet)说。“Covid-19的威胁成了优先问题,但这不意味着其他威胁会消失或敌人会撤退。”


“Without healthy sailors there is no mission readiness, so the health of the crew has to come first,” said James G. Stavridis, a retired admiral and former NATO commander. But, he added, the Navy cannot simply bring the carrier to port and send everyone off the ship: “It is full of weapons, billions of dollars of equipment, fire hazards and nuclear reactors.”

“没有健康的船员就不可能做好备战,所以船员的健康必须是第一位的,”退休海军上将和前北约指挥官詹姆斯·G·斯塔里蒂斯(James G. Stavridis)表示。但他补充说,海军不能简单地把航母开到港口,让所有人下船:“船上满载武器和价值数十亿美元的装备、存在许多火灾隐患和巨大的核反应堆。”


As of Wednesday, about 1,000 of the approximately 4,800 crew members had been taken off the Roosevelt, a number that was expected to more than double in the coming days.

截止周三,在约4800名船员中,约有1000人被调离罗斯福号,这个数字预计在未来几天将增加超过一倍。


Adm. Michael M. Gilday, the chief of naval operations, said on Wednesday that the Navy would have to maintain a core crew of about 1,000 to monitor the nuclear reactors, guard the warplanes and weapons and keep the ship running. But that could take the carrier out of action for weeks or even months.

海军作战部长迈克尔·M·吉尔代(Michael M. Gilday)上将在周三表示,海军将不得不保留近1000名核心船员,以监控核反应堆、看管战机和武器,并维持航母的运转。但这可能会使航母停航数周甚至数月时间。


“It won’t be resolved in the next couple of days,” Thomas B. Modly, the acting Navy secretary, told reporters on Wednesday alongside Admiral Gilday. “It will take some time.”

“这不是未来几天内能解决的问题,”周三,海军代理部长托马斯·B·莫德利(Thomas B. Modly)和吉尔代上将一起告诉记者。“这需要一些时间。”